将(任意)PDF转换为黑色(K)-仅限CMYK
这与:将(任意)PDF转换为黑色(K)-仅限CMYK,pdf,cmyk,Pdf,Cmyk,这与: 。。。但这里更具体一点:假设我有一个RGB PDF,其中文本颜色是“浓黑色”(R:0G:0B:0变成C:100M:100Y:100K:100),还有各种各样的图像和矢量图形 我想使用一个免费的命令行工具(因此它在Linux下可以批量编写脚本)将其转换为CMYK PDF 仅在黑色(K)通道中有内容: 保留矢量图形(+文本图示符)-颜色仅在黑色(K)通道中变为灰度 图像仅在黑色(K)通道中转换为灰度 提前感谢您的回答, 干杯 我建议您使用GS转换PDF两次。一次到灰色的色调空
- 仅在黑色(K)通道中有内容:
- 保留矢量图形(+文本图示符)-颜色仅在黑色(K)通道中变为灰度
- 图像仅在黑色(K)通道中转换为灰度
干杯 我建议您使用GS转换PDF两次。一次到灰色的色调空间,然后到CMYK
我不确定它是否有效,但如果不起作用,我会有点惊讶。G->CMYK听起来像是脑死亡的转换。至少如果你坚持使用“device gray”和“device CMYK”,而不是一些经过校准的颜色空间,它们会这样那样调整事物。正如我在对@Mark Storer的评论中所暗示的那样,强制只在CMYK中的K板上打印灰色可能不是那么简单。。。我想这在很大程度上取决于什么被用作“飞行前”预览设备-对于Linux,我能找到的唯一东西就是
ghostscript
和tiffsep
,这就是我用来检查CMYK分离的“健全性”
无论如何,我在comp.lang.postscript
上得到了很多帮助:
- 使用
的ghostscript
ps2write
- 使用
将此PS转换回PDF,同时在中执行替换函数ghostscript
- 使用
的ghostscript
检查实际分离tiffsep
# PDF to PS using `ps2write` device of `ghostscript`
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=ps2write \
-sOutputFile=./blah-slide-gsps2w.ps \
./blah-slide.pdf
# PS to PDF using replacement function in HackRGB-cmyk-inv.ps
gs \
-dNOPAUSE \
-dBATCH \
-sDEVICE=pdfwrite \
-sOutputFile=./blah-slide-hackRGB-cmyk-inv.pdf \
./HackRGB-cmyk-inv.ps \
./blah-slide-gsps2w.ps
# check separations
gs \
-dNOPAUSE \
-dBATCH \
-dSAFER \
-sDEVICE=tiffsep \
-dFirstPage=1 \
-dLastPage=1 \
-sOutputFile=p%02d.tif \
blah-slide-hackRGB-cmyk-inv.pdf \
\
&& eog p01.tif 2>/dev/null
这应该只适用于R=G=B的RGB值(最好是灰度值),并且只适用于文本颜色,它还可以展平文本信息-但是应该可以通过tiffsep
确认文本确实只在K板上结束
正如新闻组文章中所提到的,这项技术还没有经过广泛的测试,但到目前为止看起来很有希望……干杯 作为对SDAU伟大答案的改进,我可以建议使用pdftops from将pdf转换为ps,而不是ghostscript ps2write,因为后者会导致字体变为阶梯状,据说无法准确保留原始pdf。通过放大结果PDF的文本区域进行比较。Hi@Mark Storer,谢谢您的回答!我猜,证明G->CMYK转换可能是哪个设备渲染最终显示的问题;我将
gs
与tiffsep
一起用于(我猜是)“飞行前”,通常,只要一个RGB->G->CMYK就会在所有四个图版上显示黑色文本,就像查看原始RGB“飞行前”时一样。不过,我在comp.lang.postscript
上得到了一些答案,我将在下一篇文章中发布这些答案……非常感谢您的回答,@Ole-很高兴在这里有其他答案。。。干杯