使用 ImageMagick 将 PDF 转换为 BMP 时出现问题?

Problems converting PDF to BMP using ImageMagick?

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

但我不明白为什么会这样!

尝试:

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

Update/Explanation

  1. PDF 是一种多页格式。可能输入的 PDF 不止一页。

    ImageMagick 命令可以 select 具有命名约定 filename[i] 的特定页面,其中 i 是页面的 index。索引是从零开始的,所以 some.pdf[0] 表示:"Use page 1 of this PDF."

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

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

  5. 我用了 BMP3: 因为你报告说它有效...