При экспорте GhostScript в cmyk получается неправильный черный цвет

Я пытаюсь преобразовать файл RGB-pdf, созданный Inkscape, в готовый к печати cmyk-pdf с использованием цветового профиля PSOcoated_v3.icc. Генерация PDF работает нормально. Тем не менее, я хотел бы проверить правильные окончательные цвета, особенно для черного. Поскольку я не нашел (бесплатного) инструмента для выбора цвета cmyk из окончательного PDF-файла, я подумал, что в качестве первой проверки я конвертирую RGB-pdf в cmyk-tiff и проверяю значение черного. Делая это с помощью

gs -q -dBATCH -dSAFER -dNOPAUSE \
-sDEVICE=tiff32nc \
-sDefaultRGBProfile=sRGB2014.icc \
-dOverrideICC \
-sOutputICCProfile=PSOcoated_v3.icc \
-sProcessColorModel=DeviceCMYK \
-sColorConversionStrategy=CMYK \
-sOutputFile=rgb.pdf \
 cmyk.tiff

дает значение черного cmyk [0,83, 0,67, 0,51, 0,95]. И наоборот, когда я использую libcms2 для преобразования rgb (0,0,0) в cmyk, я получаю [0,92, 0,64, 0,45, 0,96], что соответствует (почти) некоторой информации о профиле PSOcoated_v3.icc, который я нашел здесь. Чтобы подтвердить, что исходный RGB-файл черный читается (0,0,0), я конвертирую RGB-pdf в RGB-tiff и нахожу черный цвет (0,0,0).

Я что-то упустил в команде, может быть, это ошибка gs?


person cima    schedule 18.10.2017    source источник
comment
Вам не нужен -sProcessColorModel=DeviceCMYK, потому что устройство tiff32nc поддерживает только DeviceCMYK, поэтому оно устанавливает его для вас. Вам также не нужен -sColorConversionStrategy=CMYK, этот переключатель только имеет какое-либо влияние на семейство устройств pdfwrite. В этом случае эффекта не будет. Я попросил соответствующего человека посмотреть на этот пост относительно значения цвета. Вы не говорите, какую версию Ghostscript вы используете.   -  person KenS    schedule 18.10.2017
comment
Спасибо за ответ. Ненужные параметры — это задача преобразования исходного pdf в pdf. Я использую двоичный файл с домашней страницы gs для unix, gs-922-linux-x86_64.   -  person cima    schedule 18.10.2017


Ответы (1)


Если я возьму цвет RGB [0,0,0] в цветовом пространстве sRGB и преобразую его в значение CMYK, определенное профилем ICC v3 с покрытием PSO в Photoshop (используя Adobe ACE CMM в Photoshop), я получу точно значения CMYK. вы видите с gs, то есть [0,83, 0,67, 0,51, 0,95].

Это использовалось относительное колориметрическое намерение рендеринга с включенной компенсацией черной точки. Это настройки, которые gs будет использовать для lcms по умолчанию.

Я подозреваю, что когда вы используете libcms2, он использует другое намерение рендеринга. Например, когда я использую перцептивное намерение рендеринга с Adobe ACE, я получаю [0,90, 0,64, 0,45, 0,96].

Обратите внимание, что вы можете указать с помощью gs, какое намерение рендеринга вы хотите использовать с -dRenderIntent=0/1/2/3 . См. https://ghostscript.com/doc/current/Use.htm#ICC_color_parameters подробности.

person mvrhel    schedule 18.10.2017
comment
Отличный намек! Я не знал, что намерение рендеринга имеет такое влияние. При установке намерения RELATIVE_COLORIMETRIC в lcms воспроизводятся те же значения. Спасибо, что помогли мне в этом. - person cima; 18.10.2017