OCRing PDF-файлов со страницами, которые содержат текст и изображения - PullRequest
0 голосов
/ 08 июля 2019

У меня есть следующий скрипт Ubuntu, который проверяет, были ли мои файлы PDF распознаны, а затем распознает их, если они этого не делают.Проблема в том, что у меня есть несколько PDF-файлов, которые представляют собой смесь OCR и не OCR.Итак, я хотел добавить условие к оператору if, которое говорит, что число строк или количество слов меньше определенного числа (скажем, 100 строк текста или 1000 слов), чтобы распознать его.Я совершенно новичок в Ubuntu, и я добавил в несколько строк (жирным шрифтом).

MYFONTS=$(pdffonts -l 5 "$1" | tail -n +3 | cut -d' ' -f1 | sort | uniq)
**LINECOUNT=$(wc -l)**
if [ "$MYFONTS" = '' ] || [ "$MYFONTS" = '[none]' ] **|| [ "$LINECOUNT" < '100' ]**; then
echo "Not yet OCR'ed: $1 -------- Processing...."
echo " "
ocrmypdf -l eng -s "$1" "$1"
echo " "
else
echo "Already OCR'ed: $1"
echo " "
fi

Сценарий был получен здесь: Пакетное распознавание PDF, которые еще не были OCR«d

1 Ответ

0 голосов
/ 08 июля 2019

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

LINECOUNT=$(wc -l "$1" | awk '{ print $1 }') 
 if  [ "$LINECOUNT" -lt 500 ]; then  
 echo "Not yet OCR'ed: $1 -------- Processing...." 
echo " " 
ocrmypdf --force-ocr -k --oversample 600 "$1" "$1"
echo " "       
else     
echo "Already OCR'ed: $1"
echo " "          
fi 

Что в основном говорит, что файл имеет менее 500 строк для его растеризации и повторного создания. Не самое идеальное решение, но не похоже, что команда --skip-text будет работать для меня:

ocrmypdf - пропустить текст, чтобы пропустить OCR и другую обработку на любых страницах которые содержат текст. Текстовые страницы будут скопированы в выходной PDF без изменений.

https://ocrmypdf.readthedocs.io/en/latest/errors.html

Хотя, если у кого-то есть лучший ответ, я буду рад его услышать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...