Python là một trong những ngôn ngữ lập trình được ưa thích nhất trên thế giới ngày nay. Chúng tôi có thể sử dụng nó để phân tích dữ liệu, nhưng dữ liệu không phải lúc nào cũng có sẵn ở định dạng bắt buộc. Trong những trường hợp như vậy, chúng ta có thể chuyển đổi định dạng của file từ pdf, jpg sang văn bản [. txt] để phân tích dữ liệu theo cách tốt hơn. Có nhiều thư viện có sẵn để thực hiện các nhiệm vụ như vậy
Chúng ta có thể sử dụng mô-đun PyPDF2 của Python để thực hiện nhiệm vụ chuyển đổi. tập tin pdf thành định dạng văn bản. Nhược điểm chính mà chúng ta có thể gặp phải khi sử dụng mô-đun này là sơ đồ mã hóa. Các tệp tài liệu PDF có thể chứa nhiều loại bảng mã như Unicode, ASCII, UTF-8, v.v. Do đó, chuyển đổi tệp PDF thành văn bản có thể dẫn đến mất dữ liệu do lược đồ mã hóa
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách đọc nội dung của tệp PDF và lưu trữ dưới dạng văn bản [. txt] bằng phương pháp "Nhận dạng ký tự quang học"
Đầu tiên, chúng ta phải chuyển các trang của tệp tài liệu PDF thành hình ảnh, sau đó, chúng ta sẽ sử dụng OCR để đọc nội dung từ hình ảnh và lưu trữ vào văn bản [. txt] định dạng tập tin
Mô-đun bắt buộc
Chúng ta phải cài đặt các mô-đun sau bằng lệnh đã cho cho hướng dẫn này
[đối với điều này, người dùng nên có Microsoft Visual C++ 14. 0, Nhận nó với "Công cụ xây dựng cho Visual Studio". https. //Visual Studio. Microsoft. com/tải xuống/]
Phần 1
Phần đầu tiên sẽ xử lý việc chuyển đổi các trang PDF của tôi thành tệp hình ảnh. Mỗi trang của tệp PDF sẽ được lưu dưới dạng tệp hình ảnh và tên của hình ảnh sẽ được lưu dưới dạng
Phần 2
Phần thứ hai sẽ xử lý việc nhận dạng văn bản từ các tệp hình ảnh khi sắp xếp nó vào tệp văn bản trong ". txt" định dạng. Tại đây, chúng tôi sẽ xử lý các tệp hình ảnh để chuyển đổi chúng thành nội dung văn bản. Khi chúng ta có văn bản dưới dạng biến chuỗi, chúng ta có thể bắt đầu xử lý văn bản [. txt] tập tin. Chẳng hạn, trong nhiều tệp PFD, chúng ta có thể thấy rằng khi một dòng hoàn thành, nhưng từ cuối cùng không thể được viết hoàn toàn trong cùng một dòng, khi đó, dấu gạch nối sẽ được thêm vào cuối và từ đó được tiếp tục ở dòng tiếp theo. Ví dụ
Đối với những từ như vậy, chúng tôi sẽ thực hiện tiền xử lý cơ bản để chuyển đổi dấu gạch ngang và dòng sau thành một từ đầy đủ. Khi chúng tôi hoàn tất quá trình tiền xử lý, văn bản này sẽ được sắp xếp trong một tệp văn bản riêng
Mã số
đầu ra
Nhập tệp PDF
Xuất tệp văn bản
Như chúng ta có thể thấy, các trang của tệp PDF được chuyển đổi thành hình ảnh như thế nào. Sau đó, những hình ảnh đó đã được đọc và nội dung của chúng được ghi vào một tệp văn bản
PDF là một cách phổ biến để chia sẻ văn bản. PDF là viết tắt của Định dạng Tài liệu Di động và sử dụng. phần mở rộng tệp pdf. Nó được tạo ra vào đầu những năm 1990 bởi Adobe Systems
Đọc tài liệu PDF bằng python có thể giúp bạn tự động hóa nhiều tác vụ
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách trích xuất văn bản từ tệp PDF bằng Python
Bắt đầu nào
Đọc và trích xuất văn bản từ tệp PDF bằng Python
Với mục đích của hướng dẫn này, chúng tôi đang tạo một tệp PDF mẫu có 2 trang. Bạn có thể làm như vậy bằng bất kỳ trình xử lý Word nào như Microsoft Word hoặc Google Docs và lưu tệp dưới dạng PDF
Văn bản trên trang 1
Hello World. This is a sample PDF with 2 pages. This is the first page.
Văn bản ở trang 2
This is the text on Page 2.
Sử dụng PyPDF2 để trích xuất văn bản PDF
Bạn có thể sử dụng PyPDF2 để trích xuất văn bản từ PDF. Hãy xem nó hoạt động như thế nào
1. Cài đặt gói
Để cài đặt PyPDF2 trên hệ thống của bạn, hãy nhập lệnh sau trên thiết bị đầu cuối của bạn. Bạn có thể đọc thêm về trình quản lý gói pip
pip install pypdf2
2. Nhập PyPDF2
Mở sổ ghi chép python mới và bắt đầu nhập PyPDF2
import PyPDF2
3. Mở PDF ở chế độ đọc-nhị phân
Bắt đầu với việc mở tệp PDF ở chế độ đọc nhị phân bằng dòng mã sau
pdf = open['sample_pdf.pdf', 'rb']
Thao tác này sẽ tạo một đối tượng PdfFileReader cho tệp PDF của chúng ta và lưu nó vào biến 'pdf'
4. Sử dụng PyPDF2. PdfFileReader[] để đọc văn bản
Bây giờ bạn có thể sử dụng phương thức PdfFileReader[] từ PyPDF2 để đọc tệp
pdfReader = PyPDF2.PdfFileReader[pdf]
Để lấy văn bản từ trang đầu tiên của PDF, hãy sử dụng các dòng mã sau
page_one = pdfReader.getPage[0] print[page_one.extractText[]]
Chúng tôi nhận được đầu ra như
Hello World. !This is a sample PDF with 2 pages. !This is the first page. ! Process finished with exit code 0
Ở đây chúng tôi đã sử dụng phương thức getPage để lưu trữ trang dưới dạng một đối tượng. Sau đó, chúng tôi đã sử dụng phương thức extractText[] để lấy văn bản từ đối tượng trang
Văn bản chúng tôi nhận được có kiểu String
Tương tự để lấy trang thứ hai từ việc sử dụng PDF
________số 8
Chúng tôi nhận được đầu ra như
This is the text on Page 2.
Mã hoàn chỉnh để đọc văn bản PDF bằng PyPDF2
Mã hoàn chỉnh từ phần này được đưa ra dưới đây
This is the text on Page 2.0
Nếu bạn để ý, định dạng của trang đầu tiên hơi sai ở đầu ra ở trên. Điều này là do PyPDF2 không hiệu quả lắm khi đọc các tệp PDF
May mắn thay, Python có giải pháp thay thế tốt hơn cho PyPDF2. Chúng ta sẽ xem xét điều đó tiếp theo
Sử dụng PDFplumber để trích xuất văn bản
PDFplumber là một công cụ khác có thể trích xuất văn bản từ PDF. Nó mạnh hơn so với PyPDF2
1. Cài đặt gói
Hãy bắt đầu cài đặt PDFplumber
This is the text on Page 2.1
2. Nhập pdfplumber
Bắt đầu với việc nhập PDFplumber bằng dòng mã sau
This is the text on Page 2.2
3. Sử dụng PDFplumber để đọc pdf
Bạn có thể bắt đầu đọc các tệp PDF bằng PDFplumber với đoạn mã sau
This is the text on Page 2.3
Điều này sẽ nhận được văn bản từ trang đầu tiên của PDF của chúng tôi. Đầu ra đến như
This is the text on Page 2.4
Bạn có thể so sánh điều này với đầu ra của PyPDF2 và xem PDFplumber tốt hơn như thế nào khi định dạng
PDFplumber cũng cung cấp các tùy chọn để lấy thông tin khác từ PDF
Ví dụ: bạn có thể sử dụng. page_number để lấy số trang
This is the text on Page 2.5
đầu ra
This is the text on Page 2.6
Để tìm hiểu thêm về các phương pháp trong PDFPlumber, hãy tham khảo tài liệu chính thức của nó
Phần kết luận
Hướng dẫn này là về đọc văn bản từ PDF. Chúng tôi đã xem xét hai công cụ khác nhau và xem công cụ này tốt hơn công cụ kia như thế nào
Bây giờ bạn đã biết cách đọc văn bản từ PDF, bạn nên đọc hướng dẫn của chúng tôi về mã thông báo để bắt đầu với Xử lý ngôn ngữ tự nhiên