2024-11-19 13:49:39 +01:00
|
|
|
|
|
|
|
:PROPERTIES:
|
|
|
|
:ID: c7dc82c6-5d38-4e31-884b-acf29328db58
|
|
|
|
:END:
|
|
|
|
|
|
|
|
#+title: conversion-de-pdf-en-image-et-ocr
|
|
|
|
#+post_ID: 191
|
|
|
|
#+post_slug: conversion-de-pdf-en-image-et-ocr
|
|
|
|
#+post_url: https://www.ciperbliss.com/2016/conversion-de-pdf-en-image-et-ocr
|
|
|
|
#+post_title: Conversion de pdf en image et OCR
|
|
|
|
#+post_tags: conversion, format, pdf, jpg, png, contrat, documents
|
|
|
|
#+post_type: post
|
|
|
|
#+post_mime_types:
|
|
|
|
#+post_guid: undefined
|
|
|
|
#+post_status: publish
|
|
|
|
#+post_date_published: <2016-05-11T19:25:05>
|
|
|
|
#+post_date_modified: <2020-08-03T11:55:32>
|
|
|
|
#+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9
|
|
|
|
#+retrieved_from_db_at: <2024-11-18 16:25:08>
|
|
|
|
|
|
|
|
|
|
|
|
* Conversion de pdf en image et OCR
|
|
|
|
:PROPERTIES:
|
|
|
|
:CUSTOM_ID: conversion-de-pdf-en-image-et-ocr
|
|
|
|
:END:
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
[[https://www.clubdesmonstres.com/best/img/disc_world9jpg.jpg]]
|
|
|
|
|
|
|
|
[[https://imagemagick.org][ImageMagick]]
|
2024-11-19 13:49:39 +01:00
|
|
|
permet de convertir des tas de fichiers en des tas d'autres. Il est
|
|
|
|
fourni de base dans pas mal de
|
|
|
|
[[https://fr.wikipedia.org/wiki/Distribution_Linux][distributions
|
|
|
|
linux]].convertir un pdf en un jpg par page de 300dpi
|
|
|
|
c'est aussi simple que lancer cette commande:(dans un
|
|
|
|
terminal, dans le dossier de votre fichier pdf, par exemple, mon dossier
|
|
|
|
de Téléchargements)
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
convert -density 300 -quality 100 monFichierPDF.pdf mesFichiersJpg.jpg
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
** Option de sécurité d'ImageMagick
|
|
|
|
:PROPERTIES:
|
|
|
|
:CUSTOM_ID: option-de-sécurité-dimagemagick
|
|
|
|
:END:
|
|
|
|
Il est possible que vous ayez une version
|
|
|
|
d'ImageMagick avec des restrictions de conversion qui ont été mises en
|
|
|
|
place pour des raisons de sécurité à une époque où GhostScript avait un
|
|
|
|
problème, corrigé depuis. Si la commande convert ne veut pas convertir
|
|
|
|
votre pdf, regardez dans la config du fichier de
|
|
|
|
police:=sudo editor /etc/ImageMagick-7/policy.xml=(le
|
|
|
|
dossier peut se nommer ImageMagick-6 ou autre selon votre version), et
|
|
|
|
changez la ligne concernant les pdf:
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
<policy domain="coder" rights="none" pattern="PDF" />
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
En ceci:
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
<policy domain="coder" rights="read | write" pattern="PDF" />
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
Relancez votre terminal et ça devrait bien vouloir
|
|
|
|
convertir votre pdf en jpg.
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
** Une commande en alias de bash
|
|
|
|
:PROPERTIES:
|
|
|
|
:CUSTOM_ID: une-commande-en-alias-de-bash
|
|
|
|
:END:
|
|
|
|
Vous pouvez vous en faire un alias dans votre fichier
|
|
|
|
/~/.bash_aliases/
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
alias pdf2jpg='convert -density 300 -trim -quality 100'
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
Ainsi vous pourrez lancer:
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
pdf2jpg machin.pdf machin.jpg
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
Et paf, ça fait des images de jolie qualité pour
|
|
|
|
chaque page.
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
** Le cube qui sait lire
|
|
|
|
:PROPERTIES:
|
|
|
|
:CUSTOM_ID: le-cube-qui-sait-lire
|
|
|
|
:END:
|
|
|
|
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.
|
2024-11-19 23:50:42 +01:00
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
vous avez bien entendu autre chose à faire de votre vie que de recopier
|
|
|
|
tout le texte. aint nobody got time for
|
|
|
|
that.[[http://static.skynetblogs.be/media/80918/4017077379.jpg]]
|
|
|
|
|
|
|
|
#+begin_example
|
|
|
|
Il convient donc d'utiliser un soft qui sait faire de l'Optical Character Recognition, de la reconnaissance de caractères optiques.
|
2024-11-19 23:50:42 +01:00
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
#+end_example
|
|
|
|
|
|
|
|
[[https://pbs.twimg.com/profile_images/3311637316/fa2e60c43dea540aa029bd9f9596d674_400x400.png]]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:
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
sudo apt-get install tesseract-ocr tesseract-ocr-fra
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2024-11-19 23:50:42 +01:00
|
|
|
|
2024-11-19 13:49:39 +01:00
|
|
|
#+begin_src prettyprint
|
|
|
|
a=0for 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+1done
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
l'option -l fra sert à dire qu'on traite un texte en
|
|
|
|
françaiset maintenant on concatène les sorties de
|
|
|
|
chaque image en un seul fichier
|
|
|
|
|
|
|
|
#+begin_src prettyprint
|
|
|
|
cat page_* > all_pages.txt
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
Et vous pourrez maintenant avoir un texte sur lequel
|
|
|
|
vous pouvez faire une recherche intégrale avec votre éditeur de texte
|
|
|
|
préféré, à la recherche de l'arnaque contractuelle qui va
|
|
|
|
bien.Astuce de l'OCR trouvée sur
|
|
|
|
[[https://doc.ubuntu-fr.org/tesseract-ocr][la doc
|
|
|
|
ubuntu]]Enjoy!
|
|
|
|
|