Ceci est une ancienne révision du document !
xsane2tess : un adaptateur tesseract pour Xsane
xsane2tess est un adaptateur (wrapper) permettant d'utiliser le moteur de reconnaissance optique de caractères tesseract avec l'interface graphique XSane. xsane2tess, inspiré de ocube, a été proposé par MadMax sur le forum MandrivaUser.de.
Pré-requis
Pour utiliser xsane2tess, il faut installer tesseract avec les modules de langue que l'on souhaite pouvoir utiliser.
Il est nécessaire d'installer les paquets xsane et imagemagick.
Installation
On peut utiliser au choix l'une ou l'autre méthode ci-dessous : installer avec le paquet deb, ce qui est plus simple et plus rapide, ou bien installer soi-même le script "à la main", si on veut comprendre davantage le fonctionnement.
Avec le paquet deb de Guadalinex
1°) Télécharger et installer le paquet deb de Guadalinex, adapté aussi bien pour les architectures 32 bits que pour les 64 bits (i386 et amd64). Ce paquet a été testé sous Ubuntu Edgy et Gutsy.
2°) Créer un dossier tmp dans /home/votre_identité.
- xsane2tess aura besoin de ce dossier pour placer son fichier de log : /home/votre_identité/tmp/xsane2tess.log
- Vous pourrez ensuite consulter ce fichier pour observer les éventuelles erreurs.
En installant soi-même le script
1°) Copier le script ci-dessous dans un fichier (sur votre bureau) et l'enregistrer sous le nom de xsane2tess
#!/bin/bash # # ############################################################################## # # xsane2tess 1.0 # # *** tesseract made simple *** # # ############################################################################## # # xsane2tess is a TesseractOCR wrapper to be able to use tesseract with xsane # # # TEMP_DIR=~/tmp/ # folder for temporary files (TIFF & tesseract data) ERRORLOG="xsane2tess.log" # file where STDERR goes if [[ -z "$1" ]] then echo "Usage: $0 [OPTIONS] xsane2tess converts files to TIF, scans them with TesseractOCR and outputs the text in a file. OPTIONS: -i <file1> define input file (any image-format supported) -o <file2> define output-file (*.txt) -l <lang> define language-data tesseract should use Progress- & error-messages will be stored in this logfile: $TEMP_DIR$ERRORLOG xsane2tess depends on - ImageMagick http://www.imagemagick.org/ - TesseractOCR http://code.google.com/p/tesseract-ocr/ Some coding was stolen from 'ocube' http://www.geocities.com/thierryguy/ocube.html " exit fi # get options... while getopts ":i:o:l:" OPTION do case $OPTION in i) # input filename (with path) FILE_PATH="$OPTARG" ;; o ) # output filename FILE_OUT="$OPTARG" ;; l ) # Language-selection TES_LANG="$OPTARG" ;; esac done # redirect STDOUT to FILE_OUT exec 1>>$FILE_OUT # redirect STDERR to ERRORLOG exec 2>>$TEMP_DIR$ERRORLOG # strip path from FILE_PATH, use filename only IN_FILE=${FILE_PATH##*/} TIF_FILE="$TEMP_DIR""${IN_FILE%.*}".tif TXT_FILE="$TEMP_DIR""${IN_FILE%.*}" # converting image into TIFF (ImageMagick) convert "$FILE_PATH" -compress none "$TIF_FILE" 1>&2 # start OCR (tesseract expands output with *.txt) tesseract "$TIF_FILE" "$TXT_FILE" -l "$TES_LANG" 1>&2 # STDOUT scanned text => FILE_OUT cat "$TXT_FILE".txt # delete graphic file after use rm "$TIF_FILE" # delete tesseract output rm "$TXT_FILE".txt
2°) Rendre exécutable ce fichier xsane2tess Clic droit sur le fichier –> Propriétés –> onglet "Permissions" –> Cocher la case "Autoriser l'exécution du fichier comme un programme".
3°) Copier ce fichier xsane2tess dans /usr/bin
sudo cp /home/votre_identité/Desktop/xsane2tess /usr/bin
4°) Créer un dossier tmp dans /home/votre_identité.
- xsane2tess aura besoin de ce dossier pour placer son fichier de log : /home/votre_identité/tmp/xsane2tess.log
- Vous pourrez ensuite consulter ce fichier pour observer les éventuelles erreurs.
Utilisation
Ouvrir XSane : Applications → Graphisme → Scanneur d'images XSane
Dans Préférences → Configuration → Onglet "OCR" :
- Commande OCR : xsane2tess -l fra
- Option de fichier d'entrée : -i
- Option de fichier de sortie : -o
La langue du texte à scanner peut être modifiée quand on le veut dans le menu de configuration de XSane (l'option-l), à condition d'avoir installé les fichiers de langues correspondants de tesseract, comme indiqué dans le paragraphe Pré-requis.
XSane présente le grand avantage de permettre la sélection des colonnes ou zones d'un texte l'une après l'autre grâce à la prévisualisation, avant de scanner, et donc avant traitement ROC par tesseract.
On obtient de bons résultats en scannant à 300 dpi, noir et blanc (fichier "type : TEXT"). Les fichiers contenant le texte sont par défaut créés sur le bureau. Pour plus de précisions, voir le paragraphe sur la ROC avec XSane.
Il suffit de copier-coller les fichiers obtenus dans un fichier OOo Writer, et la reconnaissance orthographique d'OpenOffice fait le reste…