是否可以预处理(批量处理)CMYK格式的PDF以分离成专色?
我有一系列使用CMYK的PDF,但我要求它们采用2种专色格式。
颜色为红色和黑色。黑色(K)很好,但红点需要是Magenta&的合并。黄色。
这有可能吗?我更喜欢能够根据给定的颜色分离斑点而不是合并颜色的东西,因为它变得非常有限。
我看过adobe acrobat X pro,这似乎没有做我想要的。我可以在photoshop中手动完成,但对于我拥有的大量PDF文件来说,这将是一个漫长的过程。
答案 0 :(得分:1)
我猜这个问题早已解决,但仅仅是为了完整;是的,这可以做到。有许多商业工具可以很容易地实现这一点。
1)如果我没弄错的话,最新版本的Adobe Acrobat实际上比以前的版本包含更多的PDF文件修正可能性,这意味着它应该能够做到这一点。
2)有像callas pdfToolbox这样的工具(警告,我是这家公司/产品的附属公司),它可以预先处理PDF文件,几乎可以用你想要的任何方式。
总的来说,虽然我认为第一个问题就是为什么你要经历RGB到CMYK步骤 - 这种工具可以做到这种重新映射同样可以简单地从黑色和红色RGB直接转到两个命名的专色,避免不必要的CMYK转换。
顺便说一句,如果你想要获得的是一个PDF,你可以轻松地关闭一种颜色(例如隐藏正确的答案),可能有更好的方法来做到这一点。例如,将所有红色文本放在一个图层上,同时将所有黑色文本放在不同的图层上(或者将OCG - 可选内容组作为PDF调用它们)。这将使您能够随意打开或关闭彩色文本,即使是像Adobe Reader一样。
答案 1 :(得分:0)
这是一个简单的实现,它将打印纯黑色或任何非黑色的东西。根据您的需要,可能需要变得更加复杂。在不知道更多的情况下,我采用了使用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 =黑色,1 setgray =白色,因此下面存在块,黑色将打印为黑色,其他所有内容将打印为白色。
%!
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将定义为黑色,其中可能不应该是黑色。