Tengo un archivo PDF de dos páginas que me gustaría convertir a un archivo GIF animado. Una publicación en TeX StackExchange ofrece la siguiente línea de ImageMagick:
convert -verbose -delay 50 -loop 0 -density 300 file.pdf file.gif
Si intento esto en una caja de Linux ( convert --version
da 6.5.4-7 2012-04-10) me sale este registro:
"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
es GPL Ghostscript 8.70 (2009-07-31)] y funciona como se esperaba. Pero si intento esto en mi Mac, usando el paquete ImageMagick instalado por macports (6.8.0-7 2013-01-04), obtengo este registro:
"/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
es GPL GhostScript 9.06 (2012-08-08)] Esta vez el archivo GIF resultante tiene solo un marco, la primera página del PDF.
Hasta ahora, mi solución ha sido utilizar pdftk file.pdf burst
para dividir cada página del PDF en su propio archivo convert [options] pg_*.pdf file.gif
. Esto funciona bien, pero preferiría un script de una línea.
Las versiones de Mac son más recientes, supongo que es una cuestión de implementación. La única gran diferencia que veo entre los dos es -sDEVICE=pnmraw
para la versión de Linux y -sDEVICE=pngalpha
para Mac. ¿Puedo decirle convert
que pase opciones a gsx
?
-sDEVICE=pnmraw
a las convert
opciones de línea de comandos y tengo una respuesta "opción no reconocida".
pdftk file.pdf burst && convert [options pg_*.pdf file.gif
De esta manera, Terminal ejecutará el segundo comando una vez que haya completado el primer comando que solicitó.