使用ImageMagick将带有透明度的PDF转换为JPG

9
当转换带有透明度图像的PDF时,输出结果会有黑色背景。
convert -density 300 -background white -alpha off \
-resize 80x80 -strip -quality 70 file.pdf[0] thumb.jpg[0]

我尝试将背景设置为白色并停用alpha通道,但是背景仍然变成黑色!?

测试文件

http://www.bluemachines.dk/pdf/trans.pdf

我已经在这两个版本上进行了测试,所以看起来像是一个普遍的“问题”。

ImageMagick-6.8.8-10

ImageMagick-6.7.7-10

更新

# /var/bin/ImageMagick-6.8.8-10/utilities/convert
Version: ImageMagick 6.8.8-10 Q16 x86_64 2014-04-10

 # gs -v
GPL Ghostscript 9.14 (2014-03-26)

这是输出文件。

http://www.bluemachines.dk/pdf/thumb.jpg

-debug ALL

无法在正文中发布太多内容,因此将输出粘贴到此txt文件中。

http://www.bluemachines.dk/pdf/debug.txt


1
样本文件会很有帮助。 - retroj
请看这里 :) http://www.bluemachines.dk/pdf/trans.pdf - clarkk
我没有看到ImageMagick-6.8.9-0的问题。也许是您的ghostscript版本引起了问题。我有9.10版本。缩略图非常小(高度为34像素),因此我将-density 300更改为-density 72。最后,我将输入文件名移动到命令行的开头(convert file.pdf [0] ...)。 - Glenn Randers-Pehrson
我也无法重现这个问题。在Debian系统上测试了Imagemagick 6.7.7和Ghostscript 9.05。 - retroj
可以正常使用ImageMagick-6.8.8和Ghostscript 9.10。您能否使用“-debug All”选项运行您的示例并发布它? - emcconville
已更新我的问题... Ghostscript 版本为 9.14 - clarkk
1个回答

23
您应该使用-alpha remove而不是-alpha off。我建议您将您的参数顺序更改为此:
convert -density 300 file.pdf[0] -resize 80x80 -background white -alpha remove \
-strip -quality 70 thumb.jpg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接