Конвертация 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 шт):
Кажется, нет поддержки 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")
import fitz # this is pymupdf
with fitz.open("my.pdf") as doc:
text = ""
for page in doc:
text += page.getText()
print(text)
В конечном итоге лучшим решением оказалось установить Adobe Acrobat Reader, конвертирует намного медленнее модулей python, но конвертирует картинку в текст отлично. Дополнительный плюс в том, что удобен для конвертации большого количества файлов.