Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
pdftk [Le 18/05/2009, 02:53]
Ner0lph
pdftk [Le 03/11/2022, 12:37] (Version actuelle)
86.234.159.68 [Concaténation]
Ligne 1: Ligne 1:
-{{tag>Dapper Hardy Intrepid Jaunty ​pdf}}+{{tag>Focal Bionic Xenial ​pdf bureautique}}
  
 ---- ----
Ligne 13: Ligne 13:
  
 ===== Installation ===== ===== Installation =====
 +==== Après Ubuntu 18.04====
 +Il suffit d’[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​pdftk]]** ou **[[apt>​pdftk-java]]** à partir d'​Ubuntu 18.10 (réécriture du logiciel pour s'​affranchir des dépendances obsolètes).
 +====Ubuntu 18.04====
 +Pour utiliser pdftk sous Ubuntu 18.04, installer le [[snap]] de pdftk (mais il ne faut pas compter disposer d'une man page avec snap).
  
-Il suffit ​d’[[:​tutoriel:​comment_installer_un_paquet|installer ​le paquet]] **[[apt://pdftk|pdftk]]**. +Autre moyen, installer l'​ancienne version avec les dépendances nécessaires. ​Il faut d'​abord ​installer ​par les dépôts 18.04 gcc-6-base, puis par gdebi dans l'​ordre ​ libgcj-common,​ libgcj16 et pdftk. Les 3 paquets sont disponibles ici : https://oernst.org/pdftk.zip .
 ===== Utilisation ==== ===== Utilisation ====
  
Ligne 29: Ligne 32:
  
 ^ Opérande ^ Signification ^ ^ Opérande ^ Signification ^
-| [[#fusion_concatenation_jointure|cat]] | concaténation,​ déconcaténation |+| [[#concatenation|cat]] | concaténation,​ déconcaténation |
 | [[#​extraction|burst]] | extraction | | [[#​extraction|burst]] | extraction |
 | [[#​rapports|dump_data]] | extraction des méta-données,​ marque-pages (signets) et étiquettes de page d’un PDF | | [[#​rapports|dump_data]] | extraction des méta-données,​ marque-pages (signets) et étiquettes de page d’un PDF |
Ligne 38: Ligne 41:
 | [[#​filigrane|background]] | met un document en filigrane (en arrière-plan) d'un autre document | | [[#​filigrane|background]] | met un document en filigrane (en arrière-plan) d'un autre document |
 | [[#​tampon|stamp]] | tamponne un document avec un autre document (mis au premier-plan) | | [[#​tampon|stamp]] | tamponne un document avec un autre document (mis au premier-plan) |
 +| [[#​tampon|multistamp]] | tamponne un document avec un autre document page à page (mis au premier-plan) |
 | generate_fdf | génère un fichier FDF vierge ou avec les valeurs par défaut selon les champs contenu dans le PDF | | generate_fdf | génère un fichier FDF vierge ou avec les valeurs par défaut selon les champs contenu dans le PDF |
 | [[#​liste_des_champs_d_un_formulaire|dump_data_fields]] | génère un fichier texte contenant la liste des champs d’un PDF, leur type, leur valeur par défaut, etc. | | [[#​liste_des_champs_d_un_formulaire|dump_data_fields]] | génère un fichier texte contenant la liste des champs d’un PDF, leur type, leur valeur par défaut, etc. |
Ligne 45: Ligne 49:
 ===== Quelques exemples ==== ===== Quelques exemples ====
  
-==== Fusion, concaténation,​ jointure ​====+==== Concaténation ​====
  
 La fusion ou la concaténation de deux fichiers PDF ou plus se fait avec l’opérande **cat** : La fusion ou la concaténation de deux fichiers PDF ou plus se fait avec l’opérande **cat** :
Ligne 51: Ligne 55:
   pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf   pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf
  
-ou (avec des alias) :+ouavec des alias (un alias ne peut qu'​être une unique lettre majuscule) :
  
   pdftk A=1.pdf B=2.pdf cat A B output 12.pdf   pdftk A=1.pdf B=2.pdf cat A B output 12.pdf
  
-Pour concaténer tous les fichiers PDF du répertoire courant (donc avec les jokers) :+Pour concaténer tous les fichiers PDF du répertoire courant (donc avec les jokers) ​et à condition qu'il n'y ait pas d'​espace dans les noms de fichier ​:
  
   pdftk *.pdf cat output tous.pdf   pdftk *.pdf cat output tous.pdf
- 
 Pour concaténer la page 1 puis les pages 5 à 8 d'un premier document puis, par ordre décroissant de la dernière à la page 6 d'un deuxième document : Pour concaténer la page 1 puis les pages 5 à 8 d'un premier document puis, par ordre décroissant de la dernière à la page 6 d'un deuxième document :
  
Ligne 66: Ligne 69:
  
   pdftk A=sécurisé.pdf mon-document.pdf input_pw A=foopass cat output document-combiné.pdf   pdftk A=sécurisé.pdf mon-document.pdf input_pw A=foopass cat output document-combiné.pdf
 +  ​
 + ​Séparer pages paires et impaires
 +
 +   pdftk fichier.pdf cat 1-endeven output fichier-pair.pdf
 +   pdftk fichier.pdf cat 1-endodd output fichier-impair.pdf ​  
 +
  
 ==== Déconcaténation ==== ==== Déconcaténation ====
  
-Sépare les pages sélectionnées depuis de multiples PDF dans un nouveau ​document :+Sépare ​toutes ​les pages d'un fichier et les enregistre dans des fichiers différents : 
 + 
 +  pdftk document.pdf burst 
 + 
 +Sépare les pages de //​document.pdf//​ et les enregistre dans le même dossier en nommant les pages //​pg_0001.pdf,​ pg_0002.pdf...//​ 
 + 
 +On peut préciser en argument de output l’appellation générique avec par exemple : 
 + 
 +   pdftk document.pdf burst output copie_no%d.pdf
  
-  pdftk A=un.pdf B=deux.pdf cat A1-7 B1-5 A8 output nouveau_document.pdf+Qui produira en sortie les fichiers : //copie_no1.pdf, copie_no2.pdf...//
  
  
 ==== Rotations ==== ==== Rotations ====
  
-Il s’agit de placer après l’intervalle des lettres en capitales représentant les points cardinaux (en anglais) de sorte que le haut de la page sur l'​écran corresponde au point cardinal choisi.+{{ :​divers:​120px-simple_compass_rose.svg.png?​nolink|Rose des vents}}
  
-{{ :​divers:​120px-simple_compass_rose.svg.png?​nolink |Rose des vents}}+Il s’agit de placer après l’intervalle des lettres en capitales représentant les points cardinaux (en anglais) de sorte que le haut de la page d'​origine sur l'​écran corresponde au point cardinal choisi.
  
-Pivote la première page d’un PDF de 90 degrés dans le sens horaire (donc à l’est, point E) :+Pivote la première page d’un PDF de 90 degrés dans le sens horaire (donc à l’est, point east), mais pas les autres pages :
  
-  pdftk entrée.pdf cat 1E 2-end output sortie.pdf+  pdftk entrée.pdf cat 1east 2-end output sortie.pdf
  
-Pivote les pages d'un document PDF entier ​de 180 degrés (au sud, point S) :+Pivote ​toutes ​les pages d'un document PDF de 180 degrés (au sud, point S) :
  
-  pdftk entrée.pdf cat 1-endS output sortie.pdf+  pdftk entrée.pdf cat 1-endsouth ​output sortie.pdf
  
 ==== Sécurité ==== ==== Sécurité ====
Ligne 110: Ligne 127:
 ==== Compression ==== ==== Compression ====
  
-Décomprime les flux de page PDF pour modifier le code PDF dans un éditeur de texte :+Décomprime les flux de page PDF (utile en particulier ​pour modifier le code PDF dans un éditeur de texte:
  
   pdftk mon-document.pdf output mon-document.décomprimé.pdf uncompress   pdftk mon-document.pdf output mon-document.décomprimé.pdf uncompress
  
 +Comprime les flux de page PDF (utile en particulier pour gagner de la place) :
 +
 +  pdftk mon-document.pdf output mon-document.comprimé.pdf compress
 +
 +<note tip>La commande suivante est beaucoup plus efficace :  gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=fichier_reduit.pdf fichier_a_reduire.pdf</​note>​
 +  ​
 ==== Réparation ==== ==== Réparation ====
  
Ligne 130: Ligne 153:
 Pour extraire une seule page d'un document : Pour extraire une seule page d'un document :
  
-  pdftk A=mon-document.pdf cat A1 output page1-de-mon-document.pdf+  pdftk mon-document.pdf cat output page1-de-mon-document.pdf
  
 Pour extraire plusieurs pages situées les unes à la suite des autres : Pour extraire plusieurs pages situées les unes à la suite des autres :
  
-  pdftk A=mon-document.pdf cat A2-5 output pages2-a-5-de-mon-document.pdf+  pdftk mon-document.pdf cat 2-5 output pages2-a-5-de-mon-document.pdf
  
 Pour extraire plusieurs pages d'un document et les insérer dans un seul document (pages 6, 2 à 5 et 7 à 9 insérées dans l'​ordre 6, 2 à 5, 7 à 9) : Pour extraire plusieurs pages d'un document et les insérer dans un seul document (pages 6, 2 à 5 et 7 à 9 insérées dans l'​ordre 6, 2 à 5, 7 à 9) :
  
-  pdftk A=mon-document.pdf cat A6 A2-5 A7-9 output pages-de-mon-document.pdf+  pdftk mon-document.pdf cat 6 2-5 7-9 output pages-de-mon-document.pdf
  
  
Ligne 156: Ligne 179:
 ==== Rapports ==== ==== Rapports ====
  
-Rapporte (extrait) ​les méta-données,​ les marque-pages (signets) et les étiquettes de page d’un PDF dans un fichier texte :+Extrait ​les méta-données,​ les marque-pages (signets) et les étiquettes de page d’un PDF dans un fichier texte :
  
   pdftk mon-document.pdf dump_data output rapport.txt   pdftk mon-document.pdf dump_data output rapport.txt
Ligne 170: Ligne 193:
 === Remplir un formulaire PDF === === Remplir un formulaire PDF ===
  
-Permet de remplir les champs d’un formulaire PDF avec des données provenant d’un fichier FDF ou d'un fichier XFDF.+Permet de remplir les champs d’un formulaire PDF avec des données provenant d’un fichier FDF ou d'un fichier XFDF (XML).
  
   pdftk document.pdf fill_form données.fdf output document-rempli.pdf   pdftk document.pdf fill_form données.fdf output document-rempli.pdf
Ligne 181: Ligne 204:
   pdftk document.pdf fill_form données.fdf output document-rempli.pdf flatten   pdftk document.pdf fill_form données.fdf output document-rempli.pdf flatten
   pdftk document.pdf fill_form données.xfdf output document-rempli.pdf flatten   pdftk document.pdf fill_form données.xfdf output document-rempli.pdf flatten
 +
 +<note tip>Si le PDF existe déjà, PDFTK le signalera //sur la ligne de commande// et //attendra une réponse//. Utiliser « ''​dont_ask''​ » en fin de commande permet d'​écraser un éventuel fichier existant automatiquement. Exemple :
 +  pdftk document.pdf fill_form données.fdf output document-rempli.pdf dont_ask
 +</​note>​
  
 === Exemple de fichier XFDF === === Exemple de fichier XFDF ===
  
-Soit un fichier PDF contenant deux champs de saisie, nommés « ''​SAI_Lieu''​ » et « ''​SAI_Date''​ ». Pour (pré-)remplir ces champs de saisie par programmation,​ le fichier XFDF généré doit avoir au moins la forme suivante :+Soit un fichier PDF contenant deux champs de saisie, nommés « ''​SAI_Lieu''​ » et « ''​SAI_Date''​ ». Pour (pré-)remplir ces champs de saisie par programmation,​ le fichier XFDF généré doit au moins avoir la forme suivante ​et être en UTF-8 :
  
-<​code>​+<​code ​xml>
 <?xml version="​1.0"​ encoding="​UTF-8"?>​ <?xml version="​1.0"​ encoding="​UTF-8"?>​
 <xfdf xmlns="​http://​ns.adobe.com/​xfdf/"​ xml:​space="​preserve">​ <xfdf xmlns="​http://​ns.adobe.com/​xfdf/"​ xml:​space="​preserve">​
Ligne 197: Ligne 224:
         </​field>​         </​field>​
     </​fields>​     </​fields>​
-    <f href="​fichier.pdf"​ /> 
 </​xfdf>​ </​xfdf>​
 </​code>​ </​code>​
Ligne 208: Ligne 234:
  
   pdftk document.pdf background fond.pdf output sortie.pdf   pdftk document.pdf background fond.pdf output sortie.pdf
 +  ​
 +On peut utiliser des fichiers multi-pages si le nombre de pages est identique :
 +  ​
 +  pdftk document.pdf multibackground fond.pdf output sortie.pdf  ​
  
 === Tampon === === Tampon ===
  
-Permet de tamponner un PDF avec un autre PDF :+Permet de tamponner un PDF (document-à-tamponner.pdf) ​avec un autre PDF (tampon.pdf) ​:
  
   pdftk document-à-tamponner.pdf stamp tampon.pdf output document-tamponné.pdf   pdftk document-à-tamponner.pdf stamp tampon.pdf output document-tamponné.pdf
  
 +=== Tampon multiple ===
 +
 + ​Permet par exemple de rajouter les numéros de pages à un pdf
 +
 +  pdftk document-à-tamponner.pdf multistamp pages_vierges_avec_numeros_de_page.pdf output document-tamponné.pdf
 +  ​
 + ( les pages numérotées peuvent être crées avec un script sous libreoffice)
 ==== Modifier les méta-données ==== ==== Modifier les méta-données ====
  
-Permet de modifier ou de mettre à jour les méta-données du PDF, préalablement extraites avec l’opérande « [[#rapport|dump_data]] ».+Permet de modifier ou de mettre à jour les méta-données du PDF, préalablement extraites avec l’opérande « [[#rapports|dump_data]] ».
 Il suffit de modifier le fichier « rapport.txt » contenant l’extraction en question, puis de mettre à jour des méta-données du PDF de la manière suivante : Il suffit de modifier le fichier « rapport.txt » contenant l’extraction en question, puis de mettre à jour des méta-données du PDF de la manière suivante :
  
Ligne 229: Ligne 266:
 ===== Voir aussi ===== ===== Voir aussi =====
  
 +  * **(fr)** [[pdf|La page PDF du wiki Ubuntu-fr]]
   * **''​(en)''​** [[http://​www.pdftk.org|Le site officiel]] ([[http://​web.archive.org/​web/​20080211115400/​www.accesspdf.com/​pdftk/​|archive]])   * **''​(en)''​** [[http://​www.pdftk.org|Le site officiel]] ([[http://​web.archive.org/​web/​20080211115400/​www.accesspdf.com/​pdftk/​|archive]])
   * **''​(en)''​** [[http://​www.accesspdf.com/​article.php/​20050510131850979|Remplir un formulaire PDF en utilisant une interface HTML]] ([[http://​web.archive.org/​web/​20080211115400/​http://​www.accesspdf.com/​article.php/​20050510131850979|archive]])   * **''​(en)''​** [[http://​www.accesspdf.com/​article.php/​20050510131850979|Remplir un formulaire PDF en utilisant une interface HTML]] ([[http://​web.archive.org/​web/​20080211115400/​http://​www.accesspdf.com/​article.php/​20050510131850979|archive]])
 +  * **(fr)** [[http://​www.it-connect.fr/​fusionner-des-pdf-sous-linux-avec-pdftk/​|Fusionner des PDF sous Linux avec pdftk : Le tutoriel complet !]] sur IT-Connect
  
 ---- ----
  
-//​Contributeurs : [[:​utilisateurs:​Ner0lph|Floriang]], [[:​utilisateurs:​ZondeR]].//+//​Contributeurs ​principaux ​: [[:​utilisateurs:​Floriang]],​ [[:​utilisateurs:​ZondeR]], [[:​utilisateurs:​eagle08]]//.
  • pdftk.1242607991.txt.gz
  • Dernière modification: Le 18/05/2009, 02:53
  • par Ner0lph