web-dev-qa-db-fra.com

Ajout d'informations OCR à un PDF

Je numérise un document de bonne qualité. cette analyse est au format pdf.

Comment puis-je ajouter des informations ocr au pdf, afin qu'elles deviennent consultables? Par recherche, je veux dire que le but est que, lorsque vous visualisez le pdf avec evince, CTRL-F me permet en fait de rechercher dans le contenu pdf.

27
fdierre

pdfsandwich

Fait ce que vous voulez et fournit des paquets deb Ubuntu. Il utilise tesseract comme moteur OCR. L'appel suivant ajoute le calque de texte à votre fichier PDF numérisé:

pdfsandwich scanned.pdf

Ce qui suit fait la même chose mais avec une autre langue (code ISO 639-2, package tesseract-ocr-LANGCODE à télécharger) et en définissant la présentation:

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

Si vous avez une erreur, veuillez téléchargez la dernière version deb de Sourceforge .

Disclaimer: Je suis le développeur de pdfsandwich et je suis donc évidemment biaisé.

20
Tobias Elze

Deux projets font l'affaire: GScan2PDF et OCRFeeder

8
Aldi

J'ai trouvé une solution non idéale mais très efficace.

J'utilise PDF X-Change Viewer via Wine. Il possède une fonctionnalité OCR qui ajoute un calque de texte au pdf existant basé sur une image.

Ainsi, vous pouvez rechercher et copier du texte à partir de cette couche invisible.

enter image description here

4
To Do

OCRmyPDF est une solution qui est facilement implémentable et fournit un fichier PDF de sortie avec la même qualité de fichier d’entrée plus une taille raisonnable.

https://github.com/jbarlow83/OCRmyPDF

2
user127022

Pour une solution en ligne de commande, vous pouvez utiliser pdfocr .

En bref, installez le logiciel:

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

Ensuite, lancez pdfocr:

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

Cela a fonctionné pour moi sur Ubuntu 12.04 LTS.

2
Robert Citek

Ceci est ma solution rapide et incorrecte basée sur les noms convert, tesseract, parallel et pdftk d'ImageMagick (tous disponibles sur les distributions basées sur Debian). C'est largement basé sur cet article de blog .

#!/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
stefanct

Pour tout le répertoire contenant des fichiers ppm, vous pouvez utiliser ce script 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
PetaT