Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:editeurs:pdftk [17/06/2013 05:45] martinux_qc [Utilisation] |
doc:editeurs:pdftk [02/11/2021 09:55] (Version actuelle) vv222 [Installation] Utilisation de apt dans les instructions |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== pdftk pour modifier les pdf ====== | ====== pdftk pour modifier les pdf ====== | ||
- | * Objet : Installation | + | * Objet : pdftk |
- | * Niveau requis : DÉBUTANT | + | * Niveau requis : {{tag>débutant avisé}} |
- | * Commentaires : //Manipuler les pdf en ligne de commande// | + | * Commentaires : //Manipuler les pdf en ligne de commande. // |
- | * Débutant, à savoir : utilisation de la [[manuel:ldc|ligne de commande]] dans le [[manuel:terminal|terminal]] ou dans la [[manuel:console|console]] - Et pour papillonner : [[manuel:debutant | La page pour débutant qui débute]]. | + | * 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 !)) | ||
Ligne 16: | Ligne 20: | ||
* ... | * ... | ||
- | On peut lire les pdf grâce à [[logiciel:evince|evince]]. | + | On peut lire les pdf grâce à [[:doc:environnements:gnome:evince|evince]]. |
+ | |||
+ | <note tip> 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]] | ||
+ | </note> | ||
===== Installation ===== | ===== Installation ===== | ||
Rien de plus facile que de l'installer avec votre gestionnaire de paquets habituel. | Rien de plus facile que de l'installer avec votre gestionnaire de paquets habituel. | ||
- | # apt-get install pdftk | + | <code root>apt update |
- | + | apt install pdftk</code> | |
- | ===== Configuration ===== | + | |
Il n'y a rien à configurer, en fait. À peine installé, il est déjà prêt à bosser. | Il n'y a rien à configurer, en fait. À peine installé, il est déjà prêt à bosser. | ||
- | ===== Utilisation ===== | + | ===== Assembler des fichiers ===== |
- | ==== Assembler des fichiers ==== | + | On peut concaténer plusieurs fichiers pour n'en faire qu'un seul : |
+ | <code user>pdftk fichier1.pdf fichier2.pdf cat output fichier3.pdf</code> | ||
- | On peut concaténer plusieurs fichiers pour n'en faire qu'un seul. | + | ou |
- | pdftk fichier1.pdf fichier2.pdf cat output fichier3.pdf | + | <code user>pdftk *.pdf cat output fichier-final.pdf</code> |
- | pdftk *.pdf cat output fichier-final.pdf | + | |
==== Extraire des pages ==== | ==== Extraire des pages ==== | ||
- | Si on veut isoler les pages 3 à 5 du fichier1.pdf ou de la page 4 à la fin : | + | Si on veut isoler les pages 3 à 5 du fichier1.pdf : |
- | pdftk fichier1.pdf cat 3-5 output fichier2.pdf | + | <code user>pdftk fichier1.pdf cat 3-5 output fichier2.pdf</code> |
- | pdftk fichier1.pdf cat 4-end output fichier2.pdf | + | |
+ | ou de la page 4 à la fin : | ||
+ | <code user>pdftk fichier1.pdf cat 4-end output fichier2.pdf</code> | ||
On peut extraire des parties de plusieurs fichiers sources et les fusionner en un fichier de sortie : | 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 | + | <code user>pdftk A=fichier1.pdf B=fichier2.pdf cat A3-5 B4-end output fichier3.pdf</code> |
- | pdftk A=fichier1.pdf B=fichier2.pdf cat A1 A3-5 B4-end output fichier3.pdf | + | |
+ | Puis : | ||
+ | <code user>pdftk A=fichier1.pdf B=fichier2.pdf cat A1 A3-5 B4-end output fichier3.pdf</code> | ||
==== Décompresser un document ==== | ==== Décompresser un document ==== | ||
On peut décompresser un document pour l'éditer ensuite en mode texte : | On peut décompresser un document pour l'éditer ensuite en mode texte : | ||
- | pdftk fichier.pdf output fichier-txt.pdf uncompress | + | <code user>pdftk fichier.pdf output fichier-txt.pdf uncompress</code> |
==== Pour extraire les pages une par une ==== | ==== Pour extraire les pages une par une ==== | ||
Dans ce cas, on extrait les pages d'un fichier une par une. | Dans ce cas, on extrait les pages d'un fichier une par une. | ||
- | pdftk fichier1.pdf burst | + | <code user>pdftk fichier1.pdf burst</code> |
==== Pivoter les pages ==== | ==== Pivoter les pages ==== | ||
Le pdf, on le prend et on le retourne à 180 °: | Le pdf, on le prend et on le retourne à 180 °: | ||
- | pdftk fichier1.pdf S cat 1-end output fichier2.pdf | + | <code user>pdftk fichier1.pdf cat 1-endsouth output fichier2.pdf</code> |
- | Si on ne veut pivoter qu'une plage de pages à 90°, pratique quand la secrétaire s'est emmêlée les crayons (sacrée µµ): | + | 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-8E 9-end output fichier3.pdf | + | <code user>pdftk fichier1.pdf cat 1-5 6-8east 9-end output fichier3.pdf</code> |
- | Et à -90°, merci la secrétaire :) : | + | |
- | pdftk fichier1.pdf cat 1-5 6-8W 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 : |
+ | <code user>pdftk fichier1.pdf cat 1-5 6-8west 9-end output fichier3.pdf</code> | ||
==== Chiffrer un document ==== | ==== Chiffrer un document ==== | ||
- | Cela se révèle extrêmement pratique pour l'envoi de document confidentiel. | + | Cela se révèle extrêmement pratique pour l'envoi de document confidentiel. \\ |
Chiffrer un document avec une clef 128 bits : | Chiffrer un document avec une clef 128 bits : | ||
- | pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe | + | <code user>pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe</code> |
Donner tous les droits à l'user sur le document chiffré avec un mot de passe utilisateur | 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 | + | <code user>pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe user_pw mdp_user</code> |
Autoriser uniquement la lecture et l'impression à l'utilisateur | 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 | + | <code user>pdftk fichier1.pdf output fichier-chiffre-en-128.pdf owner_pw mot_de_passe user_pw mdp_user allow Printing</code> |
Autoriser l'impression en qualité réduite : | 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 | + | <code user>pdftk fichier1.pdf output fichier-chiffre-en -28.pdf owner_pw mot_de_passe user_pw mdp_user allow DegradedPrinting</code> |
Et pour déverrouiller un fichier : | Et pour déverrouiller un fichier : | ||
- | pdftk fichier-chiffre-en-128.pdf input_pw mdp_user output fichier_ouvert.pdf | + | <code user>pdftk fichier-chiffre-en-128.pdf input_pw mdp_user output fichier_ouvert.pdf</code> |
Concaténer deux fichiers dont un est chiffré : | 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 | + | <code user>pdftk fichier1.pdf A=fichier-chiffre.pdf input_pw A=mot-de-passe cat output fichier final.pdf</code> |
==== Réparer un document ==== | ==== 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 : | 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 | + | <code user>pdftk fichier-corrompu.pdf output fichier-OK.pdf</code> |
==== Appliquer un filigrane ou un tampon ==== | ==== Appliquer un filigrane ou un tampon ==== | ||
- | On peut mettre un fichier pdf en arrière-plan d'un autre. Trop facile d'ajouter « confidentiel » : | + | 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 | + | <code user>pdftkfichier.pdf background confidentiel.pdf output fichier-confidentiel.pdf</code> |
De même, on peut ajouter un tampon ou un watermark : | De même, on peut ajouter un tampon ou un watermark : | ||
- | pdftk fichier.pdf stamp tampon.pdf output document-tampon.pdf | + | <code user>pdftk fichier.pdf stamp tampon.pdf output document-tampon.pdf</code> |
+ | |||
+ | ==== 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 : | ||
+ | <code user>pdftk pdftk-pour-modifier-les-pdf.pdf dump_data_utf8 output meta.txt</code> | ||
+ | <note important>pdftk affichera un message d'avertissement dans le cas où le document serait protégé par des droits d'auteur</note> | ||
+ | Le résultat se trouve dans le fichier meta.txt, voilà un extrait : | ||
+ | <file config meta.txt> | ||
+ | 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 | ||
+ | </file> | ||
+ | |||
+ | 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]]): | ||
+ | <file config meta.txt> | ||
+ | BookmarkTitle: Présentation super chouette | ||
+ | </file> | ||
+ | Ensuite il ne reste plus qu'à créer le fichier avec les nouvelles méta-données en tapant la commande : | ||
+ | <note important>Vérifiez que vous disposez des droits (licence) de modifier le fichier pdf avant d'utiliser cette commande.</note> | ||
+ | <code user>pdftk pdftk-pour-modifier-les-pdf.pdf update_info_utf8 meta.txt output pdftk-nouvelles-metadonnee.pdf</code> | ||
+ | |||
==== Tant d'autres choses ==== | ==== Tant d'autres choses ==== | ||
- | Le tour du propriétaire n'est pas fini. pdftk permet d'extraire et de modifier les méta-données, de remplir des formulaires… À voir dans le man, je n'ai pas encore bouclé la boucle. | + | 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. | ||