Добавление информации OCR в PDF

У меня хорошее качество сканирования документа; такое сканирование в формате PDF.

Как я могу добавить информацию ocr в pdf, чтобы она стала доступной для поиска? Под поиском я подразумеваю, что целью является то, что при просмотре PDF с evince, CTRL-F фактически позволяет мне искать в содержимом PDF.

28
задан 7 June 2012 в 14:19

7 ответов

pdfsandwich

Делает то, что вы хотите, и предоставляет пакеты deb для Ubuntu. Он использует tesseract в качестве движка OCR. Следующий вызов добавляет текстовый слой к вашему отсканированному PDF:

pdfsandwich scanned.pdf

Следующий делает то же самое, но с другим языком (код ISO 639-2, скачать пакет tesseract-ocr-LANGCODE) и настройкой макета:

pdfsandwich  -verbose -lang spa -layout single scanned.pdf

Если вы получили какую-либо ошибку, пожалуйста, загрузите последнюю версию deb с Sourceforge .

Отказ от ответственности: Я разработчик pdfsandwich и поэтому, очевидно, предвзятый.

0
ответ дан 7 June 2012 в 14:19

Есть два проекта, которые делают свое дело: GScan2PDF и OCRFeeder

0
ответ дан 7 June 2012 в 14:19

Решение, которое легко реализуемо и обеспечивает выходной pdf с тем же качеством входного файла и приемлемым размером, - OCRmyPDF:

https://github.com/jbarlow83/OCRmyPDF [ 112]

0
ответ дан 7 June 2012 в 14:19

Это моё быстрое и грязное решение, основанное на convert, tesseract, parallel и pdftk ImageMagick (все они доступны в дистрибутивах на основе Debian). Это в значительной степени основано на этом сообщении в блоге .

#!/bin/sh -ex

density=${2:-"300"} # default to 300 DPI if 2nd parameter is not given

convert -monitor -density "$density" "$1" -monochrome -compress lzw -alpha deactivate page_%05d.tif
parallel --bar "tesseract {} {.} pdf 2>/dev/null" ::: page_*.tif
pdftk page_*.pdf cat output "${1%.*}-ocred.pdf" compress

# Cleanup temp files
rm page_?????.tif page_?????.pdf
0
ответ дан 7 June 2012 в 14:19

Я нашел неидеальное решение, но очень эффективное.

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

Таким образом, вы можете искать и копировать текст из этого невидимого слоя.

enter image description here

0
ответ дан 7 June 2012 в 14:19

Для решения командной строки вы можете использовать pdfocr .

Вкратце, установите программное обеспечение:

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:gezakovacs/pdfocr
$ sudo apt-get update
$ sudo apt-get install pdfocr

Затем запустите pdfocr:

$ pdfocr -i scanned.pdf -o scanned.with.search.pdf

, который работал для меня на Ubuntu 12.04 LTS.

0
ответ дан 7 June 2012 в 14:19

Для всего каталога с файлами ppm вы можете использовать этот скрипт ppm2ocrpdf.sh

#!/bin/sh

mkdir .pdf
for f in *.ppm; do
    echo " Running convert -compress JPEG -quality 88 "$f" -page a4 "$f"ppm.pdf"
    convert -compress JPEG -quality 88 "$f" -page a4 "$f"ppm.pdf
    echo " Running tesseract -l deu "$f" "$f" pdf"
    tesseract -l deu "$f" "$f" pdf
    echo " Running pdftk "$f".pdf cat output ./.pdf/"$f"ocr.pdf"
    pdftk "$f".pdf cat output ./.pdf/"$f"ocr.pdf
    echo " Running rm "$f"ppm.pdf"
    rm "$f"ppm.pdf
    echo " Running rm "$f".pdf"
    rm "$f".pdf
done
echo " Running pdftk *.pdf cat output ../outdocument.pdf"
pdftk ./.pdf/*.pdf cat output outOcrDocument.pdf
echo " Running rm ./.pdf/*.pdf"
rm ./.pdf/*.pdf
echo " Running rmdir .pdf"
rmdir .pdf
echo "Done"
0
ответ дан 7 June 2012 в 14:19

Другие вопросы по тегам:

Похожие вопросы: