从PDF创建JPG缩略图会导致使用新版本的ImageMagick出现问题

4

我正在使用Imagemagick命令创建pdf文件的缩略图:

convert 'input.pdf[0]' -resize "100x140>" -colorspace 'rgb' 'output.jpg' 2>/dev/null

一些PDF文件处于CMYK颜色空间,因此需要将期望的-colorspace指定为rgb。这在我更新到最新版本的Imagemagick(6.6.7-1)和ghostscript(9.01_0)之前一直正常工作,现在看起来转换为rgb不再起作用了,以下是一个示例输出:
(图片背景应该是白色而不是黑色) 似乎问题来自于-resize选项,因为如果我删除它,输出就是正确的。
为了获得预期的输出,我现在进行两次操作,第一次将其转换为rgb,第二次调整图像大小,但这并不太优雅。有更好的解决方案吗?

已使用ImageMagick 6.6.5-6和6.6.7-6进行测试并确认存在此问题,后者会出现黑色背景,而旧版本则正常工作。 - greut
我在6.6.7-10和gs 9.01上遇到了相同的问题。 - tomtaylor
我也遇到了ImageMagick 6.7.4-0和gs 9.04的相同问题。有什么解决方法吗? - PowerKiKi
我遇到了类似的问题,使用GraphicsMagick解决了它。 - Martin Krung
2个回答

4

我通过添加额外的-flatten选项解决了这个问题。现在我的缩略图可以正确地渲染。


0

如果你交换选项会怎样?这可能会避免你运行两个不同的命令。因为这两个命令:

convert 'in.pdf[0]' -resize "100x140>" -colorspace 'rgb' 'out.jpg'
convert 'in.pdf[0]' -colorspace 'rgb' -resize "100x140>" 'out.jpg'

会导致(最近版本的)ImageMagick以不同的方式处理文件;每次都按照命令行中给出的顺序进行处理(这对于旧版本来说并不正确)。


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