Библиотека Python PDF Parser с открытым исходным кодом
Попробуйте эту бесплатную библиотеку Python с открытым исходным кодом для анализа, чтения и извлечения текста, изображений, таблиц и другого контента из PDF-документов.
Что такое PyMuPDF?
PyMuPDF, также известный как Fitz, — это библиотека Python с открытым исходным кодом, которая предоставляет полный набор инструментов для работы с файлами PDF. С PyMuPDF пользователи могут эффективно выполнять такие задачи, как открытие файлов PDF, извлечение текста, изображений и таблиц, управление свойствами страниц, такими как поворот и обрезка, создание новых документов PDF и преобразование страниц PDF в изображения.
PyMuPDF поддерживает несколько функций, перечисленных ниже:
- Чтение PDF-документов: PyMuPDF может открывать и читать PDF-документы, предоставляя вам доступ к тексту, изображениям и другому содержимому в них.
- Извлечение текста: Вы можете извлекать текст из PDF-документов, включая текстовое содержимое, шрифты и информацию о макете.
- Извлечение изображений: Вы можете извлекать изображения из PDF-документов в различных форматах, таких как JPEG или PNG.
- Извлечение таблиц: Вы также можете извлекать таблицы из PDF-документов.
В этом обзоре мы в первую очередь сосредоточимся на функциях извлечения и анализа библиотеки. Для углубленной оценки функций разделения, слияния и управления страницами, пожалуйста, нажмите здесь.
Начало работы с PyMuPDF
Вам понадобится Python версии 3.8.0 или выше для установки и использования PyMuPDF. Поэтому сначала установите 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 — это профессиональный инструмент с некоторыми явными сильными и слабыми сторонами. Он отлично подходит для таких задач, как OCR и извлечение текста, что делает его ценным для обработки текста в PDF-файлах.
Однако он не так хорош в извлечении таблиц из PDF-файлов, особенно когда PDF-файлы имеют сложную структуру или большее количество страниц, что может быть недостатком для некоторых пользователей. Кроме того, в определенных ситуациях ему могут потребоваться дополнительные библиотеки, такие как файлы данных языка OCR Pandas и Tesseract, что усложняет его использование. Несмотря на эти ограничения, PyMuPDF остается надежным выбором для работы с текстом в PDF-файлах.