这与:
...但在这里更具体一点:假设我有一个 RGB PDF,其中文本颜色为“深黑色”(R:0 G:0 B:0 变为 C:100 M:100 Y:100 K:100 ),以及多样化的图像和矢量图形。
我想将其转换为 CMYK PDF,使用免费的命令行工具(因此它可以在 Linux 下批量编写脚本),它
- 仅在黑色 (K) 通道中
具有内容:
- 保留矢量图形(+ 文本字形) - 颜色仅在黑色 (K) 通道中变为灰度
- 图像仅在黑色 (K) 通道中转换为灰度
提前感谢您的任何答案,
干杯!
这与:
...但在这里更具体一点:假设我有一个 RGB PDF,其中文本颜色为“深黑色”(R:0 G:0 B:0 变为 C:100 M:100 Y:100 K:100 ),以及多样化的图像和矢量图形。
我想将其转换为 CMYK PDF,使用免费的命令行工具(因此它可以在 Linux 下批量编写脚本),它
提前感谢您的任何答案,
干杯!
正如我在对@Mark Storer 的评论中所暗示的那样,事实证明,仅在 CMYK 的 K 版上强制进行灰色打印可能不是那么简单……我想这在很大程度上取决于用作“预检”预览设备的设备- 对于 Linux,我唯一能找到的是ghostscript
with tiffsep
,这是我用于 CMYK 分色的“健全性检查”。
无论如何,我在这个线程中得到了很多帮助comp.lang.postscript
:
...对我有用的一个工作流程是:
ghostscript
使用's将 PDF 转换为 PSps2write
ghostscript
将此 PS 转换回 PDF,同时在HackRGB-cmyk-inv.ps中执行替换功能 ghostscript
'stiffsep
检查实际分离
例如,对于 OpenOffice 生成的 PDF:blah-slide.pdf,命令行将是:
# 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板。
正如新闻组帖子中提到的,这没有经过广泛的测试,但到目前为止看起来很有希望......
干杯!
作为对 sdaau 出色答案的改进,我可以推荐使用xpdf中的 pdftops 将 pdf 转换为 ps,而不是 ghostscript ps2write,因为后者例如会导致字体变得阶梯状,并且据说不能准确地保留原始 pdf。通过放大生成的 pdf 的文本区域进行比较。
我建议您使用 GS 转换 PDF 两次。一次到灰色阴影颜色空间,然后到 CMYK。
我不确定它会起作用,但如果它不起作用,我会有点惊讶。G->CMYK 听起来像是脑死X -> 0 0 0 X
转换。至少如果你坚持使用“设备灰色”和“设备 CMYK”而不是一些校准的色彩空间,它们会以这种方式和那种方式调整事物。