Si vous souhaitez faire des montages de différents fichiers PDF (prendre la première page d'un premier document et la coller à la fin d'un second, en y ajoutant les pages 4, 7 à 10 d'un troisième document) ou bien simplement raccourcir un fichier PDF (ne garder que les N premières pages ou bien les pages 4 à 5 et la dernière page d'un document) alors pdftk est fait pour vous.

 

pdftk (pour pdf toolkit) est un vrai couteau suisse (ou boîte à outils) pour le traitement de PDF.

 

Il est disponible sous Windows, Linux, BSD et Mac OS X et nul besoin d'avoir quelque version que ce soit d'Acrobat Reader ou Writer (ou Acroread ou que sais-je encore...).

 

Le but ici n'est pas de faire le tour de toutes les possibilités mais d'en montrer un usage courant et pratique... bref le genre de choses qu'il est nécessaire de connaître dans la vie de tous les jours (quoi votre quotidien n'est pas parsemé de fichiers PDFs ? Ah...).

 

Des exemples sont montrés sur la page officielle (lien donné plus haut mais je vous le remets ici car je suis gentil) mais malheureusement les explications sont en anglais. Il y a également l'ensemble des possibilités offertes par pdftk.

  • Concaténation simple de fichiers PDF : cat

C'est l'usage premier que l'on a du logiciel. Il permet de mettre des fichiers PDF les uns à la suite des autres (dans l'ordre donné si rien n'est précisé) :

pdftk premier_fichier.pdf deuxième_fichier.pdf cat output fichier_final.pdf

Ici on peut voir l'ordre dans lequel sont passés les différents arguments (les fichiers avec lequels travailler, la commande et le fichier de sortie), à noter le fichier résultant (qui n'existe pas encore avant de lancer la commande) toujours précédé de output.

 

Une autre variante en utilisant un "wildcard" (joker) pour ne pas avoir à préciser les n fichiers PDF à coller les uns derrière les autres : dans ce cas l'ordre est donné par le nom des fichiers...

pdftk *.pdf cat output fichier_final.pdf

 

  • Concaténation avancée de fichiers PDF : cat avec variables

On met les noms de fichiers en variable pour les réutiliser simplement...

pdftk A=premier_fichier.pdf B=deuxième_fichier.pdf cat A2 A7-25 B1-3 output fichier_final.pdf

Ici on concatène les pages 2, 7 à 25 du document 1 avec les pages 1 à 3 du document 2 dans le document fichier_final.pdf. A noter le fait que l'on utilise deux fois la variable A. On peut effectivement les rappeler autant de fois que possible à n'importe quel moment. Exemple "A2 A7-25 B1-3 A3 A1" (etc.)

 

Voici pour les variables utilisateurs mais on peut également en utiliser des spéciales...

pdftk A=premier_fichier.pdf B=deuxième_fichier.pdf cat A2 A7-25 B3-end output fichier_final.pdf

Ici on utilise le mot clef "end" (dans "B3-end") ce qui veut dire que l'on va faire comme précédemment sauf que les pages prises dans le document 2 seront différentes : on va prendre de la 3ème page jusqu'à la fin du 2ème document.

Plus vicieux encore : on souhaite la même chose mais avec les pages du document 2 en ordre inverse (donc en ordre décroissant par rapport au numéro de page). C'est tout à fait possible en inversant les symboles : "Bend-3"...

pdftk A=premier_fichier.pdf B=deuxième_fichier.pdf cat A2 A7-25 Bend-3 output fichier_final.pdf

... ainsi ici nous concaténons les pages 2, 7 à 25 du document 1 avec, par ordre décroissant, de la dernière à la 3ème page du document 2 dans le document fichier_final.pdf.

 

Evidemment d'autres combinaisons sont possibles. Par contre nul besoin de chercher le mot clef "begin" il n'existe pas ; il suffit bêtement d'utiliser "1". Exemple : "A5-1" extraira par ordre décroissant de la 5ème à la première page d'un document PDF.

 

Donc si l'on veut rigoler un bon coup et pour finir avec la commande "cat" de pdftk il est possible d'inverser toutes les pages d'un document :

pdftk A=premier_fichier.pdf cat Aend-1 output fichier_final.pdf

Tag(s) : #bash

Partager cet article

Repost 0
Pour être informé des derniers articles, inscrivez vous :