ImageMagick-マルチページpdfをアニメーションgifに変換


9

アニメーションGIFファイルに変換したい2ページのPDFファイルがあります。TeXのStackExchange上のポストは、次のImageMagickのワンライナーを与えます:

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

これをLinuxボックスで試してみると(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

[ gsis GPL 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/gsxis GPL GhostScript 9.06(2012-08-08)]今回のGIFファイルには、PDFの最初のページである1つのフレームしかありません。

これまでの私の回避策は、を使用pdftk file.pdf burstしてPDFの各ページを独自のファイルに分割してから、にすることでしたconvert [options] pg_*.pdf file.gif。これは正常に機能しますが、1行のスクリプトを使用することをお勧めします。

Macのバージョンはより新しいので、実装の問題だと思います。2つの違いは-sDEVICE=pnmraw、Linuxバージョンと-sDEVICE=pngalphaMacの違いだけです。convertオプションを渡すように指示できますgsxか?


はい ?:)、しかし正直に言うと、なぜあなたはそれを試してみませんか?

@Borderline:私が追加しようとした-sDEVICE=pnmrawconvertコマンドラインオプションと、「認識できないオプション」の応答を得ました。
マシューLeingang 2013年

2
両方のコマンドを1つの行コマンドに結合しないのはなぜですか? pdftk file.pdf burst && convert [options pg_*.pdf file.gif このようにして、ターミナルは、要求した最初のコマンドが完了すると、2番目のコマンドを実行します。
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.