Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Installer et utiliser le logiciel tesseract pour effectuer une reconnaissance de caractère à partir d'une image *.png ou d'un fichier *.pdf
apt-get install tesseract-ocr tesseract-ocr-fra tesseract-ocr-osd
Par défaut le pack de langue anglaise (eng) est installé et est utilisé lors de la reconnaissance des caractères.
On peut installer d'autres langues, par exemple l'espagnol si on veut exploiter un document dans cette langue, il suffit d'installer le paquet : tesseract-ocr-spa.
Pour avoir une interface graphique en français, choisir OCRfeeder (en français) :
apt-get install ocrfeeder unpaper
ou gimagereader (en anglais)
Pour manipuler les images, on installe imagemagick
apt-get install imagemagick
Vous pouvez scanner votre document pour obtenir une image avec suffisamment de qualité en utilisant le logiciel de votre choix, par exemple SimpleScan. Le mieux est de choisir le format png.
On commence par convertir le fichier *.pdf en image *.png :
convert -density 500 PDFtest.pdf -quality 100 test.png
Il y aura autant d'images en sortie que de pages du pdf nommé PDFtest.pdf.
Les noms de ces images seront test-0.png, test-1.png …etc
Pour effectuer la reconnaissance de texte de la première image :
tesseract -l fra test-0.png output1
Ici la langue du document est spécifiée avec l'option -l fra.
Pour indiquer l'utilisation de deux langues par exemple français et allemand utilisez l'option : -l fra+deu.
Par défaut le fichier en sortie sera au format *.txt, on trouvera donc un fichier output1.txt à ouvrir avec n'importe quel éditeur de texte.
Pour effectuer la reconnaissance de texte de la deuxième image :
tesseract -l fra test-1.png output2
Voir l'exemple donné dans ce message d'un fil du forum où l'on voit bien l'influence de la taille de l'image sur la reconnaissance de caractères.
On peut ajouter des actions personnalisées dans thunar (gestionnaire de fichiers de XFCE) qui permettent d'avoir avec un clic droit sur le fichier une entrée de menu permettant de choisir une action à réaliser sur ce fichier.
Le script suivant (avec tous ses défauts, c'est mon premier script ) permet d'effectuer la reconnaissance des caractères sur une image *.png et ouvre libreoffice (writer) pour lire ou modifier le texte.
#!/bin/bash tesseract -l fra "$1" "${1%%.*}" lowriter "${1%%.*}.txt" exit 0
Il suffit de copier coller le texte avec mousepad (ou un autre éditeur de texte) et de l'enregistrer en lui donnant par exemple le nom PNG-2-ocr-lo. Ensuite un clic droit sur le fichier > Propriétés > Permissions pour le rendre exécutable en cochant la case ad-hoc.
Dans thunar > Editer > Configurer les actions personnalisées > clic sur le bouton pour ajouter une action.
On complète le nom de l'action par exemple PNG 2 OCR libreoffice et on remplit la ligne de commande avec :
/le-chemin-qui-mène-au-script/PNG-2-ocr-lo %f
Dans l'onglet “conditions d'apparition” on coche “Fichiers image” et on complète la ligne “motif de fichiers” avec :
*.png;*.PNG
On valide et voilà. On a l'action qui est proposée sur les fichiers *.png
Exemple d'utilisation de tesseract en sélectionnant une partie de l'affichage à l'écran (page web, fichier image, etc….)
#!/bin/bash ## sélection d'une zone sur l'écran pour conversion ocr ##fichier de sortie sortie=/chemin/vers/zone_ocr.txt ##choix langue (fra eng etc...) langue=fra cd ~ import -quality 300 -depth 1000 ~/tmp.jpeg tesseract -l $langue ~/tmp.jpeg tmp 2> /dev/null && rm -f ~/tmp.jpeg cat ~/tmp.txt >> $sortie && rm -f ~/tmp.txt
Le script lance un sélecteur de souris en forme de croix. Donc on sélectionne la zone que l'on veut passer à l'ocr et on retrouve (avec plus ou moins de fidélité) le texte dans le fichier indiqué dans la variable “sortie”. La qualité de copie obtenue peut être réglée par les valeurs de -quality et -depth. Voir le man import. A noter que le script est actuellement configuré pour ajouter, à la suite dans le même fichier, les sélections successives.