Скрипт (или каким-либо другим способом) для преобразования RGB в CMYK в PDF?

Можно ли написать скрипт для Adobe Illustrator или другого инструмента, который будет считывать содержимое ряда файлов PDF и конвертировать все цвета RGB в CMYK?

Если да, может кто-нибудь указать на некоторые из этих шагов или где найти дополнительную информацию по этому вопросу?

4 ответа

Решение

Этот ответ не для 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...

ОБНОВЛЕНИЕ: я обновил вышеупомянутую команду, потому что я пропустил возможность также конвертировать изображения.


Обновление 2

Если преобразование цветов не работает должным образом и вы видите сообщение типа "Невозможно преобразовать цветовое пространство в серый, возвращение стратегии в LeaveColorUnchanged", тогда...

  1. ваш Ghostscript, вероятно, является более новым выпуском из серии версий 9.x, и
  2. ваш исходный PDF, вероятно, использует встроенный цветовой профиль ICC

В этом случае добавить -dOverrideICC в командной строке и посмотреть, если он изменит результат по желанию.

В Linux Mint / Ubuntu я попробовал это ( из этого), используя ICC Profiles (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 " для ввода... Я не знаю (и не знаю, где). Может быть, эксперт мог бы объяснить лучший способ использования.

Благодарю. С Уважением,

ABCpdf перекрасит в CMYK или любое другое цветовое пространство или профиль, о котором вы только можете подумать. Увидеть:

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

Я написал и протестировал следующий скрипт в 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.

Другие вопросы по тегам