Du PDF au texte

J'ai récupéré des fichiers PDF qui ne sont qu'une suite de pages numérisées d'un livre. Ça permet de lire le livre mais s'il faut faire une recherche dedans ou vouloir le remettre en page, c'est pas top.

Cependant avec quelques outils on peut passer du PDF au TXT assez vite. Voici les paquets à installer :

    aptitude install pdftk graphicsmagick-imagemagick-compat tesseract-ocr

Ensuite les trois étapes de la conversion :

Alors évidemment si le fichier contient beaucoup de pages, il faut automatiser à d'un script bash:

#!/bin/bash

Nombre_arguments_attendus=3

if [ $# -ne $Nombre_arguments_attendus ]
then
    echo "Trois paramètres obligatoires le nom du fichier PDF,"
    echo "le numéro de la première et de la dernière page à extraire."
    exit 1
fi

echo ">>> Extraction du fichier $1,"
echo "de la page $2 à la $3."

for nbr in $(seq $2 $3)
do
    echo ">>> Extraction de la page $nbr"
    pdftk "$1" cat $nbr output ec.pdf
    echo "Conversion en image"
    convert -density 300 ec.pdf ec.png
    tesseract ec.png "$1"-$nbr
done

echo ">>> Nettoyage"
rm ec.pdf ec.png

exit 0

Ce petit script prend trois argument: le nom de fichier, les numéros de la première et de la dernière page à traiter. Il enregistre des fichiers texte en ajoutant le numéro de la page au nom du fichier PDF.

Le résultat n'est pas parfait, la reconnaissance des caractères s'est fait piéger par certaines pages contenant des images. Par contre une mise en page sur deux colonnes ne pose aucun souci.

D'autres solutions sont possibles avec les outils poppler (paquet poppler-utils).

Si j'ai encore besoin de ce script je verrai si ça peut l'améliorer.

Un grand merci à Vincent pour l'idée de l'article.

Commentaires

Pas encore de commentaire.

Ajouter un commentaire

Vous pouvez utiliser la syntaxe Markdown dans votre commentaire.

Fil Atom des commentaires