是否有可能编写一种 Adobe Illustrator 或其他工具的脚本,能够读取多个 PDF 文件的内容并将所有 RGB 颜色转换为 CMYK 呢?
如果可能的话,请问有哪些步骤需要注意,或者在哪里可以找到更多相关信息呢?
是否有可能编写一种 Adobe Illustrator 或其他工具的脚本,能够读取多个 PDF 文件的内容并将所有 RGB 颜色转换为 CMYK 呢?
如果可能的话,请问有哪些步骤需要注意,或者在哪里可以找到更多相关信息呢?
这个答案不适用于Illustrator,而是针对'其他一些工具',即Ghostscript(下载 gs871w32.exe
或 gs871w64.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 将会发布。这个新版本将首次支持基于 LCMS 的颜色管理,并使用 ICC 配置文件。
更新: 我更新了上面的命令,因为我忘记加入选项来转换图片。
如果颜色转换不起作用,并出现类似于 "无法将颜色空间转换为灰度,将策略还原为 LeaveColorUnchanged" 的消息,则...
在这种情况下,将-dOverrideICC
添加到命令行中,看看是否按预期更改了结果。
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”对于输入会更好...我不知道(也不知道在哪里)。也许有专家能解释使用的最佳方式。
谢谢。问候,
我已经在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);
}
}
ABCpdf可以重新着色为CMYK或任何其他您能想到的颜色空间或配置文件。请参见: