Конвертация pdf сканов в txt на русском

Пытаюсь извлечь текст из pdf документов со сканера(изображения внутри). Для этого использую pdftotext python. Программа пытается записать русский текст английскими буквами. Также пытался использовать агрументыpdftotext -enc UTF-8 file.pdf далее пытался это сделать с помощью утилиты poppler-utils https://pypi.org/project/poppler-utils/ результат тот же. Устновил farm-haystack https://github.com/deepset-ai/haystack,код из туториала возвращает ошибку No module named 'haystack.indexing. Есть варианты как это можно сделать?


Ответы (2 шт):

Автор решения: Violet

Кажется, нет поддержки textract в Windows, но если вы ищете простое решение для windows / python 3, проверьте пакет tika, действительно прямолинейный для чтения PDF-файлов.

Tika-Python - это привязка Python к службам Apache Tika ™ REST, позволяющая непосредственно вызывать Tika в сообществе Python.

from tika import parser # pip install tika

raw = parser.from_file('sample.pdf')
print(raw['content'])

Обратите внимание, что Tika написана на Java, поэтому потребуется установленная среда выполнения Java.

пример textract:

import textract
text = textract.process("path/to/file.extension")

pymupdf:

import fitz  # this is pymupdf

with fitz.open("my.pdf") as doc:
    text = ""
    for page in doc:
        text += page.getText()

print(text)
→ Ссылка
Автор решения: Alexandr

В конечном итоге лучшим решением оказалось установить Adobe Acrobat Reader, конвертирует намного медленнее модулей python, но конвертирует картинку в текст отлично. Дополнительный плюс в том, что удобен для конвертации большого количества файлов.

→ Ссылка