Votre IP: 38.107.191.118 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 27-06-2008 22:04:33
Date de la dernière modification : 19-07-2008 20:18:52
Linux  Vous êtes dans : GNU/Linux Astuces / Bureautique

Fusionner 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.



Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS