Date création : 27-06-2008 22:04:33 Date de la dernière modification : 19-07-2008 20:18:52
 Vous êtes dans : GNU/Linux Astuces / BureautiqueFusionner des fichiers au format PDF
Pourquoi fusionner 2 ou plusieurs fichiers au format PDF?
- il peut vous arriver de devoir télécharger un tutoriel PDF divisé en plusieurs petites parties
- vous voulez tout simplement fusionner 2 ou plusieurs fichiers pour n'avoir qu'un seul document
Cette astuce utilise la commande gs (voir man gs pour plus de détails).
Une autre possibilité c'est avec la commande pdftk, la voici.
La syntaxe et la suivante :
| ~$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=fic.pdf liste_fichiers
|
Explication des options :
- -dBATCH
- recueille et regroupe en tâche de fond, toutes les informations à la base, afin de pouvoir les exécuter ensuite en un seul et unique fichier de sortie.
- -dNOPAUSE
- Désactive le prompt et s'arrête à la fin de chaque page. Ceci peut être
lorsque Ghostscript est piloté par une autre application.
- -sDEVICE
- Sélectionne un périphérique de sortie initiale
-
-sOutputFile
- Sélectionne un fichier de sortie (ou un pipe) comme périphérique de sortie initiale
En général il s'agit d'une liste de fichiers separés par un espace.
Exemple :
Pour l'exemple nous allons utiliser deux fichiers PDF :
Le fichier obtenu se nommera sortie.pdf.
~$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=sortie.pdf simple_comme_ubuntu_710.pdf linux.pdf
|
Utilisation d'un script
Vous remarquez que la commande est un peu longue.
Cependant vous n'aurez pas toujours besoin de fusionner des fichiers.pdf.
Toutefois si nécessaire, vous pouvez écrire un script, qui vous épargnera de taper cette longue commande.
Ouvrez votre editeur de texte préféré et écrivez les lignes suivantes :
#! /bin/sh
out=$1
shift 1
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$out $*
|
Explication de script :
out=$1 veut dire que la variable out contiendra le 1er paramètre passé au script (c'est le nom de fichier fusionné)
shift permet de passer au deuxième paramètre (le nom du 1er fichier à fusionner)
$* permet de lire tous les paramètres qui restent (les noms de fichiers à fusionner)
Maintenant vous pouvez enregistrer ce que vous avez écrit. Mettez par exemple le nom fusion.pdf
Il ne vous reste qu'à exécuter le script de la manière suivante :
| sh /chemin/vers/fusion.sh resultat.pdf fic1.pdf fic2.pdf fic3.pdf
|
Comme vous remarquez c'est bien plus simple avec un script que de taper la commande entière.
|