使用ImageMagick将PDF转换为BMP的问题?

我想将PDF转换为BMP.我正在谈论的PDF是
here.

我使用ImageMagick使用以下命令:

convert -verbose -resize 256x256 phantom-brain-ellipse.pdf phantom.bmp

但结果是一个phantom.bmp文件损坏或像素尺寸为0x0的空文件.

错误消息是:

"/opt/local/bin/gsx" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72"  "-sOutputFile=/var/tmp/magick-1199-UNts2yPB9u2%d" "-f/var/tmp/magick-1199rG26g03biUuT" "-f/var/tmp/magick-1199-sNgqMmlD53M"
/var/tmp/magick-1199-UNts2yPB9u21 PNG 263x263 263x263+0+0 8-bit sRGB 54.6KB 0.010u 0:00.009
phantom-brain-ellipse.pdf PDF 263x263 263x263+0+0 16-bit sRGB 54.6KB 0.000u 0:00.000
phantom-brain-ellipse.pdf=>phantom.bmp PDF 263x263=>256x256 256x256+0+0 16-bit sRGB 262KB 0.020u 0:00.019

当我转换为PNG时,一切正常,使用相同的命令:

convert -verbose -resize 256x256 phantom-brain-ellipse.pdf phantom.png

知道怎么解决这个问题吗?

部分解决方案

这个命令让我得到了正确的BMP:

convert phantom.png BMP3:phantom.bmp

但我不明白为什么它有效!

最佳答案 尝试:

convert -verbose -resize 256x256 phantom-brain-ellipse.pdf[0] BMP3:phantom.bmp

更新/解释

> PDF是多页格式.输入PDF可能有多个页面.

ImageMagick命令可以选择具有命名约定filename [i]的特定页面,其中i是页面的索引.索引从零开始,因此some.pdf [0]表示:“使用此PDF的第1页.”
> SOMEFORMAT:filename约定确定输出文件的文件格式,并覆盖可由文件名后缀指示的任何文件格式.因此,GIF:some.png的输出文件名将创建一个带有(错误)后缀.png的GIF文件.
> BMP3:是一般BMP格式的特定版本.默认情况下,BMP:filename或filename.bmp将生成BMP的版本4.要获得版本3,请使用BMP3:filename.bmp.要获得版本2,请使用BMP2:filename.bmp.
>我使用BMP3:因为你报告它有效…

点赞