de PDF à images et d'images à PDF

Il y a deux cas de figure (en tous cas me concernant) où il est nécessaire de convertir un PDF classique (où l'on peut sélectionner du texte) en une version où chaque page est une simple image. Il y a le cas de notre douce administration française et de ses formulaire à remplir. Il est tout de même plus agréable (pour eux, vu mon écriture Wink de faire cela sous GIMP. Et il y a le cas où l'on ne veut pas que le document fournit à un tiers finisse en copier-coller un peu partout.

PDF vers images

Il existe au moins quatre moyens de convertir un PDF en autant d'images qu'il y a de pages. Nous avons déjà GIMP qui fait cela très bien mais qui ne permet pas si facilement de refabriquer le PDF final.

Ensuite nous avons l'incontournable convert (imagick) qui s'utilise très simplement :
gaston$convert -quality 100 -density 100 mon.pdf page_%d.jpg
gaston$ 

Comme vous le voyez, malgré une qualité à 100% et une densité compatible avec un écran moderne, le résultat (agrandi deux fois) n'est pas terrible.

Après nous pouvons utiliser gs qui s'utilise avec une ligne de commande un peu moins triviale

gaston$gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=jpeg -dJPEGQ=100 -r100 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dMaxStripSize=8192 -sOutputFile=page_%d.jpg mon.pdf
gaston$ 

Et là aussi le résultat n'est pas à la hauteur avec toujours le même problème d'adoucissement des polices alors que le paramètres dTextAlphaBits est sensé l'activer. Ceci étant dit, je pense que le moteur de rendu utilisé par convert est justement ghostview, ce qui expliquerait les mêmes mauvais résultats.

Enfin il y ma dernière découvert, la méthode utilisant pdftoppm issue du projet poppler (utilisé par evince). Là c'est encore plus simple à utiliser :

gaston$pdftoppm -r 100 mon.pdf page
gaston$ 

Comme vous pouvez le constater le résultat est bien meilleur. Les caractères sont propres et les images pas trop bouffées. Bref, la bonne solution.

Conversion d'image à pdf

Une fois que le formulaire modifié avec GIMP, ou que le document éventuellement retouché, il est temps d'opérer la transformation inverse. Là c'est beaucoup plus simple, c'est convert qui fait tout le travail :

gaston$convert *.ppm mon_nouveau.pdf
gaston$ 

Conclusion

Voilà, c'est terminé. Après le fichier finale est peut-être un peu volumineux (environ 16MO pour 40 Pages) mais il est de très bonne qualité. Et si vous désirez l'envoyer par courriel, il est toujours possible d'utiliser la classique astuce suivante :

gaston$pdf2ps mon_nouveau.pdf - | ps2pdf - mon_nouveau_et_leger.pdf
gaston$ 

Bien évidement vous perdrez en qualité, mais dans une bien moindre mesure que si vous aviez réalisé le même allégement sur des images générées par gs ou convert. Ceci étant dit, c'est la méthode de feignant, Lone Wolf, lui utilise les mêmes outils (pdf2ps & ps2pdf), sans perte de qualité, mais avec des paramètres de barbares qui donnent des résultats étonnants.

Vus : 407
Publié par Artisan Numérique : 100