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

Преобразование PDF файлов, не подлежащих поиску, в Python для поиска в Windows Python

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

Я использовал ABBY FineReader Online, который отлично справляется с работой, но я ищу решение, которое может быть достигнуто через Windows Python

Я провел подробный анализ и ниже ссылки, которые были близки к тому, что я хочу, но не совсем:

Отсканированное изображение /PDF для поиска изображения /PDF

Он говорит использовать сценарий Ghost, чтобы преобразовать его 1-го в изображение, а затем напрямую преобразовать в текст. Я не верю, что tesseract конвертирует не подлежащие поиску в PDF файлы, доступные для поиска.

Преобразование PDF с возможностью поиска в PDF без поиска

Вышеупомянутое решение помогает в обратном направлении, т.е. конвертирует поиск в неигровое. Также я думаю, что они действительны в Ubuntu/Linux/MacOS.

Может ли кто-нибудь помочь в описании того, что должен быть кодом Python для достижения возможности поиска без поиска в Windows Python?


ОБНОВЛЕНИЕ 1

У меня есть желаемый результат с Asprise Web Ocr. Ниже приведена ссылка и код:

https://asprise.com/royalty-free-library/python-ocr-api-overview.html

Я ищу решение, которое может быть выполнено через библиотеки Windows Python только как

  1. Не нужно оплачивать расходы на подписку в будущем
  2. Мне нужно ежедневно конвертировать тысячи документов, и будет громоздким загрузить его в API, а затем загрузить и так далее.

ОБНОВЛЕНИЕ 2

Я знаю решение преобразования PDF без поиска непосредственно в текст. Но я ищу их любой способ конвертировать не подлежащий поисковому запросу в PDF с возможностью поиска. У меня есть код для преобразования PDF в текст с помощью PyPDF2.

4b9b3361

Ответ 1

Ну, на самом деле вам не нужно преобразовывать все внутри pdf в текст. Текст останется текстовым, таблица останется таблицей, и, если возможно, изображение должно стать текстовым. Вам понадобится сценарий, который на самом деле читает pdf как есть, и начинает преобразование в блоки. Сценарий будет писать блоки текста до тех пор, пока документ не будет полностью прочитан, а затем преобразован в pdf. Что-то вроде

if line_is_text():
    write_the_line_as_is()
elif line_is_img():
    transform_img_in_text()# comments below code
...
..
.

Теперь transform_img_in_text() Я думаю, что это можно сделать со многими внешними библиотеками, которые вы можете использовать:

Tesseract OCR Python

Вы можете скачать этот lib через pip, инструкции, указанные в приведенной выше ссылке.

Ответ 2

Я использовал pypdfocr в прошлом, чтобы сделать это. Недавно он не обновлялся.

Из README:

pypdfocr filename.pdf
--> filename_ocr.pdf will be generated

Внимательно прочитайте инструкции по установке для Windows.

Более поздняя библиотека Python - OCRmyPDF: https://github.com/jbarlow83/OCRmyPDF. Имеется изображение Docker для Windows

Ответ 3

Если онлайн- решение ocr приемлемо для вас, бесплатный OCR API из OCR.space также может создавать файлы PDF с возможностью поиска и работать хорошо.

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

OCR.space также доступен как опция без подписки, но я не уверен в цене. Лично я использую бесплатный ocr api с хорошим успехом.

Ответ 4

Недавно я написал сообщение в блоге, где я это сделал, используя:

  • OCRmyPDF - обтекание библиотеки Python Tesseract
  • контейнер-докер, работающий в Azure

Возможно, вам придется подстроить все, чтобы удовлетворить ваши потребности, но я считаю, что строительные блоки в этом посте могут быть применены к вашим потребностям:

http://martyice.github.io/docker-in-azure/