【问题标题】:Convert CMYK PDF into spot colors (colours)将 CMYK PDF 转换为专色(颜色)
【发布时间】:2013-01-28 22:21:39
【问题描述】:

是否可以预处理(批量)CMYK 格式的 PDF 以分离成专色?

我有一组 CMYK 格式的 PDF,但我要求它们采用 2 专色格式。

颜色是红色和黑色。黑色 (K) 很好,但红色点需要是洋红色和黄色的合并。

这可能吗?我更喜欢能够根据给定颜色分离斑点的东西,而不是合并颜色,因为这变得非常有限。

我查看了 adobe acrobat X pro,但似乎并没有达到我想要的效果。我可能可以在 Photoshop 中手动完成,但对于我拥有的大量 PDF,这将是一个漫长的过程。

【问题讨论】:

  • 我不确定我是否理解您的最终目标。你有一个 .pdf 有多种颜色,你想要 2 种颜色。当您说分离时,您是在说输出2张黑白胶片吗?我刚刚回答了另一个关于重新定义 postscript 运算符的 postscript 问题。似乎可以使用类似的技术来重新定义 setgray、setrgbcolor 和/或 setcmykcolor 以重新定义颜色。 [链接]stackoverflow.com/questions/14856981/…
  • 我将尝试举一个简单的例子:我生成了一个 RGB 的 PDF(但最终它只是 PDF 中的红色文本和黑色文本)。红色和黑色由 PDF 中的 RGB 元素组成。如果我将其预检为 CMYK,它将变为 K = 全黑文本 M+Y = 红色文本 我想要的是预检它,以便 PDF 墨水管理器显示 C=empty Y=empty M=empty K=black [spot red]=red
  • 我仍然不确定您尝试获取的位置或您受限的参数。 Postscript 允许使用特意定义的 setcmyk 重新定义 setrgbcolor,但这种操作对 postscript 来说是不自然的。如果上下文允许首先发送用户定义的标头,则很容易。如果您可以为操作定义特定的页面大小,那就很容易了。如果您不介意重新启动 RIP,这很容易。但是,如果您期望魔术会发生,那么魔术在我们的世界中是不可能的。在过去的工作中,我设计了红色的地图,但每个版本都需要不同的颜色来打印。这是可以做到的。
  • 我仍然很困惑你想要的最终结果是什么。
  • 结果是获取由 RGB 进程组成的颜色的 PDF,并且最终的 PDF 墨水分解仅由 2 种颜色组成(在本例中为黑色墨水和红色墨水) 因此,如果您要从 PDF 中制作印版,您会得到黑色的纯色版和红色的纯色版(即红色不是由 CMYK 或 RGB 颜色组成)

标签: pdf printing cmyk preflight


【解决方案1】:

我猜这个问题早就解决了,但只是为了完整性;是的,这是可以做到的。有许多商业工具实际上很容易做到这一点。

1) 如果我没记错的话,最新版本的 Adob​​e Acrobat 实际上比以前的版本包含更多的 PDF 文件更正可能性,这意味着它应该能够做到这一点。

2) 有诸如 callas pdfToolbox 之类的工具(警告,我隶属于这家公司/产品),几乎可以以任何您想要的方式预处理 PDF 文件。

一般来说,虽然我认为第一个问题是为什么要通过 RGB 到 CMYK 步骤 - 能够进行这种重新映射的工具同样能够简单地从黑色和红色 RGB 直接转到两个命名的专色,避免不必要的 CMYK 转换。

顺便说一句,如果您想要获取的是 PDF,您可以轻松地关闭一种颜色(例如隐藏正确答案),那么可能有更好的方法来做到这一点。例如将所有红色文本放在一个图层上,而将所有黑色文本放在不同的图层上(或 OCG - PDF 调用它们的可选内容组)。这将使您能够随意打开或关闭彩色文本,即使在 Adob​​e Reader 之类的东西中也是如此。

【讨论】:

  • 感谢您的回复,尚未回答为我提供可行(简单)解决方案的内容。您能否在分步指南(在 Acrobat 或 Pitstop 中)中提供如何实现目标的步骤,以便我可以按照这些步骤实现目标。我需要它们在 CMYK + Spot 中,因为它最终会在平版生产中打印,所以 RGB + spot 在那里不会有任何好处。非常感谢
  • 我无法在 Adob​​e Acrobat Professional XI 中实现我的目标,并且似乎不知道如何做到这一点。如果您能在回答中概述如何在 Adob​​e Acrobat 或 Pitstop 中实现我的目标,我将不胜感激。如果我可以通过提供的答案实现我的目标,那么我将接受答案并将其标记为已解决。
  • 我已经下载了 PDFToolbox 的桌面版本,在 Fixups 菜单中有一个替换 CMYK 颜色的选项(通过提供 CMYK 细分值和模糊匹配容差),然后您选择一种颜色将其换成(在我的情况下,一个命名的颜色点红色,带有回退 CMYK 值)。因此,您可以在 PDFToolbox 中执行此操作,但在 Acrobat Professional XI 中不能(据我所知)。我会将此标记为答案
  • 我尝试了不同的选项和不同的程序,包括建议的程序,但我未能将带有黑色和 CMYK=1,0,0,0 的 PDF 文档更改为 K 和任意专色。
  • 如果您有示例文档,我很乐意查看
【解决方案2】:

这是一个简单的实现,它将打印纯黑色或任何非黑色的东西。根据您的需要,它可能需要变得更复杂。在不了解更多信息的情况下,我采用了使用 exitserver 的蛮力方法。 exitserver 允许重新定义 RIP 的默认操作。要将 RIP 恢复到正常操作,您需要重新启动 rip 或编写另一个退出服务器例程来取消定义服务器修改。

通过发送 exitserver postscript 代码将例程安装在 rip 中。对于 PC,这可以通过向打印机共享的 DOS 复制命令来完成。还有可以在网上找到的 sendps 程序将文件发送到设备。

copy redef1.ps \\127.0.0.1\psprinter

这个 exitserver 例程在 userdict 中定义了一个 /setcmykcolor 函数,它将优先于系统 dict 中的 setcmykcolor。堆栈上有 4 个数字,最后一个是黑色的。返回值被复制并与零进行比较。如果黑色不为零,则将执行黑色块,否则将执行非黑色块。 0 setgray=black 和 1 setgray=white,所以由于下面的块存在,黑色将打印为黑色,其他所有内容都将打印为白色。

%!
serverdict begin 0 exitserver
userdict begin /setcmykcolor 
{
    dup 0 ne
    {
        %black
        0 setgray
        pop pop pop pop
    }
    {
        %not black
        1 setgray
        pop pop pop pop
    }ifelse
} def end

通过反转 setgray 的值,黑色将不会打印,而其他所有“非黑色”都会打印。

%!
serverdict begin 0 exitserver
userdict begin /setcmykcolor 
{
    dup 0 ne
    {
        %black
        1 setgray
        pop pop pop pop
    }
    {
        %not black
        0 setgray
        pop pop pop pop
    }ifelse
} def end

从哪个程序打印都没有关系。无论最后加载哪个版本的 exitserver,都将是输出打印的方式。

这是一个简单的 .ps 示例

%!PS-Adobe-3.0 
%%Title: mwe.ps
%%Pages: 001
%%BoundingBox: 0 0 595 842
%%EndComments
%%Page: 1 1
%%PageBoundingBox: 0 0 595 842
/Times-Roman findfont 72 scalefont setfont
0 0 0 1 setcmykcolor
0 20 moveto (black) show
0 1 0 0 setcmykcolor
0 40 moveto (not black) show
0 0 0 1 setcmykcolor
0 60 moveto (black) show
1 0 0 0 setcmykcolor
0 80 moveto (not black) show
0 0 0 1 setcmykcolor
0 100 moveto (black) show
0 1 1 0 setcmykcolor
0 120 moveto (not black) show

showpage

输出将仅显示“黑色”或“非黑色”,但文本会叠印,因此您将看到未打印的任何颜色的幻影图像。

这是一个退出服务器,用于恢复 RIP 以使用正常的 setcmykcolor

%!
serverdict begin 0 exitserver
userdict /setcmykcolor undef 

如开头所述,这是一个简单的实现,例如允许使用黑色而不是黑色 也可能有多种颜色,其中少量的黑色与颜色混合可以欺骗简单的例程,使暗红色 0 .87 .75 .1 setcmykcolor 将被定义为黑色,它可能不应该是黑色。

【讨论】:

  • 这是一个铁杆的答案!我希望有类似的东西......你在ghostscript中这样做,等等:)
  • 我从未见过任何人输出带有 ghostscript 的印版。 :P 答案代表 postscript 分离颜色的通用方式,其中标准方法用修改后的方法重新定义。对于 ghostscript,这 15 行将被复制到文件中,并删除了 exitserver 行,2 个文件将被发送到 ghostscript“onlyblack.ps youfile.pdf”和“notblack.ps yourfile.pdf”。这将产生黑白输出。如果你想要一个来自 ghostscript 的 RGB 文件,你需要一个不同的标题。答案不是硬核,是后记!
  • 虽然这是一个很好的答案,但对我来说有点技术性太强,所以我选择了 PDFToolbox 解决方案。
猜你喜欢
  • 2011-01-26
  • 2014-03-12
  • 2013-08-17
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多