imagemagick permet de convertir des tas de fichiers en des tas d'autres. Il est fourni de base dans pas mal de distributions linux. convertir un pdf en un jpg par page de 300dpi c'est aussi simple que ceci: (dans un terminal, dans le dossier de votre fichier pdf, par exemple, mon dossier de Téléchargements)

convert -density 300 -quality 100 monFichierPDF.pdf mesFichiersJpg.jpg

et boum! aussitôt plopent dans le même dossier des jpg mesFichiersJpg (1).jpg pour chaque page.

 Trop magique. l'option -density 300 donne une résolution de 300dpi. l'option -quality 100 compresse la sortie au meilleur de sa qualité.

il faut nommer le fichier d'entrée et celui de sortie, j'aurai pu marquer mesFichiersJpg.png ça aurait fait des vrais png, mais ça supporte aussi des tas d'autres formats.

vous pouvez vous en faire un alias dans votre fichier ~/.bash_aliases

alias pdf2jpg='convert -density 300 -trim -quality 100'; 

ainsi vous pourrez lancer:

 pdf2jpg monpdf.pdf mesJpgs.jpg 

Et paf, ça fait des images de jolie qualité.

Le cube qui sait lire

Et donc voilà, il arrive aussi qu'on vous file un pdf contenant un contrat ou un texte (avec ou sans images) qui serait bien plus efficace en format texte pour y faire des recherches par exemple. vous avez bien entendu autre chose à faire de votre vie que de recopier tout le texte. aint nobody got time for that.

Il convient donc d'utiliser un soft qui sait faire de l'Optical Character Recognition, de la reconnaissance de caractères optiques.

Le Tesseract, ce n'est pas un cube produisant une énergie infinie au pays d'Iron Man, c'est un soft capable de lire des caractères dans une image et de pondre un texte en conséquence. Bien sûr il faut relire le texte ensuite pour corriger quelques typos, mais il fait déjà un boulot impressionnant. installez le avec son extension pour le français avec apt-get: 

sudo apt-get install tesseract tesseract-ocr-fra 

Une fois que c'est fait revenons à nos animaux laineux. Vous avez donc plein de fichiers jpg dans un dossier. Dans un terminal, mettez vous dans le dossier en question.

 Nous allons donc faire une boucle sur tous les fichiers du dossier courant se terminant par jpg, les lire et en ressortir dans un fichier page_truc.txt pour chaque image.

a=0;
for i in $(ls -v *.jpg) ;
     do echo "$i page_${a}.txt" ; # on affiche ce qu'on fait
     tesseract $i page_${a}.txt ;
     let a=a+1 ;
done

l'option -l fra sert à dire qu'on traite un texte en français
et maintenant on concatène les sorties de chaque image en un seul fichier

cat page_* > all_pages.txt

astuce trouvée sur la doc ubuntu enjoy!