Je vais montrer cette fois comme faire de jolie doc à partir d'un pdf ou un fichier postscript.
Je ne sais pas vous mais je récupère beaucoup de documentation pour mon travail à partir du net.
Documentation informatique, machines, spec ....
Certaines documentations sont assez fastidieuses à lire à l'écran. (ex les livres sur le C++ de Bruce Eckel par exemple sont quand même mieux sur papier).
Oui mais voilà, les documents comprennent certaines fois un grand nombre de pages (> 400 pages). Imaginez si vous devez imprimer 400 pages...
Bon il existe le recto-verso ;), mais il y encore mieux, le booklet
Le booklet est un format qui permet de mettre 4 pages sur une seule page imprimée, plutôt sympa pour l'imprimante, et votre patron par la même occasion.
Mais voilà comment arranger les pages pour que par exemple la derniére page se retrouve au verso de la première page ?
Et bien utiliser le script suivant ;) :
#! /bin/bash
echo -e "Arguments : "$#
if [ $# -ne 2 ]
then echo -e "Usage : createbook
\n\n" exit
fi
book=$1
output=$2
if [ -e "$book" ]
then echo -e "$book as reference\n"
else
echo -e "$book does not exist\n"
exit
fi
psbook $book | psnup -2 -Pa4 -pa4 | a2ps -1 -s tumble -o $output
echo -e "$output generated\n"
Quelques explications psbook prépare chaque page du document book à être réarrangé.
Psnup permet de mettre plusieurs page sur une même page ici 2 page (option -2) en format a4.
Et le a2ps permet de ranger dans le bon ordre les pages, mode tumble, en mode booklet :p.
Voilà, je vous conseille encore de lire les mans de chaque commande, car vous pourrez voir la puissance de ces commandes.
Bon je ne sais pas pour vous, mais moi je manipule beaucoup de document postscript (.ps) et y compris des documents pdf. Dans cet article je vais parler de plusieurs petits scripts que j'ai écris et qui me permettent de manipuler ces documents (concaténation, booklet, pdf vers ps etc ...).
PostScript
Le postscript est un format bien sympa. Il est facilement imprimable et manipulable, et ceci surtout quand vous êtes sous un environnement unix.
Un grand nombre de logiciel savent le gérer, dans la liste (et donc indispensable à installer ;) ) :
Voila, maintenant que vous avez ces logiciels, apprenons à les utiliser ;).
Dans le prochain script, je montre comment créer des concaténations de documents postscript. En gros lorsque vous avez plusieurs documents postscript dont vous aimeriez qu'ils ne fassent plus qu'un. ( cette phrase me rappelle étrangement quelque chose :)).
#! /bin/bash
echo -e "Arguments : "$#
if [ $# -lt 2 ]
then echo -e "Usage : concatps
\n\n" exit
fi
last=$(($# -1))
start=1
from=" "
while [ $start -le $last ]
do
from=`echo $from " " $1`
shift
start=$(( $start + 1))
done
output=$1
#echo $last
#from=$_
#output=$$#
gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=$output -f $from
echo -e "$output generated\n"
Voilà ;).
Aller quelques explications. La boucle While dans le script bash, permet de récupérer les noms de tous les fichiers postscripts à traiter. Le dernier argument est le fichier finale.
Maintenant la ligne la plus utile, du moins pour l'intérêt du programme:), gs...
gs est le programme ghostscript, c'est ce programme qui va efféctuer cette tâche. Dans les options, on lui demande ici de faire cette tâche en fond (option -dBATCH), en ne prenant pas de pause café (-dNOPAUSE), et en utilisant comme sortie physique le programme pswrite (qui permet de ne pas imprimer mais de ressortir le travail dans un fichier).
Le reste des arguments est compréhensible.
Faites en bon usage ;).
A oui j'allais oublié, je vous donne quelques commandes qui vous permettent de manipuler les documents postscript et pdf :
- pdfimages (du logiciel convert), permet d'extraire toutes les images d'un document pdf
- pdf2ps et pdftops, permettent eux, de convertir un fichier pdf en ps
Autrement les mans sont vont amis...