J'ai un fichier PDF de deux pages que je voudrais convertir en un fichier GIF animé. A sur le site TeX StackExchange donne la ligne unique ImageMagick suivante :
convert -verbose -delay 50 -loop 0 -density 300 file.pdf file.gif
Si j'essaie ceci sur une boîte linux ( convert --version
donne 6.5.4-7 2012-04-10) J'obtiens ce journal :
"gs" -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 "-sDEVICE=pnmraw" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r300x300" "-sOutputFile=/tmp/magick-XX30a4nG" "-f/tmp/magick-XX690OkA" "-f/tmp/magick-XX3GCKhu"
/tmp/magick-XX30a4nG[0] PNM 1512x1134 1512x1134+0+0 8-bit DirectClass 9.811mb
/tmp/magick-XX30a4nG[1] PNM 1512x1134 1512x1134+0+0 8-bit DirectClass 9.811mb
file.pdf[0] PDF 1512x1134 1512x1134+0+0 16-bit DirectClass 9.811mb
file.pdf[0] PDF 1512x1134 1512x1134+0+0 16-bit DirectClass 9.811mb
file.pdf=>file-linux.gif[0] PDF 1512x1134 1512x1134+0+0 16-bit Palette PseudoClass 111c 2.620u 0:03
[ gs
est GPL Ghostscript 8.70 (2009-07-31)] et cela fonctionne comme prévu. Mais si j'essaie cela sur mon mac, en utilisant la suite ImageMagick installée par macports (6.8.0-7 2013-01-04), j'obtiens ce journal :
"/opt/local/bin/gsx" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r300x300" "-sOutputFile=/var/folders/kf/t7750q1w8xjcjy0059bpyx180000gq/T/magick-15750GLLaATgky5I1" "-f/var/folders/kf/t7750q1w8xjcjy0059bpyx180000gq/T/magick-15750ljasKifrwJcW" "-f/var/folders/kf/t7750q1w8xjcjy0059bpyx180000gq/T/magick-15750w8mj9AZrkJA8"
/var/folders/kf/t7750q1w8xjcjy0059bpyx180000gq/T/magick-15750GLLaATgky5I1 PNG 1512x1134 1512x1134+0+0 8-bit sRGB 64.5KB 0.050u 0:00.049
file.pdf PDF 1512x1134 1512x1134+0+0 16-bit sRGB 64.5KB 0.000u 0:00.000
file.pdf=>file.gif PDF 1512x1134 1512x1134+0+0 16-bit Palette sRGB 106c 0.410u 0:00.409
[ /opt/local/bin/gsx
est GPL GhostScript 9.06 (2012-08-08)] Cette fois, le fichier GIF résultant ne comporte qu'une seule image, la première page du PDF.
Jusqu'à présent, j'ai utilisé la solution de rechange suivante pdftk file.pdf burst
pour répartir chaque page du PDF dans son propre fichier, puis convert [options] pg_*.pdf file.gif
. Cela fonctionne bien, mais je préférerais un script en une ligne.
Les versions Mac étant plus récentes, je pense que c'est une question d'implémentation. La seule différence majeure que je vois entre les deux est la suivante -sDEVICE=pnmraw
pour la version linux et -sDEVICE=pngalpha
pour le Mac. Puis-je dire convert
pour passer des options à gsx
?