脚本(或其他一些方法)将RGB转换为PDF格式的CMYK?

时间:2010-08-05 19:10:10

标签: pdf rgb ghostscript adobe-illustrator cmyk

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

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

4 个答案:

答案 0 :(得分:19)

此答案不适用于Illustrator,而适用于'其他工具',即Ghostscript(下载gs871w32.exegs871w64.exe)。

Ghostscript允许你'重新提炼'PDFs( 没有 中间转换为PostScript,可怕的'refrying'绕道而行)。试试这个命令:

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

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

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


更新2

如果颜色转换无法正常工作,并且您看到的消息如“无法将色彩空间转换为灰色,将策略还原为LeaveColorUnchanged”那么......

  1. 您的Ghostscript可能是 9.x版本系列的新版本,
  2. 您的源PDF可能使用嵌入式 ICC颜色配置文件
  3. 在这种情况下,将 -dOverrideICC 添加到命令行,看看它是否会根据需要更改结果。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

我在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。

答案 3 :(得分:0)

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

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 ”可能更适合输入......我不知道(我不知道)我知道在哪里)。也许专家可以解释最佳使用方式。

感谢。的问候,