【问题标题】:Script (or some other means) to convert RGB to CMYK in PDF?在 PDF 中将 RGB 转换为 CMYK 的脚本(或其他方式)?
【发布时间】:2011-03-25 23:59:35
【问题描述】:

是否可以为 Adob​​e Illustrator 或其他工具编写脚本来读取大量 PDF 文件的内容并将所有 RGB 颜色转换为 CMYK?

如果是这样,有人可以指出一些涉及的步骤,或者在哪里可以找到更多信息?

【问题讨论】:

    标签: pdf rgb ghostscript adobe-illustrator cmyk


    【解决方案1】:

    这个答案不是针对 Illustrator,而是针对“其他一些工具”,即Ghostscript(下载gs871w32.exegs871w64.exe)。

    Ghostscript 允许您“重新提取”PDF(没有到 PostScript 的中间转换,即可怕的“重新处理”弯路)。试试这个命令:

    gswin32c.exe ^
        -o c:/path/to/output-cmyk.pdf ^
        -sDEVICE=pdfwrite ^
        -dUseCIEColor ^
        -sProcessColorModel=DeviceCMYK ^
        -sColorConversionStrategy=CMYK ^
        -sColorConversionStrategyForImages=CMYK ^
         input-rgb.pdf
    

    如果你能再等几个星期,Ghostscript 9.00 将会发布。这个新版本将首次支持带有 ICC 配置文件的色彩管理(基于 LCMS)...

    更新:我更新了上面的命令,因为我错过了输入转换图像的选项。


    更新 2

    如果颜色转换无法按预期工作,并且您看到类似“无法将颜色空间转换为灰色,正在将策略恢复为 LeaveColorUnchanged”的消息那么...

    1. 您的 Ghostscript 可能是 9.x 版本系列的更新版本,并且
    2. 您的源 PDF 可能使用嵌入的 ICC 颜色配置文件

    在这种情况下,将 -dOverrideICC 添加到命令行,看看它是否会根据需要更改结果。

    【讨论】:

    • 我试了一下.. 似乎成功了。我对颜色转换不是很熟悉,所以请多多包涵。是否可以在 CMYK 中指定每个 RGB 应该去的地图?或者它是通过最佳猜测完成的?或者有没有我显然不知道的这个应用程序采用的更准确/科学的方法?
    • @DaveDev:所以...它似乎成功了?但是您仍然认为没有理由“接受”答案? ----------- 您要求的“地图”——在色彩管理世界中,他们称之为“ICC 配置文件”。和重新。 Ghostscript 中的 ICC 配置文件支持:请参阅我的回复的最后一段 ;-)
    • 我看到:“检测到 -dUseCIEColor 的使用!自 Ghostscript 9.11 版发布以来,我们建议您不要在 pdfwrite/ps2write 设备系列中设置 -dUseCIEColor。”
    • @krlmlr:感谢您添加评论。最初的答案是 8 年前写的,与 Ghostscript 8.71 版有关。
    【解决方案2】:

    ABCpdf 将重新着色为 CMYK 或您能想到的任何其他色彩空间或配置文件。见:

    http://www.websupergoo.com/helppdf7net/source/8-abcpdf6.operations/3-recoloroperation/1-methods/recolor.htm

    【讨论】:

    • 不幸的是,它将所有图像转换为位图,使文档变得更大。恐怕对我来说有点碍事。
    • 你测试过我对这个问题的回答吗?
    【解决方案3】:

    我在 Illustrator CC 2017 中编写并测试了以下脚本:

    var folder = Folder.selectDialog();
    if (folder) {
        var files = folder.getFiles("*.pdf")
        for (var i = 0; i < files.length; i++) {
            app.open(files[i]);
            var doc = app.activeDocument;
            app.executeMenuCommand('doc-color-cmyk');
            doc.close(SaveOptions.SAVECHANGES);
        }
    }
    

    此脚本将要求提供一个文件夹,因此请选择包含您的 PDF 文件的文件夹。它会将所选文件夹中的所有 PDF 文件转换为 CMYK。

    【讨论】:

      【解决方案4】:

      在 Linux Mint / Ubuntu 上,我使用 ICC 配置文件(Ghostscript 9.18,不喜欢“-dUseCIEColor”)尝试过 (from this):

      gs -o output.pdf -sDEVICE=pdfwrite -r2400 -dOverrideICC=true -sOutputICCProfile=/usr/share/color/icc/Fogra27L.icm -sColorConversionStrategy=CMYK -dProcessColorModel=/DeviceCMYK -dRenderIntent=3 -dDeviceGrayToK=true input.pdf
      

      它“似乎”可以工作(-r2400 很有用;它是为了分辨率,可以更改或删除)。

      也许添加“-sDefaultRGBProfile=/usr/share/color/icc/colord/sRGB.icc”对于输入可能会更好......我不知道(我不知道)不知道在哪里)。也许专家可以解释最好的使用方法。

      谢谢。问候,

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-31
        • 1970-01-01
        • 1970-01-01
        • 2015-09-03
        • 1970-01-01
        • 2013-08-17
        • 1970-01-01
        • 2011-01-26
        相关资源
        最近更新 更多