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

时间:2011-02-17 11:16:18

标签: pdf imagemagick paperclip thumbnails ghostscript

我正在使用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不再工作,这是一个示例输出:

failed cymk-rgb conversion

(背景应该是白色,而不是黑色) 似乎问题来自-resize选项,因为如果我删除它,输出是正确的。

为了获得预期的输出,我现在做两次传递,第一次转换为rgb,第二次调整图像大小,但这不是很优雅。有更好的解决方案吗?

2 个答案:

答案 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以不同的方式处理文件;它每次都遵循命令行上给出的顺序(旧版本不适用)。