我需要将PDF转换为其他ICC颜色配置文件。通过不同的搜索和测试,我找到了一种方法:
首先,我使用以下命令将PDF转换为PS文件:
.\gswin64c.exe -dNOPAUSE -dBATCH -sDEVICE=ps2write -sOutputFile="test.ps" "test.pdf"
然后使用以下命令将PS转换回PDF(这将生成有效的PDF / X-3文件):
.\gswin64c.exe -dPDFX -dNOPAUSE -dBATCH -sDEVICE=pdfwrite
-sColorConversionStrategy=/UseDeviceIndependentColor -sProcessColorModel=DeviceCMYK
-dColorAccuracy=2 -dRenderIntent=0 -sOutputICCProfile="WebCoatedSWOP2006Grade5.icc"
-dDeviceGrayToK=true -sOutputFile="final.pdf" test_PDFX_def.ps test.ps
ICC配置文件已嵌入,并且可以完美运行。唯一的问题是整个最终PDF都已栅格化。在这里,我放宽了起始文件中所有的路径和其他矢量元素的质量。我需要保留它们的矢量性,因为此PDF将具有特定的应用程序。
答案 0 :(得分:2)
第一步不要转换为PostScript!
如果这样做,则必须渲染任何透明的标记操作,因为PostScript不支持透明性。其他功能也将丢失,因此,请不要这样做。 Ghostscript的输入和输出端或多或少是独立的; pdfwrite设备不知道输入是PDF还是PostScript,因此不在乎。因此,在将其作为输入发送之前,无需将PDF文件转换为PostScript。
您可以将原始PDF文件代替PostScript文件输入第二个命令行。
只要您制作的是PDF / X-3或更高版本,透明性就会保留下来。确保您使用的是最新版本的Ghostscript。