ImageMagick - Convierte PDF multipágina a gif animado

9

Tengo un archivo PDF de dos páginas que me gustaría convertir en un archivo GIF animado. Una publicación en el TeX StackExchange proporciona la siguiente información de una sola 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) Obtengo 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 conjunto 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 solo tiene 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, luego 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 diferencia importante que veo entre los dos es -sDEVICE=pnmraw para la versión de linux y -sDEVICE=pngalpha para la mac. ¿Puedo decirle a convert que pase las opciones a gsx ?

    
pregunta Matthew Leingang 20.03.2013 - 13:37

1 respuesta

3

El siguiente comando me funcionó bien desde un PDF en papel en el que he trabajado. La única diferencia con su comando original es desactivar el canal alfa:

convert -alpha deactivate -verbose -delay 50 -loop 0 -density 300 paper.pdf file.gif

Estoy usando Version: ImageMagick 6.8.3-3 2013-02-21 Q16 http://www.imagemagick.org y homebrew.

    
respondido por el Dan Halperin 05.12.2013 - 00:21

Lea otras preguntas en las etiquetas