ImageMagick:转换PDF色彩配置导致生成巨大的PDF?

4
我将使用以下命令:
convert sourcefile.pdf -profile "cmyk.icc" -profile "srgb.icc" +profile "*" output.pdf

在一个测试的3MB文件上,它创建了一个20MB的PDF文件,质量非常差。如果我加入-density 600参数,文件会爆炸到超过600MB。有没有办法在保持其他所有内容不变的情况下转换颜色空间?这是一个临时的PDF文件,用于进一步处理,所以我不需要它完全相同的大小,但我无法处理巨大的PDF文件大小。
1个回答

1

你的问题不是使用 convert 和 ImageMagick 的颜色配置文件。

我保证你使用以下命令时也会遇到同样的问题:

convert  sourcefile.pdf  output.pdf 

convert  -density 600  sourcefile.pdf  output.pdf 

你真正的问题是在一个ImageMagick不擅长的任务中使用它。因为ImageMagick无法处理PDF文件,它只能处理光栅图像。这是它的优势所在,也是它真正擅长的领域。

因为PDF文件不是光栅图像(尽管它们可以包含这些),ImageMagick使用一个“代理”将PDF页面转换为单个全页图像。这个代理是Ghostscript。

只有在接收到代理的结果(光栅图像)之后,ImageMagick才开始按照您的配置更改进行工作。完成后,它将图像转换回PDF格式--但现在PDF已经失去了所有原来的矢量对象,每个页面只剩下一个像素化的版本。

就像你不能把肉放回到绞肉机里一样,一旦你像ImageMagick那样将页面光栅化,你就无法恢复原始的PDF对象(矢量图形、字体等)....


针对您的问题(涉及 PDF 使用的色彩配置),我们为您提供以下解决方案: 使用专业工具解决问题。 学习直接使用 Ghostscript (因为 Ghostscript 可以将 ICC 色彩配置嵌入 PDF 中,而不需要先将页面转换为光栅图像。您无需使用 ImageMagick 完成此操作!)

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