我正在使用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,第二次调整图像大小,但这不是很优雅。有更好的解决方案吗?
答案 0 :(得分:3)
我通过传递额外的-flatten
选项解决了这个问题。现在我的缩略图可以正确渲染。
答案 1 :(得分:0)
如果换掉期权怎么办?这可以使您免于运行2个不同的命令。因为这两个命令:
convert 'in.pdf[0]' -resize "100x140>" -colorspace 'rgb' 'out.jpg'
convert 'in.pdf[0]' -colorspace 'rgb' -resize "100x140>" 'out.jpg'
将导致(最新版本)ImageMagick以不同的方式处理文件;它每次都遵循命令行上给出的顺序(旧版本不适用)。