如何从图像中删除专色
How to remove spot color (s) from an image
是否有命令行工具可以从矢量输入图像(类型可以是 ai、eps)中删除所有专色通道并仅保留 CMYK 或 RGB 颜色通道。
到目前为止,我能想到的是使用 ghostscript tiffsep 设备,然后使用 imagemagicks -combine 选项将颜色通道图像重新组合为一个图像。这种方法的缺点是它非常复杂,我最终得到的是 tiff 图像,而不是原始(矢量)格式。
'Image'在PostScript中有明确的含义,表示位图,光栅。我认为,从上下文来看,你的意思更笼统。
简单的回答是否定的,一般来说你不能这样做,而且我不知道有什么工具可以。
原因是这样做会丢失信息; Separation 或 DeviceN 中定义的标记 space 将完全丢失,丢弃文档的随机部分通常被认为是一个坏主意。
也许您可以解释一下您试图通过此实现的目标(即您为什么要这样做),并且可能会建议一种替代方法。
如果您是一名称职的 C 程序员,您可以使用现有的 FILTER 设备(在 gdevflt.c 中)作为模板来生成 Ghostscript 子类设备。该设备查看操作类型,然后将其传递给输出设备,或者将其丢弃。查看当前颜色 space 并丢弃 Separation 或 DeviceN space 会相当简单。如果您随后使用 pdfwrite/ps2write/eps2write 输出设备,您将获得 EPS、PostScript 程序或 PDF 文件作为输出。
无论您是沿着这条路走下去,继续现有的方法,还是寻找替代方法,您都需要考虑几件事;您打算如何处理带有印刷色名称的分色油墨?例如/分离/黑色。 DeviceN spaces 的一些油墨是印刷色怎么样?例如双色调黑色和 Pantone 墨水。这些应该保留还是丢弃?
您当前的方法将使用对象中标记印版的部分,而不是标记专色的部分,这可能会产生一些非常奇特的结果。
[编辑]
PDF、PostScript 和 EPS 没有 'layers'(PDF 有一个功能,可选内容,它使用术语 'layers' 作为规范中的描述,仅此而已)。
Photoshop 和 Illustrator 等应用程序可以有图层,但通常它们导出的内容必须将那些 'layers' 转换为其他内容。 'something else' 取决于您将其另存为什么。
部分问题是您显然在尝试处理 3 种不同的输入,您说 Illustrator(PDF,或多或少)、Photoshop(光栅图像)和 EPS (PostScript)。三者之间几乎没有共同点,有理由支持所有的人吗?
如果您满足于只使用 Illustrator,您或许可以使用可选内容做一些事情。我不是很熟悉现代版本的 Illustrator,但是保存两个版本的文件不是更简单吗,一个有答案层,一个没有?
无论如何,Ghostscript 可以支持可选内容,因此如果您可以从 Illustrator 保存 PDF 文件(不是 PostScript 或 EPS),图层可能会保留到PDF 作为可选内容。我怀疑他们会很快 Google。在这种情况下,您可以通过 Ghostscript 运行 文件,告诉它不要遵守可选内容部分,并在没有它的情况下获取 PDF 文件。
另一种解决方案(同样仅限于 PDF)是使用 Acrobat Pro 等编辑应用程序打开 PDF 文件,然后简单地删除不需要的部分。那种删除还是比较靠谱的。
尽管如此,获取删除了部分内容的 PDF 文件仍然是一种冗长的方法。我不禁觉得从创建应用程序中保存两个版本会更容易。
是否有命令行工具可以从矢量输入图像(类型可以是 ai、eps)中删除所有专色通道并仅保留 CMYK 或 RGB 颜色通道。
到目前为止,我能想到的是使用 ghostscript tiffsep 设备,然后使用 imagemagicks -combine 选项将颜色通道图像重新组合为一个图像。这种方法的缺点是它非常复杂,我最终得到的是 tiff 图像,而不是原始(矢量)格式。
'Image'在PostScript中有明确的含义,表示位图,光栅。我认为,从上下文来看,你的意思更笼统。
简单的回答是否定的,一般来说你不能这样做,而且我不知道有什么工具可以。
原因是这样做会丢失信息; Separation 或 DeviceN 中定义的标记 space 将完全丢失,丢弃文档的随机部分通常被认为是一个坏主意。
也许您可以解释一下您试图通过此实现的目标(即您为什么要这样做),并且可能会建议一种替代方法。
如果您是一名称职的 C 程序员,您可以使用现有的 FILTER 设备(在 gdevflt.c 中)作为模板来生成 Ghostscript 子类设备。该设备查看操作类型,然后将其传递给输出设备,或者将其丢弃。查看当前颜色 space 并丢弃 Separation 或 DeviceN space 会相当简单。如果您随后使用 pdfwrite/ps2write/eps2write 输出设备,您将获得 EPS、PostScript 程序或 PDF 文件作为输出。
无论您是沿着这条路走下去,继续现有的方法,还是寻找替代方法,您都需要考虑几件事;您打算如何处理带有印刷色名称的分色油墨?例如/分离/黑色。 DeviceN spaces 的一些油墨是印刷色怎么样?例如双色调黑色和 Pantone 墨水。这些应该保留还是丢弃?
您当前的方法将使用对象中标记印版的部分,而不是标记专色的部分,这可能会产生一些非常奇特的结果。
[编辑]
PDF、PostScript 和 EPS 没有 'layers'(PDF 有一个功能,可选内容,它使用术语 'layers' 作为规范中的描述,仅此而已)。
Photoshop 和 Illustrator 等应用程序可以有图层,但通常它们导出的内容必须将那些 'layers' 转换为其他内容。 'something else' 取决于您将其另存为什么。
部分问题是您显然在尝试处理 3 种不同的输入,您说 Illustrator(PDF,或多或少)、Photoshop(光栅图像)和 EPS (PostScript)。三者之间几乎没有共同点,有理由支持所有的人吗?
如果您满足于只使用 Illustrator,您或许可以使用可选内容做一些事情。我不是很熟悉现代版本的 Illustrator,但是保存两个版本的文件不是更简单吗,一个有答案层,一个没有?
无论如何,Ghostscript 可以支持可选内容,因此如果您可以从 Illustrator 保存 PDF 文件(不是 PostScript 或 EPS),图层可能会保留到PDF 作为可选内容。我怀疑他们会很快 Google。在这种情况下,您可以通过 Ghostscript 运行 文件,告诉它不要遵守可选内容部分,并在没有它的情况下获取 PDF 文件。
另一种解决方案(同样仅限于 PDF)是使用 Acrobat Pro 等编辑应用程序打开 PDF 文件,然后简单地删除不需要的部分。那种删除还是比较靠谱的。
尽管如此,获取删除了部分内容的 PDF 文件仍然是一种冗长的方法。我不禁觉得从创建应用程序中保存两个版本会更容易。