pdftk
Application de manipulation de contenu de fichiers PDF sans l'(autrement) incontournable Adobe Acrobat. Les cas d'utilisation les plus fréquents sont certainement l'extraction de page(s) ou la combinaison de plusieurs fichiers en un seul.
"Si on considère PDF comme du papier électronique, alors pdftk est la version électronique de : un ôte-agrafes, un perforateur, un relieur, un encodeur-décodeur et des lunettes à rayons X. Pdftk est un outil simple pour effectuer des opérations de tous les jours sur les documents PDF." dixit le manuel pdftk.
Toutes les opérations s'exécutent en mode ligne de commande, ce qui permet de les automatiser ou de les intégrer dans des applications plus complexes.
- Combiner plusieurs documents PDF en un seul.
- Extraire une ou plusieurs pages dans un nouveau document PDF.
- Effectuer une rotation sur tout ou partie des pages dans un document PDF.
- Décrypter un document PDF (connaissant le mot de passe).
- Crypter un document PDF et associer les droits d'accès (lecture, copie, impression, modification, ...).
- Travailler avec les formulaires PDF :
- Remplir un formulaire PDF avec des données X/FDF.
- Générer un patron FDF à partir d'un document PDF.
- (cf. billet sur
informatique.in2p3.fr
à ce sujet) ou remplir un formulaire PDF avec des données FDF (flatten)
- Appliquer une filigrane (arrière-plan, watermark) ou tampon (premier plan, stamp) à un document.
- Calculer la métrique d'un document PDF, comme les métadata et les signets.
- Mettre à jour les métadata d'un document.
- Attacher des fichiers à une page ou un document PDF.
- Extraire les fichiers attachés d'un document PDF.
- Éclater un document PDF multipage en pages individuelles.
- Compresser et décompresser des suites de pages.
- Réparer des fichiers PDF endommagés (dans la limite du logiquement intact).
pdftk est basé sur les fonctions d'itext qui, lui, est écrit en Java. L'interopérabilité est donc garantie par principe. Cependant, pdftk intègre les sources Java en les compilant avec gcj, afin de compacter les binaires. Cette portabilité n'est pas toujours bien configurée sur certaines distributions Linux.
Alternative gratuite et libre sur Linux à la connexion à un serveur Windows partagé/public qui contient Adobe Acrobat (produit payant) pour la manipulation des PDF.
La conversion des fichiers pdf avec des formats images et aussi des formats de traitement de texte sont des manipulations souhaitables des documents pdf. L'annotation est aussi une fonctionnalité non couverte. PDF est un format ouvert mais à ce jour, il ne semble pas y avoir de bibliothèque qui couvre tous les aspects de sa manipulation. Gimp permet de faire les manipulation des pdf au niveau image, http://doc.ubuntu-fr.org/pdf recense les différentes solutions existantes sous linux.
Commentaires
Autres programmes AFE
Lors de la prochaine mise à jour, je devrais mentionner également pdfminer http://www.unixuser.org/~euske/python/pdfminer/ et aussi la librairie pyPdf http://pybrary.net/pyPdf/.
GUI pour pdftk
Il existe un GUI (general user interface) graphique sous Windows qui rend l'utilisation de pdftk beaucoup plus intuitive :
http://www.paehl.de/pdf/gui_pdftk.html