Расширенный анализ PDF с использованием Python (извлечение текста без таблиц и т.д.): Какая лучшая библиотека?

Я ищу библиотеку PDF, которая позволит мне извлечь текст из PDF-документа. Я посмотрел на PyPDF, и это может извлечь текст из документа PDF очень красиво. Проблема заключается в том, что если в документе есть таблицы, текст в таблицах извлекается в соответствии с остальной частью текста документа. Это может быть проблематично, потому что он создает разделы текста, которые не являются полезными и выглядят искаженными (например, множество чисел, вырванных вместе).

Я ищу что-то более продвинутое. Я хотел бы извлечь текст из PDF-документа, исключая любые таблицы и специальное форматирование. Есть ли там библиотека, которая делает это? Или я вынужден сделать некоторую пост-обработку выходного текста, чтобы избавиться от этих разделов?

Ответ 1

Вы также можете взглянуть на PDFMiner, другой анализатор PDF в Python.

Особенность PDFMiner в том, что вы можете контролировать, как он группирует текстовые части при их извлечении. Вы делаете это, определяя пространство между строками, словами, символами и т.д. Итак, возможно, изменяя это, вы можете достичь того, чего хотите (это зависит от изменчивости ваших документов). PDFMiner также может дать вам расположение текста на странице, он может извлекать данные по идентификатору объекта и другие вещи. Так что копайтесь в PDFMiner и будьте креативны!

Но ваша проблема на самом деле нелегко решить, потому что в PDF текст не является непрерывным, а состоит из множества небольших групп символов, расположенных абсолютно на странице. Основная задача PDF - сохранить макет без изменений. Он не ориентирован на контент, а ориентирован на презентацию.

Ответ 2

Чтобы решить сложную задачу, поскольку визуально похожие PDF файлы могут иметь совершенно различную структуру в зависимости от того, как они были созданы. В худшем случае библиотека должна будет действовать в основном как OCR. С другой стороны, PDF может содержать достаточную структуру и метаданные для простого удаления таблиц и цифр, которые библиотека может быть адаптирована для использования.

Я уверен, что нет инструментов с открытым исходным кодом, которые решают вашу проблему для самых разных PDF файлов, но я помню, что слышал о коммерческом программном обеспечении, требующем делать то, что вы просите. Я уверен, что вы столкнетесь с ними во время поиска в Интернете.