Библиотека синтаксического анализатора PDF-файлов Python с открытым исходным кодом
Попробуйте эту бесплатную библиотеку Python с открытым исходным кодом для анализа, чтения и извлечения текста, изображений, таблиц и другого контента из PDF-документов.
Что такое PyMuPDF?
PyMuPDF, также известный как Fitz, представляет собой библиотеку Python с открытым исходным кодом, которая предоставляет полный набор инструментов для работы с файлами PDF. С помощью PyMuPDF пользователи могут эффективно выполнять такие задачи, как открытие PDF-файлов, извлечение текста, изображений и таблиц, управление свойствами страницы, такими как вращение и обрезка, создание новых PDF-документов и преобразование PDF-страниц в изображения.
PyMuPDF поддерживает несколько функций, перечисленных ниже:
- Чтение PDF-документов: PyMuPDF может открывать и читать PDF-документы, позволяя вам получать доступ к тексту, изображениям и другому содержимому в них.
- Извлечение текста. Вы можете извлекать текст из PDF-документов, включая текстовое содержимое, шрифты и информацию о макете.
- Извлечение изображений. Вы можете извлекать изображения из PDF-документов в различных форматах, таких как JPEG или PNG.
- Извлечение таблиц. Вы также можете извлекать таблицы из PDF-документов.
В этом обзоре основное внимание будет уделено функциям библиотеки по извлечению и синтаксическому анализу. Для более подробной оценки функций разделения, слияния и управления страницами нажмите здесь.
Начало работы с PyMuPDF
Для установки и использования PyMuPDF вам потребуется Python версии 3.8.0 или выше. Итак, сначала установите Python, а затем используйте приведенные ниже команды для установки PyMuPDF на свой компьютер с помощью pip и виртуальная среда.
Линукс
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Окна
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Извлечь текст из PDF
Вы можете использовать библиотеку PyMuPDF на Python для извлечения текста из PDF-документа и выполнения анализа текста, например подсчета слов, просто используя функции, представленные в библиотеке, как показано в коде ниже:
Выход
На изображении ниже показан извлеченный текст и количество слов в PDF-файле:
Извлечь изображения из PDF
Мы можем использовать библиотеку PyMuPDF для извлечения изображений из PDF-документа в Python. Ниже фрагмент кода открывает указанный PDF-файл, извлекает изображения из PDF-файла и сохраняет их в текущем рабочем каталоге:
Выход
Ниже приведено изображение PNG, извлеченное из PDF-документа.
Извлечь таблицы из PDF
Мы также можем использовать библиотеку PyMuPDF для обработки PDF-документа и извлечения из него таблиц. Ниже приведен фрагмент кода, который открывает указанный PDF-файл и извлекает таблицы из PDF-документа:
Выход
На снимке экрана ниже показана таблица, извлеченная из PDF-документа:
Вставить текст в PDF
Ниже фрагмент кода Python демонстрирует использование библиотеки PyMuPDF для вставки текста в файл PDF и сохранения измененного PDF-файла как text.pdf:
Выход
Текст, вставленный с использованием приведенного выше кода, выделяется в красном поле, приведенном ниже:
Распознавание текста PDF с использованием OCR с PyMuPDF
We will perform OCR on the PDF file containing the following image:Выход
На изображении ниже показан текст, извлеченный из изображения, присутствующего в предоставленном PDF-файле:
Заключение
Подводя итог, можно сказать, что PyMuPDF — профессиональный инструмент с некоторыми явными сильными и слабыми сторонами. Он отлично подходит для таких задач, как распознавание текста и извлечение текста, что делает его ценным для обработки текста в PDF-файлах.
Однако извлекать таблицы из PDF-файлов не очень удобно, особенно если PDF-файлы имеют сложную структуру или большое количество страниц, что может быть недостатком для некоторых пользователей. Кроме того, в определенных ситуациях могут потребоваться дополнительные библиотеки, такие как файлы языковых данных Pandas и Tesseract OCR, что усложняет их использование. Несмотря на эти ограничения, PyMuPDF остается надежным выбором для работы с текстом в PDF-файлах.