Mise en place d'un moteur avec OCR

Passage de debian stable (etch) en testing (lenny)

Le fait de passer en testing permet surtout d'avoir la glibc > 2.4, ce qui va nous servir pour le moteur OCR.

Fichier /etc/apt/source.list : Pour les moteurs OCR (pour les images tiffs):

#---STABLE--------------------------------------------------------------------
#deb http://ftp.fr.debian.org/debian/ stable main contrib non-free 
#deb-src http://ftp.fr.debian.org/debian/ stable main contrib non-free 
#deb http://security.debian.org/ stable/updates main contrib non-free 
#deb-src http://security.debian.org/ stable/updates main contrib non-free
  
#---TESTING--------------------------------------------------------------------
deb http://ftp.fr.debian.org/debian/ testing main contrib non-free 
deb-src http://ftp.fr.debian.org/debian/ testing main contrib non-free 
deb http://security.debian.org/ testing/updates main contrib non-free 
deb-src http://security.debian.org/ testing/updates main contrib non-free

#backports
#deb http://www.backports.org/debian etch-backports main contrib non-free

ATTENTION : le fait de passer en lenny fait passer postgresql de 8.1 à 8.3 ce qui pose problème avec Freedom. Il faut donc remettre les dépôts de etch (en plus de testing) et réinstaller postgresql 8.1 (attention il faut bien supprimer toute les occurrences de postgresql existante sur le serveur (apt-get remove –purge postgresql-8.3).

OCR pour les images tiff à ajouter au serveur TE

L'OCR que nous utiliserons est http://download.tuxfamily.org/xcfaudio/tesseract/All%20languages/amd64/tesseract_2.03-3_amd64.deb (il n'est pas à jour dans les paquets debian donc on se sert de ce paquet (info sur http://doc.ubuntu-fr.org/tesseract-ocr )

Installation : dpkg -i le_paquet

Une fois l'installation effectuée, il faut ajouter les librairies pour les tiffs :

apt-get install libtiff-tools libtiff4

Base de données

ATTENTION, apparemment, file -i ne rend pas forcément les bons types mime(suite à la mise à jour vers la testing) pour les fichiers doc et xls donc ajout de ces différentes lignes dans la table engine

Traitement des fichiers xls et doc pour obtenir du txt :

latin	application/octet-stream	/usr/share/php/TE/engines/ooo2txt 

Traitement des images tiff pour obtenir du txt :

latin	image/tiff			/usr/share/php/TE/engines/tiff2txt

Traitement des fichiers doc et xls pour obtenir des pdf :

pdf 	application/octet-stream	/usr/share/php/TE/engines/ooo2pdf 

Traitement des images tiff pour obtenir du pdf :

pdf 	image/tiff 			/usr/share/php/TE/engines/tiff2pdf

Moteurs

Le moteur tiff2txt :

#!/bin/bash
ext=`echo $1 | sed 's/.*\.//g'`
newname=$1
# apparement le moteur OCR ne prend pas les fichiers tiff noté .tiff donc on les transforme en .tif
if [ "$ext" = "tiff" ]
then
  nbcar=`echo $1 | wc -m`
  newname=`echo $1 | cut -c 1-$(($nbcar-2))`
  mv $1 $newname
fi
tesseract $newname $2 -lwt fra 
mv $2.txt $2

Le moteur tiff2pdf :

#!/bin/bash
tiff2pdf -o$2 $1

Le moteur jpeg2pdf :

#!/bin/bash
convert $1 $2

Le moteur jpeg2txt :

#!/bin/bash
sam2p -c:zip $1 $2.tif 
tesseract $2.tif $2 -lwt fra
contribution/cookbook/moteur_ocr.txt · Dernière modification: 16/12/2008 09:02 (édition externe)