2014-09-30 7 views
0

У меня есть приложение, которое создает PDF-файл с TCPDF, а затем использует Ghostscript для преобразования его в совместимость с x3: 2002.Какие настройки следует использовать, чтобы сохранить правильный цвет при преобразовании PDF в x-3: 2002 с ghostscript?

с помощью командной строки, я называю эту команду:

gs -dPDFX -dBATCH -dQUIET -dNOPAUSE -dNOOUTERSAVE -sProcessColorModel=DeviceCMYK -sColorConversionStrategy=CMYK -sColorConversionStrategyForImages=CMYK -sOutputICCProfile='ISO Coated sb.icc' -sDEVICE=pdfwrite -sOutputFile=$new_pdf $defs_file $original_pdf 

Это работает хорошо, за исключением того, что цвета немного размыты. Какие настройки можно изменить, чтобы улучшить это?

Несвязанный момент, но если кто-то столкнулся с этим и получил ответ, стоит отметить: я также получаю ошибки для «Коробки страниц, которые не вложены правильно».

Цените любую помощь.

- ОБНОВЛЕНИЕ -

Я использую версию 9.15 и файл PDFX_def.ps по существу такой же, как образец при условии:

%! 
% $Id: PDFX_def.ps 8284 2007-10-10 17:40:38Z giles $ 
% This is a sample prefix file for creating a PDF/X-3 document. 
% Feel free to modify entries marked with "Customize". 

% This assumes an ICC profile to reside in the file (ISO Coated sb.icc), 
% unless the user modifies the corresponding line below. 


systemdict /ProcessColorModel known { 
    systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and 
} { 
    true 
} ifelse 
{ (ERROR: ProcessColorModel must be /DeviceGray or DeviceCMYK.)= 
    /ProcessColorModel cvx /rangecheck signalerror 
} if 


% Define entries to the document Info dictionary : 

[ /GTS_PDFXVersion (PDF/X-3:2002) % Must be so (the standard requires). 
    /Title (Generated by xxx.com) % Customize. 
    /Trapped /False     % Must be so (Ghostscript doesn't provide other). 
    /DOCINFO pdfmark 

% Define an ICC profile : 

currentdict /ICCProfile known { 
    [/_objdef {icc_PDFX} /type /stream /OBJ pdfmark 
    [{icc_PDFX} <</N systemdict /ProcessColorModel get /DeviceGray eq {1} {4} ifelse >> /PUT pdfmark 
    [{icc_PDFX} ICCProfile (r) file /PUT pdfmark 
} if 

% Define the output intent dictionary : 

[/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark 
[{OutputIntent_PDFX} << 
    /Type /OutputIntent    % Must be so (the standard requires). 
    /S /GTS_PDFX      % Must be so (the standard requires). 
    /OutputCondition (Commercial and specialty printing) % Customize 
    /Info (none)      % Customize 
    /OutputConditionIdentifier (CGATS TR001)  % Customize 
    /RegistryName (http://www.color.org) % Must be so (the standard requires). 
    currentdict /ICCProfile known { 
    /DestOutputProfile {icc_PDFX} % Must be so (see above). 
    } if 
>> /PUT pdfmark 
[{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark 

ответ

0

Это зависит от того, что оригинальное цветовое пространство дюйм. Вы указали CMYK как ваш выход, а «ISO Coated sb.icc» в качестве выходного ICC-профиля.

Так что любые цвета не в CMYK должны быть преобразованы в CMYK для начала. Это делается с использованием некоторых профилей ICC по умолчанию, которые сначала преобразуют все цвета без CMYK в пространство ICC, а затем используют другой профиль ICC по умолчанию для преобразования в CMYK.

Вы можете изменить любой профиль ICC, участвующий в преобразовании, чтобы получить другой результат. Взгляните на документацию в ghostpdl/gs/doc/GS9_Color_Management.pdf и /ghostpdl/gs/doc/Use.htm#ICC_color_parameters. Скорее всего, если вы сбросите -sOutputICCProfeil, вы получите что-то вроде того, что хотите.

Вы не указали, какой файл OutputIntentProfile находится в вашем файле PDF/X defs, и вы не сказали, какую версию Ghostscript вы используете, вам нужно не менее 9.14.

Вы не указали, откуда берутся неправильные вложенные страницы.

+0

Спасибо Кен, я уточнил вопрос с дополнительной информацией. Я оставил один из них без -sOutputICCProfile тем временем, и это немного размыто, но намного лучше. Также, похоже, исправлена ​​проблема с вложенными ящиками, что кажется маловероятным. Я проведу еще несколько тестов, но думаю, что вы, возможно, взломали его. Я вернусь и приму ответ, если так! – Jammooka

+0

Err проблема с вложенными ящиками, исправляемая профилем ICC, кажется маловероятной, да :-) Вы можете, конечно, использовать другой профиль ICC, чтобы преобразовать CMYK с независимым от устройства цветом. Я не эксперт по цвету, хотя я боюсь. – KenS

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

  • Нет связанных вопросов^_^