【问题标题】:How can I disable ghostscipt rasterization of images and paths?如何禁用图像和路径的 ghostscipt 光栅化?
【发布时间】:2018-12-01 19:48:06
【问题描述】:

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

【问题讨论】:

    标签: pdf ghostscript postscript ps rasterize


    【解决方案1】:

    第一步不要转换成 PostScript!!!

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

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

    只要您生成 PDF/X-3 或更高版本,就会保留透明度。确保您使用的是最新版本的 Ghostscript。

    【讨论】:

    • 感谢您的回答。无论如何,我之前已经尝试过,但结果是我的 1KB pdf 损坏了。根本没有警告或错误。我没有更多的想法。
    • 那我建议你把输入文件贴在我能看的地方,不看例子就不能多说。知道您使用的是哪个版本的 Ghostscript 会很有用。您还可以打开错误报告....
    • 好的,我在这里打开了一个错误报告:bugs.ghostscript.com/show_bug.cgi?id=699490。希望你能帮助我
    • 我明天回到办公桌前会尝试看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多