【问题标题】:ImageMagick: converting PDF color profile creates giant PDF?ImageMagick:转换 PDF 颜色配置文件会创建巨大的 PDF?
【发布时间】:2012-09-13 07:57:54
【问题描述】:
我正在使用以下命令:
convert sourcefile.pdf -profile "cmyk.icc" -profile "srgb.icc" +profile "*" output.pdf
在一个 3MB 的测试文件上,它会创建一个 20MB 的 PDF,质量很差。
如果我添加 -density 600 参数,文件会爆炸到超过 600mb。有没有办法在保持其他一切的同时转换色彩空间?这是一个用于进一步处理的临时 PDF,所以我不需要它的大小完全相同,但我无法处理巨大的 PDF 文件大小。
【问题讨论】:
标签:
imagemagick
imagemagick-convert
【解决方案1】:
您的问题不在于 convert 和 ImageMagick 使用颜色配置文件。
我保证您在使用这些命令时也会遇到同样的问题:
convert sourcefile.pdf output.pdf
convert -density 600 sourcefile.pdf output.pdf
您真正的问题是将 ImageMagick 用于不擅长的任务。因为 ImageMagick 无法处理 PDF。它只能处理光栅图像。这是它擅长的地方,也是它真正擅长的地方。
因为 PDF 不是光栅图像(尽管它们可以包含这些图像),ImageMagick 使用 delegate 将 PDF 页面转换为单个整页图像。这个代表是 Ghostscript。
只有在收到委托的结果(光栅图像)后,ImageMagick 才开始在您的配置文件更改中起作用。完成后,它将图像转换回 PDF - 但现在 PDF 丢失了所有以前的矢量对象,并且每个页面只剩下一个像素化版本。
就像通过绞肉机将肉磨碎后,您无法再将其重新组合成一块 - 一旦您将原始 PDF 对象(矢量图、字体等)已经像 ImageMagick 一样光栅化了它的页面......
解决您的问题(弄乱 PDF 使用的颜色配置文件): 为工作使用正确的工具。 学习use Ghostscript directly!(因为 Ghostscript 可以将 ICC 颜色配置文件嵌入到 PDF 中,而无需先将页面更改为光栅图像。您不需要 ImageMagick!)