如何禁用图像和路径的幻影光栅化?

时间:2018-06-22 10:39:32

标签: pdf ghostscript postscript ps rasterize

我需要将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将具有特定的应用程序。

1 个答案:

答案 0 :(得分:2)

第一步不要转换为PostScript!

如果这样做,则必须渲染任何透明的标记操作,因为PostScript不支持透明性。其他功能也将丢失,因此,请不要这样做。 Ghostscript的输入和输出端或多或少是独立的; pdfwrite设备不知道输入是PDF还是PostScript,因此不在乎。因此,在将其作为输入发送之前,无需将PDF文件转换为PostScript。

您可以将原始PDF文件代替PostScript文件输入第二个命令行。

只要您制作的是PDF / X-3或更高版本,透明性就会保留下来。确保您使用的是最新版本的Ghostscript。