You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
%!
% This is a sample prefix file for creating a PDF/X-3 document.
% Users should modify entries marked with "Customize".
% This assumes an ICC profile resides in the file (ISO Coated sb.icc)
% in the current directory unless the user modifies the corresponding line below.
% First up, attempt to ensure the user has set ColorConversionStrategy correctly.
% PDF/X-3 only permits Gray or CMYK in the output.
%
systemdict /ColorConversionStrategy known { systemdict /ColorConversionStrategy get cvn dup /Gray ne exch /CMYK ne and} { (\nERROR: ColorConversionStrategy not set.)= true} ifelse{ (ERROR: ColorConversionStrategy must be /DeviceGray or /DeviceCMYK.)= /ColorConversionStrategy cvx /rangecheck signalerror} if
% Define entries in the document Info dictionary :
%
[ /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
/ICCProfile (ISO Coated sb.icc) def % Customize or remove.
% Define an ICC profile in the output, if the user specified one.
%
currentdict /ICCProfile known { [/_objdef {icc_PDFX} /type /stream /OBJ pdfmark
% This code attempts to set the /N (number of components) key for the ICC colour space.
% To do this it checks the ColorConversionStrategy or the device ProcessColorModel if
% ColorConversionStrategy is not set.
% This is not 100% reliable. A better solution is for the user to edit this and replace
% the code between the ---8<--- lines with a simple declaration like:
% /N 3
% where the value of N is the number of components from the profile defined in /ICCProfile above.
% Note, if you don't set ColorConversionStrategy, the output will likely be invalid anyway.
[{icc_PDFX} <<% ----------8<--------------8<-------------8<--------------8<----------
systemdict /ColorConversionStrategy known { systemdict /ColorConversionStrategy get cvn dup /Gray eq { pop /N 1 false }{ dup /RGB eq { (RGB is not a valid ColorConversionStrategy for PDF/X output)= /ColorConversionStrategycvx /rangecheck signalerror }{ /CMYK eq { /N 4 false }{ (ColorConversionStrategy not a device space, falling back to ProcessColorModel, output may not be valid PDF/X.)= true } ifelse } ifelse } ifelse } { (ColorConversionStrategy not set, falling back to ProcessColorModel, output may not be valid PDF/X.)= true } ifelse
{ currentpagedevice /ProcessColorModel get dup /DeviceGray eq { pop /N 1 }{ dup /DeviceRGB eq { (RGB is not a valid ProcessColorModel for PDF/X output)= /ColorConversionStrategycvx /rangecheck signalerror }{ dup /DeviceCMYK eq { pop /N 4 } { (ProcessColorModel not a device space.)= /ProcessColorModel cvx /rangecheck signalerror } ifelse } ifelse } ifelse } if% ----------8<--------------8<-------------8<--------------8<----------
>> /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
|