Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| info:ocr [2016/09/19 18:57] – [tesseract] radeff | info:ocr [2024/05/16 02:51] (Version actuelle) – radeff | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| utiliser tesseract (cf infra) | utiliser tesseract (cf infra) | ||
| ====== PDF > txt directement avec un script bash linux ====== | ====== PDF > txt directement avec un script bash linux ====== | ||
| + | requiert tesseract: | ||
| - | un grand merci à Frans de Jonge pour son excellent script: http:// | + | sudo apt-get install tesseract-ocr tesseract-ocr-fra |
| - | + | ||
| - | < | + | < |
| - | # | + | |
| - | # | + | |
| - | # Simplified implementation of http:// | + | |
| - | # mod Frans de Jong http:// | + | |
| - | # mod Fred Radeff, akademia.ch | + | |
| - | # usage: ocrpdftotext PutYourFilename.pdf | + | |
| - | # Might consider doing something with getopts here, see http:// | + | |
| - | DPI=300 | + | |
| - | # | + | |
| - | #adapt to french | + | |
| - | TESS_LANG=fra | + | |
| - | + | ||
| - | FILENAME=${@%.pdf} | + | |
| - | SCRIPT_NAME=`basename " | + | |
| - | TMP_DIR=${SCRIPT_NAME}-tmp | + | |
| - | OUTPUT_FILENAME=${FILENAME}-output@DPI${DPI} | + | |
| - | + | ||
| - | mkdir ${TMP_DIR} | + | |
| - | cp ${@} ${TMP_DIR} | + | |
| - | cd ${TMP_DIR} | + | |
| - | + | ||
| - | convert -density ${DPI} -depth 8 ${@} " | + | |
| - | tesseract " | + | |
| - | + | ||
| - | mv ${OUTPUT_FILENAME}.txt .. | + | |
| - | rm * | + | |
| - | cd .. | + | |
| - | rmdir ${TMP_DIR} | + | |
| - | </ | + | |
| - | + | ||
| - | absolument génial, de l' | + | |
| - | + | ||
| - | 2e version | + | |
| - | < | + | |
| # | # | ||
| # pdf_ocr2txt | # pdf_ocr2txt | ||
| Ligne 59: | Ligne 26: | ||
| | | ||
| + | < | ||
| + | echo " | ||
| + | echo " | ||
| + | ls *.pdf | ||
| + | read fichier | ||
| + | echo " | ||
| + | read npages | ||
| + | PAGES=$npages # set to the number of pages in the PDF | ||
| + | SOURCE=$fichier # set to the file name of the PDF | ||
| + | OUTPUT=$fichier.txt # set to the final output file | ||
| + | RESOLUTION=600 # set to the resolution the scanner used (the higher, the better) | ||
| - | http://code.google.com/ | + | # |
| - | marche nickel! | + | #touch $OUTPUT |
| + | for i in `seq 1 $PAGES`; do | ||
| + | convert -density $RESOLUTION -depth 8 $SOURCE\[$(($i - 1 ))\] page$i.png | ||
| + | ## tesseract page$i.tif >> $OUTPUT | ||
| + | tesseract page$i.png $OUTPUT$i -l fra | ||
| + | done</ | ||
| - | par contre pas en russe, je suis à la recherche... y'a visiblement du monde qui y bosse: | + | ==== Liens ==== |
| - | http://groups.google.com/group/tesseract-ocr-russian/ | + | * https:// |
| + | * http://www.tristancollins.me/computing/ocr-using-tesseract-on-multipage-pdfs/ | ||
| + | * https:// | ||
| - | http:// | + | marche nickel! |
| + | ===== GUI ===== | ||
| - | voir aussi: | + | Si on veut pas s' |
| + | sudo apt-get install gimagereader | ||
| - | http:// | + | {{:info: |
| + | si on veut du russe il faudra installer le dictionnaire | ||
| + | sudo apt install hunspell-ru | ||
| + | et bien sûr le dico français si vous ne l'avez pas déjà | ||
| + | sudo apt install hunspell-fr | ||
| - | ===== Old ===== | + | ===== Russe ===== |
| - | , ocrad et gocr tentent de rattraper le retard linuxien en matière d'OCR | + | * https:// |
| + | * https:// | ||
| - | apt-get install ocrad gocr | + | mv rus.traineddata / |
| - | Faut avouer que c'est moins performant que les produits windaube... | + | Ou encore plus simple |
| + | sudo apt-get install tesseract-ocr-rus | ||
| - | Un petit script | + | ==== exemple de script |
| - | + | < | |
| - | + | #!/usr/bin/bash | |
| - | ocr.sh | + | # ocr-ru: convert (optical character recognition) jpg russian voc to text/csv file |
| - | < | + | # usage: |
| - | #! /bin/bash | + | # copyleft radeff.red - use it at your own risk! |
| - | # ocr.sh | + | ladate=$(date +' |
| - | # Usage: | + | echo "ocr which russian image?" |
| - | # ocr.sh | + | ls *.jpg |
| - | # script bash pour convertir des fichiers images en *.pbm et les traiter ensuite automatiquement avec le | + | read i |
| - | # logiciel de reconnaissance optique de caractères | + | convert $i $i.png |
| - | # Required: convert, ocrad | + | tesseract $i.png $ladate -l rus |
| - | # FR, fradeff@akademia.ch, www.unige.ch | + | rm $i.png |
| - | # History | + | echo "conversion ok, edit " |
| - | ############ | + | #delete empty lines |
| - | # se placer dans le répertoire dans lequel on a stocké les pages scannées ou photographièes, | + | sed -i '/ |
| - | mkdir pbm #cree un rep de travail | + | #delete line with only spaces |
| - | find . -name " | + | sed -i '/^ *$/d' $ladate.txt |
| - | do | + | #delete end line with strange char from whatsapp |
| - | convert $i pbm/$i.pbm #les convertit dans un format accepte par ocrad via convert | + | sed -i '/ |
| - | done | + | mv $ladate.txt $ladate.csv |
| - | echo "Tous les fichiers images ont été convertis" | + | geany $ladate".csv"& |
| - | + | ||
| - | cd pbm #va dans le rep de travail | + | |
| - | find . | while read i | + | |
| - | do | + | |
| - | ocrad $i >> result.txt #fait l'OCR | + | |
| - | done | + | |
| - | + | ||
| - | echo "Voici le résultat:" | + | |
| - | more result.txt | + | |
| </ | </ | ||
| - | |||