====== 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]]