ImageMagick-여러 페이지 PDF를 애니메이션 GIF로 변환


9

애니메이션 GIF 파일로 변환하려는 두 페이지 PDF 파일이 있습니다. TeX StackExchange게시물 은 다음과 같은 ImageMagick 단일 라이너를 제공합니다.

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

리눅스 상자에서 이것을 시도하면 ( convert --version6.5.4-7 2012-04-10 제공)이 로그를 얻습니다.

"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

[ gsGPL Ghostscript 8.70 (2009-07-31)]이며 예상대로 작동합니다. 그러나 macports (6.8.0-7 2013-01-04)에 의해 설치된 ImageMagick 제품군을 사용하여 Mac에서 이것을 시도하면 다음과 같은 로그가 나타납니다.

"/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/gsxGPL GhostScript 9.06 (2012-08-08)] 이번에는 결과 GIF 파일에 PDF의 첫 페이지 인 한 프레임 만 있습니다.

지금까지 내 해결 방법 pdftk file.pdf burst은 PDF의 각 페이지를 자체 파일로 분할하는 데 사용되었습니다 convert [options] pg_*.pdf file.gif. 이것은 잘 작동하지만 한 줄짜리 스크립트를 선호합니다.

Mac 버전이 최신 버전이므로 구현 문제라고 생각합니다. 둘 사이에서 볼 수있는 유일한 주요 차이점 -sDEVICE=pnmraw은 Linux 버전과 -sDEVICE=pngalphaMac입니다. convert옵션을 전달하도록 말할 수 있습니까 gsx?


예 ? :), 그러나 정직하게, 왜 당신은 그것을 시도하지 마십시오!

@Borderline : 내가 추가하는 시도 -sDEVICE=pnmraw받는 convert명령 줄 옵션과 "알 수없는 옵션"응답을 얻었다.
Matthew Leingang

2
두 명령을 한 줄 명령으로 결합하지 않는 이유는 무엇입니까? pdftk file.pdf burst && convert [options pg_*.pdf file.gif 이렇게하면 터미널은 요청한 첫 번째 명령이 완료되면 두 번째 명령을 실행합니다.
Danijel-James W

답변:


3

다음 명령은 내가 작업 한 종이 PDF에서 나에게 효과적이었습니다. 원래 명령과의 유일한 차이점은 알파 채널을 비활성화하는 것입니다.

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

나는 사용 Version: ImageMagick 6.8.3-3 2013-02-21 Q16 http://www.imagemagick.org하고 사제.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.