====== pdftk pour modifier les pdf ======
* Objet : pdftk
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Manipuler les pdf en ligne de commande. //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* Suivi : {{tag>à-compléter à tester}}
* Création par [[user>Lætitia]] le 21-07-2011
* Testé par <...> le <...>
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=4157 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Présentation =====
pdftk est un logiciel qui permet de manipuler les fichier pdf ; c'est une sorte de petit couteau suisse. Parmi les opérations qu'il permet de faire, on peut noter :
* assembler ou découper des fichiers,
* de mettre un mot de passe,
* de faire pivoter des textes,
* d'extraire ou d'attacher des pièces jointes,
* ...
On peut lire les pdf grâce à [[:doc:environnements:gnome:evince|evince]].
Pour les résistants à la ligne de commande vous pouvez installer le paquet pdfchain qui est l’interface graphique de la boite à outils PDF (pdftk). Il reprend la plupart des fonctionnalités exposées ci-dessous. Seul bémol il faut maîtriser la langue de Shakespear.
[[https://pdfchain.sourceforge.io/index.html|Lien vers le site pdfchain]]
[[https://packages.debian.org/bullseye/pdfchain|Paquet debian]]
===== Installation =====
Rien de plus facile que de l'installer avec votre gestionnaire de paquets habituel.
apt update
apt install pdftk
Il n'y a rien à configurer, en fait. À peine installé, il est déjà prêt à bosser.
===== Assembler des fichiers =====
On peut concaténer plusieurs fichiers pour n'en faire qu'un seul :
pdftk fichier1.pdf fichier2.pdf cat output fichier3.pdf
ou
pdftk *.pdf cat output fichier-final.pdf
==== Extraire des pages ====
Si on veut isoler les pages 3 à 5 du fichier1.pdf :
pdftk fichier1.pdf cat 3-5 output fichier2.pdf
ou de la page 4 à la fin :
pdftk fichier1.pdf cat 4-end output fichier2.pdf
On peut extraire des parties de plusieurs fichiers sources et les fusionner en un fichier de sortie :
pdftk A=fichier1.pdf B=fichier2.pdf cat A3-5 B4-end output fichier3.pdf
Puis :
pdftk A=fichier1.pdf B=fichier2.pdf cat A1 A3-5 B4-end output fichier3.pdf
==== Décompresser un document ====
On peut décompresser un document pour l'éditer ensuite en mode texte :
pdftk fichier.pdf output fichier-txt.pdf uncompress
==== Pour extraire les pages une par une ====
Dans ce cas, on extrait les pages d'un fichier une par une.
pdftk fichier1.pdf burst
==== Pivoter les pages ====
Le pdf, on le prend et on le retourne à 180 °:
pdftk fichier1.pdf cat 1-endsouth output fichier2.pdf
Si on ne veut pivoter qu'une plage de pages (ici les pages 6 à 8) de 90° dans le sens des aiguilles d'une montre :
pdftk fichier1.pdf cat 1-5 6-8east 9-end output fichier3.pdf
Et pour pivoter la même plage de pages de 90° dans le sens inverse des aiguilles d'une montre :
pdftk fichier1.pdf cat 1-5 6-8west 9-end output fichier3.pdf
==== Chiffrer un document ====
Cela se révèle extrêmement pratique pour l'envoi de document confidentiel. \\
Chiffrer un document avec une clef 128 bits :
pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe
Donner tous les droits à l'user sur le document chiffré avec un mot de passe utilisateur
pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe user_pw mdp_user
Autoriser uniquement la lecture et l'impression à l'utilisateur
pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe user_pw mdp_user allow Printing
Autoriser l'impression en qualité réduite :
pdftk fichier1.pdf output fichier-chiffre-en -28.pdf owner_pw mot_de_passe user_pw mdp_user allow DegradedPrinting
Et pour déverrouiller un fichier :
pdftk fichier-chiffre-en-128.pdf input_pw mdp_user output fichier_ouvert.pdf
Concaténer deux fichiers dont un est chiffré :
pdftk fichier1.pdf A=fichier-chiffre.pdf input_pw A=mot-de-passe cat output fichier final.pdf
==== Réparer un document ====
On peut essayer de réparer un fichier corrompu. Il ne faut cependant pas s'attendre à des miracles, cela ne fonctionne pas à tous les coups :
pdftk fichier-corrompu.pdf output fichier-OK.pdf
==== Appliquer un filigrane ou un tampon ====
On peut mettre un fichier pdf en arrière-plan d'un autre. Trop facile d'ajouter «confidentiel» :
pdftkfichier.pdf background confidentiel.pdf output fichier-confidentiel.pdf
De même, on peut ajouter un tampon ou un watermark :
pdftk fichier.pdf stamp tampon.pdf output document-tampon.pdf
==== Extraire et modifier les méta-données d'un pdf ====
Exemple je télécharge la page actuelle (voir en haut de la page l'icône àdaube ;-) ) sous forme d'un fichier pdf. J'obtiens le fichier pdftk-pour-modifier-les-pdf.pdf.
Je souhaite extraire les méta-données du fichier, juste par esprit de curiosité.
Rien de plus simple avec cette commande :
pdftk pdftk-pour-modifier-les-pdf.pdf dump_data_utf8 output meta.txt
pdftk affichera un message d'avertissement dans le cas où le document serait protégé par des droits d'auteur
Le résultat se trouve dans le fichier meta.txt, voilà un extrait :
InfoBegin
InfoKey: ModDate
InfoValue: 20190531210200+02'00'
InfoBegin
InfoKey: CreationDate
InfoValue: 20190531210200+02'00'
InfoBegin
InfoKey: Title
InfoValue: pdftk pour modifier les pdf
InfoBegin
InfoKey: Producer
InfoValue: mPDF 7.0.3
PdfID0: 16c9908c669774ad6c8a93d46a8cd18a
PdfID1: 16c9908c669774ad6c8a93d46a8cd18a
NumberOfPages: 4
BookmarkBegin
BookmarkTitle: pdftk pour modifier les pdf
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: Présentation
BookmarkLevel: 2
BookmarkPageNumber: 1
... ...
... ...
PageMediaBegin
PageMediaNumber: 4
PageMediaRotation: 0
PageMediaRect: 0 0 595.28 841.89
PageMediaDimensions: 595.28 841.89
Intéressant, on comprend tout de suite le potentiel que l'on peut en tirer, notamment d'amender voir modifier un sommaire sur un pdf.
Exemple, je peux modifier le titre de l'index de niveau 2 de la page 1 par "Présentation super chouette" (je sais c'est nul). C'est tout simple, je modifie la ligne 21 de meta.txt avec mon éditeur préféré ([[doc:editeurs:nano|GNU nano]],[[doc:editeurs:vim:vim|vim : éditeur de texte]]):
BookmarkTitle: Présentation super chouette
Ensuite il ne reste plus qu'à créer le fichier avec les nouvelles méta-données en tapant la commande :
Vérifiez que vous disposez des droits (licence) de modifier le fichier pdf avant d'utiliser cette commande.
pdftk pdftk-pour-modifier-les-pdf.pdf update_info_utf8 meta.txt output pdftk-nouvelles-metadonnee.pdf
==== Tant d'autres choses ====
Le tour du propriétaire n'est pas fini. pdftk permet :
* de remplir des formulaires…
À voir dans le man, je n'ai pas encore bouclé la boucle.
===== Liens =====
**Liens utiles vers :**
* [[http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/|Site du projet]]
* [[http://projects.gnome.org/evince/?guid=on|Evince pour lire les pdf]]