2016-03-31 3 views
0

Я прочитал this post о том, как конвертировать PDF в CMYK, но когда я пытаюсь принятым решениемПреобразования PDF без каких-либо изображений в CMYK

gs \ 
    -o test-cmyk.pdf \ 
    -sDEVICE=pdfwrite \ 
    -sProcessColorModel=DeviceCMYK \ 
    -sColorConversionStrategy=CMYK \ 
    -sColorConversionStrategyForImages=CMYK \ 
    test.pdf 

Я не получает PDF с CMYK цветового пространства, если мой оригинальный PDF не содержит изображения. Если я добавлю к нему изображение, я получаю правильный результат (отмечен identify).

Например, если я создаю svg с inskcape с одним прямоугольником, экспортируйте его в pdf, а затем используйте команду ghostscript, он по-прежнему получает формат pdf в цветовом пространстве sRBG. Но, если я добавлю изображение в свой svg, он отлично работает.

Какой вариант в gs решить эту проблему? Моя версия - 9.19.


Edit: KENS нашел проблему: отчет от identify неправильно. Поэтому я добавляю свой установленный номер версии ImageMagick: 6.9.3.

ответ

0

Если вы используете обновленную версию Ghostscript, то вам не нужно ни -sColorConversionStrategyForImages (кстати, это не настоящий контроль Ghostscript), ни -sProcessColorModel. Если вы не используете обновленную версию Ghostscript, то обновите ...

Кроме этого, поскольку вы не представили ни одного примера или не сказали нам, какую версию GS вы используете или на которой платформе, на самом деле невозможно сказать что-то еще.

[добавлено после предоставленного файла]

Ваш исходный файл PDF содержит это как поток контента для страницы:

stream 
q 
0 0 0 rg /a0 gs 
109.715 637.714 262.855 -260.57 re f 
Q 
endstream 

Так что сохраняет состояние graphcis, устанавливает цвет 0,0, 0 RGB, устанавливает определенное графическое состояние, в котором альфа-1, рисует прямоугольник и заполняет его текущим цветом, а затем восстанавливает состояние графики.

Затем я использовал эту командную строку:

./gs -sDEVICE=pdfwrite -sOutputFile=CMYK.pdf -sColorConversionStrategy=CMYK test.pdf 

Результирующий файл PDF имеет это как поток контента страницы:

stream 
q 0.1 0 0 0.1 0 0 cm 
/R7 gs 
0.722 0.675 0.671 0.882 k 
1097.15 3771.44 2628.55 2605.7 re 
f 
Q 
endstream 

Так что экономит графическое состояние, умножает CTM на 0,1 в x и y, устанавливает определенное состояние графики, устанавливает цвет в 0.722, 0.675, 0.671, 0.882 CMYK, создает прямоугольник, заполняет его текущим цветом и восстанавливает состояние графики.

Таким образом, полученный PDF-файл имеет все цвета, определенные как значения CMYK.

Возможно, ваша проблема связана с identify не Ghostscript.

+0

Спасибо за отзыв о бесполезных опциях, но это не касается моей проблемы. Я добавил номер версии для моей установки ghostscript. – rools

+0

И пример файла для демонстрации проблемы? – KenS

+0

Это [pdf] (https://www.docdroid.net/NzuYOjf/test.pdf.html), сгенерированный с помощью 'inkscape -A', после создания svg с одним прямоугольником. – rools

Смежные вопросы