【问题标题】:Extract spot color from PDF to separate file从 PDF 中提取专色到单独的文件
【发布时间】:2019-06-04 12:33:56
【问题描述】:

是否可以从 PDF 中提取选定(或全部)专色到单独的文件(也是 PDF - 我需要保留矢量线)?如果分离会产生带有分离点的文件和第二个文件,除了这个点之外的所有东西,那将是最好的。

【问题讨论】:

    标签: pdf ghostscript


    【解决方案1】:

    这当然是“可能的”,尽管目前还没有使用 Ghostscript。您可以使用当前存在的设备来过滤图像、文本和线条,以检查对象的颜色空间并使用其他一些标准(即“专色”)来决定是否将标记操作传递到输出设备。您需要查看 ghostpdl/devices/gdevoflt.c 文件,并研究 Ghostscript 中的颜色表示。

    Ghostscript 的 pdfwrite 设备无法从相同的输入生成两个 PDF 文件(我怀疑大多数 PDF 使用者/编辑者也不能),您必须运行该文件两次。原因是图形状态需要与颜色分开维护,并在输出文件之间保持同步。

    你需要考虑一些事情; “专色”到底是什么意思? /Separation 颜色空间中指定的对象?那么 DeviceN 呢? /None 或 /All 等着色剂呢?

    【讨论】:

    • 好的,我看到GS pdfwrite 不能生成两个文件。所以让我们关注基本问题:我可以使用 tiffsep 设备在单独的 tiff 文件中获取每种颜色。我正在搜索如何获得类似的操作,但只获得 pdf 文件中的选定颜色(标识为 pdf:SpotColor-0: HereIsColorName)。
    • 您所描述的(标识为 pdf:SpotColor-0: HereIsColorName)不是 PDF 文件中的内容,我假设它是您从“其他地方”检索的内容。当您提出此类问题时,您需要考虑 PDF 文件的实际内容。
    • 正如我在回答中所说,Ghostscript 不会“按原样”执行您想要的操作。您可以在 gdevoflt.c 中获取过滤设备并对其进行修改。目前,这些设备会删除一种对象(文本、线条或图像)的所有实例并传递其他对象。如果您更改了一个以删除不是“专色”的操作(以您想要的任何方式定义)并传递那些是的操作,然后使用 pdfwrite 设备作为输出设备,您将获得所有在输出中发现操作。以另一种方式翻转设备以获取相反的文件。这将需要 C 编码。
    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2018-02-15
    相关资源
    最近更新 更多