2015-05-25 2 views
3

я боролся с этим в течение нескольких дней, поэтому я думал, что просить о помощи здесь ...создания корректного PDF/X с ps2pdf (Ghostscript)

В принципе, я пытаюсь использовать ps2pdf (версия 9.10) для создания правильных документов PDF/X-1 и PDF/X-3. Да, я знаю, что ps2pdf, как говорят, поддерживает только PDF/X-3 (см. this thread и this thread и this thread). Однако, поскольку PDF/X-1 является в основном подмножеством PDF/X-3, я предполагаю, что такое преобразование должно быть возможным. Кроме того, с помощью команды ...

gs -sDEVICE=pdfwrite -dPDFX -dBATCH -dNOPAUSE -dNOOUTERSAVE -sProcessColorModel=DeviceCMYK -sOutputFile=out.pdf PDFX_def.ps in.pdf 

Я заметил, что цвета в PDF/X-3 файлы, которые я создаю, преобразуются в CMYK, вместо того, чтобы оставить их в RGB (который должен быть в случае с PDF/X-3). Итак, технически файлы теперь PDF/X-1: что я могу подтвердить, добавив «/ GTS_PDFXVersion (PDF/X-1a: 2003)» в PDFX_def.ps и запустив файл с помощью предпросмотра Adobe.

Который подводит меня к первой части вопроса: как я могу предотвратить цвет RGB, определенный в исходном документе PDF, который будет преобразован в CMYK? Переключатель «-dColorConversionStrategy =/LeaveColorUnchanged», похоже, не имеет никакого эффекта. (На самом деле, я прочитал here, что такое преобразование не даже возможно. Итак, почему это происходит? Или это устаревшая информация?)

Во-вторых, почему documentation говорят, что «RGB не допускается» в комбинации с "-dPDFX"? Разве это не то, что PDF/X-3?

В-третьих, можно ли также создавать документы PDF/X-4, которые проходят предполетный просмотр Adobe?

Кстати, вот мой PDFX_def.ps файл:

%! 
% $Id$ 
% 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 (Blurb_ICC_Profile.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 : 

/ICCProfile (ISOcoated_v2_300_eci.icc) def % Customize or remove. 

[ /GTS_PDFXVersion (PDF/X-3:2002) % Must be so (the standard requires). 
    /Title (Title)     % 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 (ISOcoated_v2_300_eci.icc) % Customize 
    /Info (Info)      % Customize 
    /OutputConditionIdentifier (Custom)  % 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 

Заранее спасибо!

ответ

3

ОК сперва у вас не может производить PDF/X-1 с использованием pdfwrite в настоящее время из-за ограничений с поддержкой цвета в PDF/X-1. Фактически можно сделать почти, но цветовые пространства Separation и DeviceN не преобразуются в пространство устройства и должны быть.

Во-вторых, вы должны действительно использовать текущую версию Ghostscript (9.16).

Как вы отметили позже в своем ответе, в документации указано, что вы не можете использовать/RGB. Поэтому причина, по которой ваши цвета RGB преобразуются в CMYK, заключается в том, что вы не можете использовать RGB (см. Ниже).

Отчет об ошибке Ghostscript, которому вы ссылаетесь, 5 лет назад, что было правдой 5 лет назад, больше не является правдой (и не было правдой, когда 9.10 был выпущен почти 2 года назад). Однако, как я заметил выше, вы все еще не можете создавать PDF/X-1, поэтому ошибка все еще остается открытой. Проделана определенная работа, еще многое предстоит сделать.

Настройка ColorConversionStrategy в сочетании с PDFX не влияет, поскольку требования к преобразованию цвета в формате PDFX перечеркивают ColorConversion из командной строки.

Вы не можете использовать пространство DeviceRGB в документе PDF/X-1, если не указать цветовое пространство DefautlRGB, которое само не является пространством DeviceRGB или DeviceN. Насколько я помню, в настоящее время в pdfwrite нет положения для указания пространства DefaultRGB, поэтому вы не можете использовать DeviceRGB.

И наконец; нет, вы еще не можете создать файл PDF/X-4 с помощью устройства pdfwrite.

+0

Спасибо, @KenS, за этот полезный ответ. Могу ли я задать еще несколько вопросов: (1) Что вы понимаете, говоря, что pdfwrite не может создавать файлы PDF/X-1? Как я вижу, создаваемые файлы PDF/X-3 действительно выглядят как PDF/X-1. Они даже проходят предварительный предпросмотр Adobe PDF/X-1. Если бы они были X-3, не было бы необходимости конвертировать RGB в CMYK? (Я не использую пространства DeviceN.) (2) Для меня основное преимущество использования PDF/X-3 заключается в возможности включать цвета RGB и обрабатывать преобразование принтера. Итак, если вы говорите правду (и я предполагаю, что это так), мне кажется, что я действительно не могу создавать файлы PDF/X-3 !? –

+1

Код, в его нынешнем виде, не может принимать произвольный вход и надежно создавать выход PDF/X-1. Возможные входы, которые не будут преобразованы в приемлемое пространство устройства. Поэтому он не может создавать PDF/X-1 (могут быть случаи, когда конкретные виды ввода приводят к тому, что файл PDF будет проходить проверку PDF/X-1, но он не является ** ненадежным). Вы можете создать файл PDF/X-3, поскольку он имеет более широкую поддержку цветовых пространств. Использование RGB и «разрешение обработки конвертера принтером» приведет к низким результатам качества, если у вас не будет тщательно откалиброванного цвета. – KenS

+2

@KenS: напишите «PDF/X-1a», а не «PDF/X-1». Технически разница между этими двумя и единственная, что используется сегодня, - это PDF/X-1a –

2

ОК, ответ KenS должен быть принят как правильный для этого вопроса, но в течение нескольких лет активно работал над стандартными работами (около пятнадцати сейчас :)), я хотел добавить еще несколько общих утверждений.

PDF/X-1a
Пожалуйста, обратитесь к PDF/X-1a, а не PDF/X-1. Это две разные вещи, и пока никто не использует PDF/X-1, на данный момент было бы полезно использовать правильное название стандарта, которое включает в себя «a».

PDF/X-3 и RGB
Заявление в оригинальный вопрос «вместо того, чтобы оставить их в RGB (который должен быть в случае с PDF/X-3)» является неправильным или, по крайней мере, ввести в заблуждение (хотя я думаю).

Разница между PDF/X-1a и PDF/X-3 заключается в том, что PDF/X-3 поддерживает цветовые пространства, отличные от CMYK. Но это не означает, что CMYK не разрешен или что вы не можете отлично использовать PDF/X-3 только для файлов CMYK. Фактически, большинство реализаций, которые используют «PDF/X-3», которые я знаю, просто используют только файлы CMYK.

И да, если у вас есть файл PDF/X-3, содержащий только CMYK и/или цвет пятна, и вы меняете стандартные поля метаданных на PDF/X-1a, вы получите действительный PDF-файл/X-1a файл; между этими стандартами очень мало различий.

+0

Спасибо, @David, за разъяснения относительно PDF/X-1a. Действительно, я все время забываю письмо «а». :) Что касается RGB против CMYK: Да, я знаю, что отлично использовать CMYK-пространства в PDF/X-3. Однако, как я вижу, возможность использовать CIELAB и управляемый RGB является одним из основных преимуществ PDF/X-3, поэтому я спросил, возможно ли это. –

+0

Кроме того, спасибо, @David, за подтверждение относительно PDF/X-1a: Итак, правильно ли я предполагаю, что файлы, созданные этой процедурой, действительно являются файлами PDF/X-1a? Кажется, что они проходят проверку ... но есть ли что-то, на что мне нужно обратить внимание, если позволить ghostscript обрабатывать преобразование? –

+2

Да, как я уже сказал, есть потенциальные цветовые пространства ввода, которые не будут преобразованы в допустимое цветовое пространство PDF/X-1a, но будут сохранены без изменений. Это оставит файл действительным файлом PDF/X-3, но не является допустимым файлом PDF/X-1a. – KenS

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