Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
35 lines (28 sloc) 1.42 KB
# Script utilisé pour intégréer l'OCR à un fichier PDF qui en est dépourvu.
# Les paramètres à passer sont :
# - nom du fichier PDF à traiter
# - langue dans laquelle est rédigé le texte (sous le format reconnu par tesseract. Voir tesseract --list-langs pour la liste installée)
# - un dernier paramètre qui prend la valeur 1 si les images doivent être retournées de 90°
filename=$1
filenamebase=$(basename -- "$filename")
filenamebase="${filenamebase%.*}"
lang=$2
rotate=$3
echo "FILENAME : "$filename
echo "FILENAME BASE : "$filenamebase
echo "LANG : "$lang
# 1. Génération des PNG
if [ $rotate == 1 ]
then
echo "Génération des PNG (rotation)"
gs -q -dSAFER -dBATCH -dNOPAUSE -r300 -sDEVICE=pnggray -dTextAlphaBits=4 -sOutputFile=src_png/$filenamebase/img_%0.4d.png -c "<</Orientation 3>> setpagedevice" -f src_pdf/$filename
else
echo "Génération des PNG (pas de rotation)"
gs -q -dSAFER -dBATCH -dNOPAUSE -r300 -sDEVICE=pnggray -dTextAlphaBits=4 -sOutputFile=src_png/$filenamebase/img_%0.4d.png -f src_pdf/$filename
fi
# 2. Génération de la liste de fichiers
ls src_png/$filenamebase/*png > src_png/$filenamebase/liste.txt
# 3. Application de tesseract
tesseract -l $lang src_png/$filenamebase/liste.txt output/$filenamebase pdf
# 4. Réduction de la taille du fichier
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dBATCH -sOutputFile=output_small/$filename -f "output/$filename"