bengale2005 a écrit:Toujours au gré de mes recherches (sur pdfimages en l'occurence) je tombe là-dessus qui correspondait précisément au pb initial (sauf qu'il s'agit uniquement d'images et que dans ce cas, pdfimages est exactement ce qu'il faut).
http://linuxfr.org/forums/41/12353.html
Exact. Pour le cas d'images, j'avais déjà la solution avec pdfimages.
En résumé, voilà où j'en suis arrivé :
(sous Ubuntu >7.4)
- Documents scannés : retailler les images
Cf. : http://mathieu.basille.net/blognotes/index.php/2007/05/20/207-mesaventures-d-un-pdf
- Documents non scannées : redéfinir les marges et la mise en page
- Installation du paquet pdfjam (dépot officiel Universe)
- Code: Tout sélectionner
sudo aptitude install pdfjam
Il contient, entre autres, pdfnup & psnup (pour mettre plusieurs pages par pages dans le pdf), pdfjoin (pour concaténer des pdfs) et pdf90 (pour effectuer une rotation des pdf)
- Pour redéfinir les marges, on utilise le paramètre trim de pdfnup, sur le modèle "g b d h" :
- Code: Tout sélectionner
pdfnup --trim "2cm 2cm 2cm 2cm" --nup 1 source.pdf
Le paramètre --nup est par défaut à 2×1. Mettre à 1 pour garder en 1 page par page.
- Créer un booklet (impression 2 pages par pages sur A4, avec pliure au milieu, tel que cela créé un livret)
- Installation du paquet libtext-pdf-perl (dépot officiel Universe)
- Code: Tout sélectionner
sudo aptitude install libtext-pdf-perl
Il contient, entres autres, pdfbklt (pour créer des livrets), pdfstamp (pour incruster une chaîne de caractères dans un pdf à une localisation précise) et pdfrevert (je n'ai pas compris à quoi ça sert. Le man dit : Removes one layer of changes to a PDF file, trying to maximise the size of the output file (to account for linearised PDF)). J'ai eu du mal à trouver pdfbklt sous Linux et je suis bien content d'y être arrivé
- Création du livret :
- Code: Tout sélectionner
pdfbklt -l source-sans-marges.pdf
(-l pour faire une mise à l'échelle proportionnelle au document de départ)
/!\ pdfbklt ne permet pas de définir un fichier de sortie et écrase sans remords le fichier d'entrée.
/!\ Penser à en faire une copie au préalable !
- Impression en recto-verso :
- Code: Tout sélectionner
lpr -P Printer -o sides=two-sided-short-edge source-sans-marges.pdf
Le "retournement" doit se faire du côté court pour que les pages correspondantes tombent l'une derrière l'autre.
J'invite tout spécialiste des scripts à mixer un peu tout ça
(pour ma part, je n'ai ni le temps, ni les connaissances pour le faire)
L'idéal serait effectivement une interface graphique pour des outils comme pdftk, pdfjam, ou la libtext-pdf. Ça serait un réel bonheur
[hr]
NB : à propos de pdfnup, on peut voir dans le man :
It depends on a working installation of (pdf)LaTeX.
En plus de quoi quand on lance pdfnup, on peut voir dans les messages :
- Code: Tout sélectionner
This is pdfnup version 1.20
Processing temp.pdf...
Temporary LaTeX file for this job is /var/tmp/286317469680-1.tex
Calling pdflatex...
Finished: output is /home/mathieu/Bureau/temp/temp-2x1.pdf
On pourrait croire qu'il récupère la structure du pdf dans un .tex, mais ce n'est pas le cas. Si on jette un œil au fichier tex temporaire, il est de ce type-là :
- Code: Tout sélectionner
\documentclass[a4paper,landscape]{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-,nup=2x1,frame=false,fitpaper=false,trim=2cm 2cm 2cm 2cm,delta=0 0,offset=0 0,scale=1.0,turn=true,noautoscale=false,column=false,columnstrict=false,openright=false]{/var/tmp/258302592715010-1source.pdf}
\end{document}
Au final, c'est donc une modif du pdf via pdfLaTeX. Presque dommage !