Как стать автором
Обновить

Комментарии 10

А ваш подход работает, если PDF - это сканированная картинка, несколько страниц идет текст в портретной ориентации, а дальше идет огромная таблица в альбомной ориентации? Сейчас используем https://textract.readthedocs.io , на "обычных" пдфках он дает вполне приемлемые результаты (для сканированных пдф используем method = 'tesseract'), однако подобную таблицу он не осилил...

Я использую для ведения архива документации OCRmyPDF.

Вроде бы поддерживает распознавание разной ориентации страниц...

У него назначение немного другое - он не вытаскивает текст непосредственно, а распознает его и добавляет в пдф текстовый слой, чтобы можно было выделять и копировать текст. Но к сожалению на данном документе он тоже не помог, в текстовом слое начиная с 7 страницы, где эта таблица, бессмысленный набор букв...

Если предварительно попросить повернуть страницы в соответствии с ориентацией текста

FOR /r %F IN (*.pdf) DO ocrmypdf -l eng+rus --rotate-pages --skip-text --optimize 1 --output-type pdf "%F" "%~fF"

то все с ним нормально

Не пробовали обнаруживать ориентацию страницы и поворачивать её если надо?

А справится ли скрипт с двуколоночным пдф? Сможет ли выделит текст отдельно для каждой колонки?

Опробовал код. С двухколоночными pdf-ками справляется, но парсит колонки справа налево почему-то

Для пользователей Windows - надо еще Poppler поставить.

Нубский вопрос - Tesseract'у можно приоритет русского поднять?

А то

Onnata ToBapa NpovsB0guTCA & TeYeHie Cpoka, yKasaHHOTO B AOTOBOpe, NO YeHaM, BICTABNeHHEIM Ha ZaTy OTTPysKH

как-то не очень выглядит...

В функции - image_to_text можно добавить необходимый язык:

text = pytesseract.image_to_string(img, lang='rus')

для этого необходимо поставить пакет с русским языком, для Debian/Ubuntu это:

apt-cache search tesseract-ocr
sudo apt install tesseract-ocr-rus

Зарегистрируйтесь на Хабре, чтобы оставить комментарий