Thư viện phân tích cú pháp PDF Python nguồn mở
Hãy thử thư viện Python mã nguồn mở miễn phí này để phân tích, đọc và trích xuất văn bản, hình ảnh, bảng 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 các trang PDF thành hình ảnh.
PyMuPDF hỗ trợ một số tính năng được liệt kê dưới đây:
- Đọ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ào 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á sâu hơn 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 rồi 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 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 MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
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 số từ, chỉ bằng cách sử dụng các hàm được cung cấp trong thư viện, như được hiển thị trong mã bên dưới:
Đầu ra
Hình ảnh bên dưới hiển thị văn bản đã trích xuất và số lượng 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 trong Python. Đoạn mã dưới đây mở tệp PDF đã chỉ định, trích xuất hình ảnh từ 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 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 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 với một số điểm mạnh và điểm yếu rõ ràng. Nó tuyệt vời cho các tác vụ như OCR và trích xuất văn bản, khiến nó trở nên có giá trị khi xử lý văn bản trong PDF.
Tuy nhiên, nó không tốt lắm trong việc trích xuất bảng từ PDF, đặc biệt là khi PDF có cấu trúc phức tạp hoặc nhiều trang hơn, điều này có thể là một nhược điểm đố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ư Pandas và tệp dữ liệu ngôn ngữ Tesseract OCR trong một số trường hợp, làm tăng thêm tính phức tạp cho việc sử dụng. 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 PDF.