【问题标题】:Converting (any) PDF to black (K)-only CMYK将(任何)PDF 转换为仅黑色 (K) CMYK
【发布时间】:2011-09-09 01:34:39
【问题描述】:

这与:

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

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

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

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

【问题讨论】:

    标签: pdf cmyk


    【解决方案1】:

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

    无论如何,我在comp.lang.postscript 的这个帖子中得到了很多帮助:

    ... 一个适合我的工作流程是:

    • 使用ghostscriptps2write将PDF转换为PS
    • 使用ghostscript将此PS转换回PDF,同时在HackRGB-cmyk-inv.ps中执行替换功能
    • 使用ghostscripttiffsep 检查实际分色

     

    比如说,这个由 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 盘上。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 非常感谢您的回答,@Ole - 很高兴在这里有替代方案...干杯!
      【解决方案3】:

      我建议您使用 GS 将 PDF 转换两次。一次是灰阶色彩空间,然后是 CMYK。

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

      【讨论】:

      • 嗨@Mark Storer,感谢您的回答!我想,证明 G->CMYK 转换可能与哪个设备呈现最终显示有关;我将gstiffsep 一起用于(我猜)“预检”,通常,只有RGB->G->CMYK 会在所有四个印版上显示黑色文本,就像查看原始RGB“预检”时一样。不过,我在comp.lang.postscript 上得到了一些答案,我将在接下来发布...
      猜你喜欢
      • 2014-03-12
      • 1970-01-01
      • 2020-01-23
      • 2020-01-23
      • 1970-01-01
      • 2016-06-06
      • 2013-01-28
      • 2022-08-15
      • 2016-07-19
      相关资源
      最近更新 更多