Thư viện trình phân tích cú pháp PDF Python mã nguồn mở
Hãy dùng thử thư viện Python nguồn mở và miễn phí này để phân tích cú pháp, đọc và trích xuất văn bản, hình ảnh, bảng biểu và nội dung khác từ tài liệu PDF.
PyMuPDF là gì?
PyMuPDF, còn được gọi là Fitz, là một thư viện Python mã nguồn mở cung cấp một bộ công cụ toàn diện để làm việc với các tệp PDF. Với PyMuPDF, người dùng có thể thực hiện hiệu quả các tác vụ như mở tệp PDF, trích xuất văn bản, hình ảnh và bảng, thao tác các thuộc tính trang như xoay và cắt, tạo tài liệu PDF mới và chuyển đổi trang PDF thành hình ảnh.
PyMuPDF hỗ trợ một số tính năng được liệt kê bên dưới:
- Đọc tài liệu PDF: PyMuPDF có thể mở và đọc tài liệu PDF, cho phép bạn truy cập văn bản, hình ảnh và nội dung khác trong đó.
- Trích xuất văn bản: Bạn có thể trích xuất văn bản từ tài liệu PDF, bao gồm nội dung văn bản, phông chữ và thông tin bố cục.
- Trích xuất hình ảnh: Bạn có thể trích xuất hình ảnh từ tài liệu PDF ở nhiều định dạng khác nhau, chẳng hạn như JPEG hoặc PNG.
- Trích xuất bảng: Bạn cũng có thể trích xuất bảng từ tài liệu PDF.
Trong bài đánh giá này, trọng tâm chính của chúng tôi sẽ là các tính năng trích xuất và phân tích cú pháp của thư viện. Để đánh giá chuyên sâu về các tính năng chia tách, hợp nhất và quản lý trang, vui lòng nhấp vào đây.
Bắt đầu với PyMuPDF
Bạn cần Python phiên bản 3.8.0 trở lên để cài đặt và sử dụng PyMuPDF. Vì vậy, trước tiên hãy cài đặt Python, sau đó sử dụng các lệnh bên dưới để cài đặt PyMuPDF trên máy của bạn bằng cách sử dụng pip và môi trường ảo.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Hệ điều hành Mac
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
các cửa sổ
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Trích xuất văn bản từ PDF
Bạn có thể sử dụng thư viện PyMuPDF trong Python để trích xuất văn bản từ tài liệu PDF và thực hiện phân tích văn bản, chẳng hạn như đếm từ, chỉ bằng cách sử dụng các hàm được cung cấp trong thư viện, như minh họa trong mã bên dưới:
đầu ra
Hình ảnh bên dưới hiển thị văn bản được trích xuất và số từ trong tệp PDF:
Trích xuất hình ảnh từ PDF
Chúng ta có thể sử dụng thư viện PyMuPDF để trích xuất hình ảnh từ tài liệu PDF bằng Python. Đoạn mã bên dưới mở tệp PDF được chỉ định, trích xuất hình ảnh từ tệp PDF và lưu chúng vào thư mục làm việc hiện tại:
đầu ra
Sau đây là Hình ảnh PNG được trích xuất từ tài liệu PDF
Trích xuất bảng từ PDF
Chúng ta cũng có thể sử dụng thư viện PyMuPDF để xử lý tài liệu PDF và trích xuất các bảng từ đó. Kiểm tra đoạn mã bên dưới để mở tệp PDF được chỉ định và trích xuất các bảng từ tài liệu PDF:
đầu ra
Ảnh chụp màn hình bên dưới hiển thị bảng được trích xuất từ tài liệu PDF:
Chèn văn bản vào PDF
Đoạn mã Python bên dưới minh họa cách sử dụng thư viện PyMuPDF để chèn văn bản vào tệp PDF và lưu tệp PDF đã sửa đổi dưới dạng text.pdf:
đầu ra
Văn bản được chèn bằng mã trên được đánh dấu trong hộp màu đỏ bên dưới:
Nhận dạng văn bản PDF bằng OCR với PyMuPDF
We will perform OCR on the PDF file containing the following image:đầu ra
Hình ảnh bên dưới hiển thị văn bản được trích xuất từ hình ảnh có trong tệp PDF được cung cấp:
Phần kết luận
Tóm lại, PyMuPDF là một công cụ chuyên nghiệp có một số điểm mạnh và điểm yếu rõ ràng. Thật tuyệt vời cho các tác vụ như OCR và trích xuất văn bản, điều này giúp nó có giá trị trong việc xử lý văn bản trong tệp PDF.
Tuy nhiên, việc trích xuất bảng từ tệp PDF không hiệu quả lắm, đặc biệt khi tệp PDF có cấu trúc phức tạp hoặc số lượng trang nhiều hơn, điều này có thể là một hạn chế đối với một số người dùng. Ngoài ra, nó có thể yêu cầu các thư viện bổ sung như tệp dữ liệu ngôn ngữ Pandas và Tesseract OCR trong một số trường hợp nhất định, làm tăng thêm độ phức tạp cho việc sử dụng nó. Bất chấp những hạn chế này, PyMuPDF vẫn là một lựa chọn mạnh mẽ để làm việc với văn bản trong tệp PDF.