Ceci est une ancienne révision du document !
Table des matières
Conversions
Changement de formats
convert (binaire d'imagick) connait beaucoup de formats et permet les conversions.
pdf2swf
binaire du paquet swftools
img2swf
le paquet swf tools permet de convertir jpeg et png en swf, avec les utilitaires qui vont bien pour jouer sur les tailles et les décalages.
exemple png2swf, avec décalage
Il faut mettre des png “plein pot” (pour pouvoir zoomer) dans des swf de 600×820, en décalalnt le résultat pour équilibrer les blancs. Le gros du travail est le script awk (qui génère l'affectation de 2 variables pour le shell)
for f in $src/*.png; do \ echo; echo $f; \ eval $(identify $f|sed -e 's/.*PNG \([0-9]\+\)x\([0-9]\+\).*/\1 \2/'|awk ' {x=$1; y=$2}; END { a=60000/x; b=82000/y; if (a < b) { scale=a; decaly=(820-y*scale/100)/2; if (decaly >20) arg="-y 20 "; else arg="-y " decaly -decaly % 1 } else { scale=b; decalx=(600-(x*scale/100))/2; arg="-x " decalx - decalx % 1 }; print "scale=" scale " arg=\"" arg "\"" }'); \ echo "On obtient scale=$scale et arg=$arg"; \ png2swf -s $scale -o tmp.swf $f; \ swfcombine -T -o $swf/$(basename $f .png).swf fond_blanc_600x820.swf $arg tmp.swf;\ done;
pdf2img
on peut utiliser gs ou convert…
Avec gs (le %d sert à incrémenter un n° suivant les pages du pdf, ici on sort en png 24bits, à 300dpi)
gs -dBATCH -dNOPAUSE -r300 -sDEVICE=png16m -sOutputFile=resultat%d.png source.pdf
Manipulations d'image
Options de convert
La liste est sur http://www.imagemagick.org/script/command-line-options.php (ajouter #option-voulue à l'url pour aller directement sur la description voulue).
La liste des couleurs utilisables http://www.imagemagick.org/script/color.php
composite
pour décaler une image over.png sur une autre (souvent un fond…) under.png de 25 pixel vers la droite et 50 pixels vers le bas :
composite -geometry +25+50 over.png under.png out.png
Exemples
Créer un fond (blanc)
convert -size 600×820 xc:white fond.png
- crop auto avec convert -trim
Manipulation de pdf
Tous est dans pdftk…
Découper
Pour faire un pdf par page :
pdftk $f burst output $(basename $f .pdf)_%02d.pdf
(man pdftk pour plus d'infos, avec des plages de pages éventuelles, les pages paires seulement, etc…)
Regourper
pdftk fichier1.pdf fichier2.pdf cat output fichier_sortie.pdf