Forum général.cherche-logiciel OCR pdf vers pdf

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
18
sept.
2013

Bonjour,

(Si vous en avez rien a foutre de ma petite vie passez ce paragraphe ) :
Pour bricoler sur ma moto je suis le manuel d'atelier, utilise principalement une version scannée en PDF, le truc c'est que le manuel fait plus de 200 pages et si je cherche juste comment déposer une pièce j'aimerai bien taper le nom de la pièce dans la recherche pour trouver la page qui va bien.

En bref je cherche un logiciel me permettant de transformer mon scan PDF en un PDF(ou ODT) avec du texte dedans sans perdre les images (bin oui c'est hyper important les images) et encore mieux en gardant la mise en page.
Bien sur si c'est libre c'est mieux si ça tourne sous linux aussi! Mais si une solution pertinente existe du coté obscure je ne suis pas contre,ne serait ce que pour faire la comparaison.

par avance merci,

Antoine

  • # 200 pages ?

    Posté par  . Évalué à 1.

    Salut,

    200 pages, ça doit être un super manuel. C'est quoi comme moto ?

    • [^] # Re: 200 pages ?

      Posté par  . Évalué à 1.

      La moto c'est un 400 drz supermotard donc rien compliqué ( monocylindre et partie cycle simple).
      La manuel fait 262 pages exactement, c'est pas le manuel utilisateur, c'est le manuel d'atelier( ou revu technique si tu préfère).
      Et il n'a rien d’exceptionnel ce manuel c'est juste que ça explique (en plus de l'entretient), comment démonter entièrement la moto (moteur et partie cycle) et comment la remonter.

      Voila tu sais tout !!

  • # des propositions....

    Posté par  . Évalué à 1.

    Tu peux toujours regarder du côté de Malodos ou de Medoc, ça peut t'être utile…

    • [^] # Re: des propositions....

      Posté par  . Évalué à 1.

      Merci, je vais regarde ce que ces logiciel utilise.

      Perso je cherche plus un beau logiciel avec une IHM ou on clique sur "analyser le doc" et paff ça fait tout tout seul avec une jolie preview ect …

      Plus sérieusement si y'a pas la preview et si c'est en cosole je m'en fou, pour le coup je me fiche un peu du comment ça marche(même si ça doit être très intéressant) je cherche juste un truc qui fonctionne et qui encaisse un document de 120Mo en entrée ( par exemple google doc limite a 2 mo) avec de text mixé avec des images.

      Dans le journal sur mal au dos il parle de Tesseract, ocropus, hocr et gocr quelqu'un a déjà testé ? qu'en est-il de la gestion d'un texte mixé avec des images?

      • [^] # Re: des propositions....

        Posté par  . Évalué à 1.

        J'utilisais
        un peu tout, mais le meilleur c'est tesseract.
        Le truc c'est qu'il faut du .tif en entrée, et ça sort du texte en
        sortie. Donc je ne sais pas si il existe un logiciel qui permet de
        remettre le tout en forme.
        Pour les images, faut les copier manuellement.

        • [^] # Re: des propositions....

          Posté par  . Évalué à 1. Dernière modification le 18 septembre 2013 à 11:47.

          Pour les images, faut les copier manuellement.

          Donc je dit adieux à ma mise en page et a mes images c'est ça ?

          La plupart des pages comporte 2 ou 3 images/photos qui sont plus qu'essentielles, copier les images manuellement n'est même pas envisageable.

      • [^] # Re: des propositions....

        Posté par  . Évalué à 5.

        Je ne l'ai pas essayé mais la description de Paperwork semble correspondre à ce que tu demande.

        • [^] # Re: des propositions....

          Posté par  . Évalué à 1.

          En effet, je pense que paperwork ferait le boulot. Il ne le sortirai pas en pdf de nouveau par contre. Mais je pense que ce serait faisable. Ça doit être une feature à faire.

      • [^] # Re: des propositions....

        Posté par  (site web personnel) . Évalué à 3.

        j'avais essayé pdfsandwich, il me semble que ça fonctionnait plutôt bien (ça utilise les moteurs libres habituels, alors ça aura leurs limitations), en tout cas c'est exactement ce que tu recherches car ça rajoute de l'ocr sur des pdf avec uniquement des images :

        http://www.tobias-elze.de/pdfsandwich/index.html

        « I approve of any development that makes it more difficult for governments and criminals to monopolize the use of force. » Eric Raymond

    • [^] # Re: des propositions....

      Posté par  . Évalué à 2.

      Quand tu as mal au dos tu prends des medocs c'est ça ?

  • # Petit scrip que j'ai commencé

    Posté par  . Évalué à 2.

    J'ai commencé le script que voici mais je n'ai pas eu le temps de finir ; c'est très lent et il y a peut-être des erreurs.

    #!/bin/sh
    
    DPI=150
    
    CONVERT_BIN="/usr/bin/convert"
    TESSERACT_BIN="/usr/bin/tesseract"
    HOCR2PDF_BIN="/usr/bin/hocr2pdf"
    PDFINFO_BIN="/usr/bin/pdfinfo"
    OPTIMIZE2BW_BIN="/usr/bin/optimize2bw"
    
    OUTPUT="$(dirname "$1")/out_$(basename "$1")"
    
    
    NBR_PAGES=$($PDFINFO_BIN "$1" | grep Pages: | sed -E 's/(.*) (\d*)/\2/g')
    echo $NBR_PAGES
    for i in `seq 1 $NBR_PAGES`;
    do        
        echo "Page $i sur $NBR_PAGES"
        # Convertion en tif...
        eval "$CONVERT_BIN -blur 0 -density 600 -depth 8 -quality 95 \"${1}\"\[$(($i - 1 ))\] page$i.tif"
        # "Optimisation du tif pour OCR...
        eval "$OPTIMIZE2BW_BIN -i page$i.tif -o page${i}_bis.tif"
        # OCR en cours...
        eval "$TESSERACT_BIN page${i}_bis.tif output -l fra"
        # Réduction DPI =>$DPI...
        eval "$CONVERT_BIN -density $DPI -flatten +matte page$i.tif page$i.tif"
        # Intégration du texte dans le pdf...
            eval "$HOCR2PDF_BIN -i page$i.tif -o \"${OUTPUT}\" < output.txt"
    
            rm output.txt
    done
    • [^] # Re: Petit scrip que j'ai commencé

      Posté par  . Évalué à 1.

      Non, en fait, après tests, c'est tout pourris : dès qu'il y a plus d'une page, ça marche pas.

      • [^] # Re: Petit scrip que j'ai commencé

        Posté par  . Évalué à 1.

        bon bin je testerai sur des pdf d'une page alors :-) …

        • [^] # Re: Petit scrip que j'ai commencé

          Posté par  . Évalué à 2. Dernière modification le 18 septembre 2013 à 18:39.

          Voici le script corrigé pour plus d'une page :p

          Disclaimer : je suis pas du tout expert en bash, c'est même mon deuxième script.

          #!/bin/sh
          
          DPI=150
          
          CONVERT_BIN="/usr/bin/convert" #imagemagick
          TESSERACT_BIN="/usr/bin/tesseract" #tesseract
          HOCR2PDF_BIN="/usr/bin/hocr2pdf" #exactimage
          PDFINFO_BIN="/usr/bin/pdfinfo" #poppler
          OPTIMIZE2BW_BIN="/usr/bin/optimize2bw" #exactimage
          PDFJOIN="/usr/bin/pdfjoin" #texlive
          
          
          for EXTCMD in  "$CONVERT_BIN" "$HOCR2PDF_BIN" "$PDFINFO_BIN" "$OPTIMIZE2BW_BIN" "$PDFJOIN" "$TESSERACT_BIN" ; do
              [ -x "$EXTCMD" ] || {
                  echo "$(basename $0): commande externe '$(basename "$EXTCMD")' absente." >&2
                  exit 2
              }
          done
          
           OUTPUT="$(dirname "$1")/out_$(basename "$1")"
          
          # dossier temporaire 
          while true ; do
          
            TMPDIR="/tmp/$(basename $0).$$.$RANDOM"
          
            [ ! -e "$TMPDIR" ] && mkdir -m 700 -p "$TMPDIR" && break || exit 2
          
          done
          
          #cp $1 $1.bak
          echo $1
          NBR_PAGES=$($PDFINFO_BIN "$1" | grep Pages: | sed -E 's/(.*) (\d*)/\2/g')
          echo $NBR_PAGES
          for i in `seq 1 $NBR_PAGES`;
          do        
              echo "Page $i sur $NBR_PAGES"
              # Convertion en tif...
              eval "$CONVERT_BIN -blur 0 -density 600 -depth 8 -quality 95 \"${1}\"\[$(($i - 1 ))\] $TMPDIR/page$i.tif"
              # "Optimisation du tif pour OCR...
              eval "$OPTIMIZE2BW_BIN -i $TMPDIR/page$i.tif -o $TMPDIR/page${i}_bis.tif"
              # OCR en cours...
              eval "$TESSERACT_BIN $TMPDIR/page${i}_bis.tif $TMPDIR/output -l fra"
              # Réduction DPI =>$DPI...
              eval "$CONVERT_BIN -density $DPI -flatten +matte $TMPDIR/page$i.tif $TMPDIR/page$i.tif"
              # Intégration du texte dans le pdf...
                  eval "$HOCR2PDF_BIN -i $TMPDIR/page$i.tif -o $TMPDIR/$(basename $OUTPUT)$i.pdf < $TMPDIR/output.txt"
          
                #  rm $TMPDIR/output.txt
          done
          eval $PDFJOIN $TMPDIR/*.pdf --no-tidy -o $OUTPUT
          eval "rm –fr $TMPDIR"
    • [^] # Re: Petit scrip que j'ai commencé

      Posté par  . Évalué à 1.

      Pour la lenteur, j'ai découpé mon pdf pour me faire des PDF de 2 pages , je testerais la dessus.

      Merci.

  • # En python

    Posté par  (site web personnel) . Évalué à 2.

    Salut,

    J'ai développé un outil de GED pour mes besoins perso[1], l'outil en lui même est certainement un peu overkill pour ton besoin mais il comporte la fonctionnalité que tu recherches, si tu comprends un peu le Python, tu pourras facilement réutiliser le code qui fait ça[2]. Ca utilise ghostscript pour convertir le pdf en fichiers tiff, cuneiform pour l'OCR, et hocr2pdf pour reconvertir le tout en un PDF indexé (avec les images, le texte OCRisé étant invisible et placé au dessus des images).

    [1] https://github.com/NaPs/Docbucket
    [2] https://github.com/NaPs/Docbucket/blob/master/docbucket/compilers.py#L92

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.