ImageMagick:转换PDF颜色配置文件创建巨大的PDF



我正在使用以下命令:

convert sourcefile.pdf -profile "cmyk.icc" -profile "srgb.icc" +profile "*" output.pdf

在一个3MB的测试文件上,它创建了一个20MB的PDF,质量非常糟糕。

如果我添加一个密度为600的参数,文件会爆炸到超过600mb。有什么方法可以在保持其他一切的同时转换颜色空间吗?这是一个用于进一步处理的临时PDF,所以我不需要它的大小完全相同,但我无法处理巨大的PDF文件大小。

您的问题不是使用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!)

最新更新