Инструмент для поиска текстового сообщения в PDF-файле

Вопрос или проблема

Цель:
Отправить PDF-файл и текстовое сообщение. Найти, существует ли текстовое сообщение в PDF-файле.

Текстовое сообщение – это изображение в PDF-файле.

Проблема:

  • Какой инструмент нужно использовать для этого?
  • Неважно, платный это сервис или нет.
  • Неважно, является ли он с открытым исходным кодом или нет.

Информация:

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

Никакой необходимости в машинном обучении, если PDF-файл не является отсканированным или нарисованным документом.

Если вы установите библиотеку Python pdfminer six, вы можете просто пропустить PDF через инструмент, чтобы преобразовать его в текст, а затем искать в тексте фразу. Обратите внимание, что отсканированные/рисованные документы могут не содержать текст или иметь искаженный текст без использования OCR (оптического распознавания символов).

Если вы хотите извлечь текст из PDF с пиксельной графикой, вы можете:

  1. извлечь PNG/JPG с помощью командного инструмента, такого как pdfimages:

    Pdfimages сохраняет изображения из файла формата Portable Document Format (PDF)
    как Portable Pixmap (PPM), Portable Bitmap (PBM), 
    Portable Network Graphics (PNG), Tagged Image File Format (TIFF), 
    JPEG, JPEG2000 или JBIG2 файлы.
    
  2. Выполнить онлайн-распознавание символов (OCR) на изображениях

Здесь обсуждался ряд инструментов, которые могут делать и то, и другое: Бесплатное OCR программное обеспечение, которое делает PDF searchable (с searchable text на нужном месте) (11 ответов)

Еще одна возможность – автоматически загружать изображения в облачный сервис, который извлекает текст (и даже определяет шрифты и собирает все типы другой метаданных), такой как Google Document AI – но будьте осторожны, эти предложения постоянно меняются (названия, цены, возможности).

Ответ или решение

Инструменты для поиска текстового сообщения в PDF-файле

Цель:

Изучение, как проверить, содержится ли текстовое сообщение в PDF-файле, особенно если текст представляется в виде изображения.

Задача:

Пользователь должен иметь возможность отправить PDF-файл и текстовое сообщение. Инструмент должен сообщить, есть ли совпадение, и предоставить результаты.

Подход к решению проблемы:

  1. Определение формата PDF:

    • Если PDF-файл содержит текстовые строки, которые не были отсканированы или не представлены в виде изображений, для его обработки можно использовать библиотеки, такие как pdfminer.six. Эта библиотека позволяет извлекать текст из PDF и искать в нем нужное сообщение.
    • Если PDF содержит изображения (например, если текст представляется в виде картинки), необходимо применять методы оптического распознавания символов (OCR).
  2. Необходимые инструменты:

    • Для извлечения текста из PDF:

      • pdfminer.six: Это библиотека Python, которая позволяет извлекать текст из PDF-документов. Установка осуществляется с помощью команды:
        pip install pdfminer.six
      • Пример использования:
        
        from pdfminer.high_level import extract_text

      def pdf_to_text(file_path):
      return extract_text(file_path)

      
      - После извлечения текста, вы можете использовать обычные функции поиска Python для нахождения текстового сообщения в полученном тексте.
    • Для обработки изображений:

      • pdfimages: Это инструмент командной строки, который извлекает изображения из PDF-файла. Ваша команда может выглядеть так:
        pdfimages -png yourfile.pdf image_prefix

        Это создаст PNG-файлы с извлеченными изображениями.

    • Оптическое распознавание символов (OCR):

      • Для преобразования извлеченных изображений в текст используйте такие инструменты, как:
      • Tesseract OCR: Это бесплатный инструмент с открытым исходным кодом, который поддерживает множество языков. Он требует установки и может быть вызван с помощью командной строки.
        tesseract image.png output.txt

        После обработки изображение будет преобразовано в текст.

  3. Онлайн-услуги для обработки:

    • Google Document AI: Это мощная облачная служба для извлечения текста и другой информации из изображений и документов. Она автоматически извлекает текст и может предоставить дополнительные метаданные. Однако имейте в виду, что сервисы облачных решений могут быть платными и изменяться со временем.

Заключение:

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

Оцените материал
Добавить комментарий

Капча загружается...