使用 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
PDF 是一种多页格式。可能输入的 PDF 不止一页。
ImageMagick 命令可以 select 具有命名约定 filename[i]
的特定页面,其中 i
是页面的 index。索引是从零开始的,所以 some.pdf[0]
表示:"Use page 1 of this PDF."
SOMEFORMAT:filename
约定确定输出文件的文件格式并覆盖文件名后缀可能指示的任何文件格式。因此 GIF:some.png
的输出文件名将创建一个带有(错误的)后缀 .png
.
的 GIF 文件
BMP3:
是通用BMP格式的特定版本。默认情况下,BMP:filename
或 filename.bmp
将生成 BMP 版本 4。要获得版本 3,请使用 BMP3:filename.bmp
。要获得版本 2,请使用 BMP2:filename.bmp
.
我用了 BMP3:
因为你报告说它有效...
我想 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
PDF 是一种多页格式。可能输入的 PDF 不止一页。
ImageMagick 命令可以 select 具有命名约定
filename[i]
的特定页面,其中i
是页面的 index。索引是从零开始的,所以some.pdf[0]
表示:"Use page 1 of this PDF."SOMEFORMAT:filename
约定确定输出文件的文件格式并覆盖文件名后缀可能指示的任何文件格式。因此GIF:some.png
的输出文件名将创建一个带有(错误的)后缀.png
. 的 GIF 文件
BMP3:
是通用BMP格式的特定版本。默认情况下,BMP:filename
或filename.bmp
将生成 BMP 版本 4。要获得版本 3,请使用BMP3:filename.bmp
。要获得版本 2,请使用BMP2:filename.bmp
.我用了
BMP3:
因为你报告说它有效...