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

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

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

2 Solutions collect form web for “Расширенный анализ PDF с использованием Python (извлечение текста без таблиц и т. Д.): Какая лучшая библиотека?”

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

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

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

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

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

  • Django / django-easy-pdf: объект «NoneType» не имеет атрибута «encode»
  • Как разблокировать «защищенный» (защищенный от чтения) PDF-файл в Python?
  • Обнаружение отложений в формате PDF
  • python: pdf - установить пароль для печати, копирования, вставки параметров?
  • Django TemplateSyntaxError: ошибка при создании шаблона
  • Преобразование Word doc в PDF - Python
  • Извлечение всех данных PDF с помощью python pdfminer
  • Тихая печать PDF в Python
  • pyPdf не удалось извлечь текст с некоторых страниц в моем PDF-файле
  • Как читать содержимое файлов txt в разных каталогах и переименовывать другие файлы в соответствии с
  • просмотрщик pdf для приложения pyqt4?
  •  
    Interesting Posts for Van-Lav

    Оптимизация SqlAlchemy для объектных моделей только для чтения

    API RESTful и Google Analytics

    Разница между «обратной линией» и «обратной линией»

    Как эффективно анализировать электронные письма, не касаясь вложений с помощью Python

    Что такое хорошая эвристика, чтобы определить, является ли столбец в pandas.DataFrame категоричным?

    В python есть что-то вроде обновленного, чтобы обновить сортировку?

    Python конвертирует Tuple в Integer

    Есть ли разница между использованием литерала dict и конструктора dict?

    Использование представления __str__ для печати объектов в контейнерах в Python

    Python PIL Изображение в автоматическом изменении метки

    PySide: Segfault (?) При использовании QItemSelectionModel с QListView

    Как сравнить даты с данными Twitter, хранящимися в MongoDB через PyMongo?

    Pandas читает csv как строковый тип

    Как сгладить список кортежей в список pythonic

    Прочитайте строку из файла, обработайте ее, затем удалите ее

    Python - лучший язык программирования в мире.