6

这与:

...但在这里更具体一点:假设我有一个 RGB PDF,其中文本颜色为“深黑色”(R:0 G:0 B:0 变为 C:100 M:100 Y:100 K:100 ),以及多样化的图像和矢量图形。

我想将其转换为 CMYK PDF,使用免费的命令行工具(因此它可以在 Linux 下批量编写脚本),它

  • 在黑色 (K) 通道中 具有内容:
    • 保留矢量图形(+ 文本字形) - 颜色仅在黑色 (K) 通道中变为灰度
    • 图像仅在黑色 (K) 通道中转换为灰度

提前感谢您的任何答案,
干杯!

4

3 回答 3

5

正如我在对@Mark Storer 的评论中所暗示的那样,事实证明,仅在 CMYK 的 K 版上强制进行灰色打印可能不是那么简单……我想这在很大程度上取决于用作“预检”预览设备的设备- 对于 Linux,我唯一能找到的是ghostscriptwith tiffsep,这是我用于 CMYK 分色的“健全性检查”。

无论如何,我在这个线程中得到了很多帮助comp.lang.postscript

...对我有用的一个工作流程是:

 

例如,对于 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板。

正如新闻组帖子中提到的,这没有经过广泛的测试,但到目前为止看起来很有希望......
干杯!

于 2011-06-09T12:51:43.853 回答
2

作为对 sdaau 出色答案的改进,我可以推荐使用xpdf中的 pdftops 将 pdf 转换为 ps,而不是 ghostscript ps2write,因为后者例如会导致字体变得阶梯状,并且据说不能准确地保留原始 pdf。通过放大生成的 pdf 的文本区域进行比较。

于 2012-01-26T19:53:31.013 回答
1

我建议您使用 GS 转换 PDF 两次。一次到灰色阴影颜色空间,然后到 CMYK。

我不确定它会起作用,但如果它不起作用,我会有点惊讶。G->CMYK 听起来像是脑死X -> 0 0 0 X转换。至少如果你坚持使用“设备灰色”和“设备 CMYK”而不是一些校准的色彩空间,它们会以这种方式和那种方式调整事物。

于 2011-06-06T17:50:31.837 回答