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

时间:2015-06-25 21:05:38

标签: imagemagick imagemagick-convert

我想convert 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

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

1 个答案:

答案 0 :(得分:2)

尝试:

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

更新/解释

  1. PDF是一种多页格式。输入PDF可能有多个页面。

    ImageMagick命令可以选择具有命名约定filename[i]的特定页面,其中 i 索引的页面。索引从零开始,因此some.pdf[0]表示:“使用此PDF的第1页。”

  2. SOMEFORMAT:filename约定确定输出文件的文件格式,并覆盖可由文件名后缀指示的任何文件格式。因此,GIF:some.png的输出文件名将创建一个带有(错误)后缀.png的GIF文件。

  3. BMP3:是一般BMP格式的特定版本。默认情况下,BMP:filenamefilename.bmp将生成BMP版本4。要获得版本3,请使用BMP3:filename.bmp。要获得版本2,请使用BMP2:filename.bmp

  4. 我使用BMP3:,因为您报告它有效...