2014-09-30 5 views
0

나는 TCPDF로 PDF를 생성 한 다음 Ghostscript를 사용하여 x3 : 2002와의 호환성으로 변환하는 응용 프로그램을 가지고 있습니다. 이 잘 작동PDF를 x-3 : 2002로 고스트 스크립트로 변환 할 때 색상을 올바르게 유지하려면 어떤 설정을 사용해야합니까?

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 

색상은 제외하고, 약간 바랜 :

명령 줄을 사용하여,이 명령을 호출합니다. 이 설정을 개선하기 위해 어떤 설정을 변경할 수 있습니까?

관련이 없지만 누구나이 문제를 알고 답변을 얻은 경우 다음을 지적하십시오. "제대로 중첩되지 않은 페이지 상자"에 대한 오류도 발생합니다.

감사합니다.

- UPDATE -

내가 버전 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로 변환해야합니다. 이 작업은 먼저 CMY 이외의 모든 색상을 ICC 공간으로 변환 한 다음 다른 기본 ICC 프로파일을 사용하여 CMYK로 변환하는 기본 ICC 프로파일을 사용하여 수행됩니다.

다른 결과를 얻기 위해 변환과 관련된 ICC 프로파일을 변경할 수 있습니다. ghostpdl/gs/doc/GS9_Color_Management.pdf 및 /ghostpdl/gs/doc/Use.htm#ICC_color_parameters의 설명서를 살펴보십시오. 대부분의 경우 -sOutputICCProfeil을 삭제하면 원하는 것을 얻을 수 있습니다.

OutputIntentProfile이 PDF/X 정의 파일에 무엇을 명시했는지, 사용중인 Ghostscript의 버전을 언급하지 않았다면 적어도 9.14를 원할 것입니다.

페이지 상자가 제대로 중첩되지 않은 곳을 말하지 않았습니다. 오류가 발생했습니다.

+0

감사합니다 Ken, 추가 정보로 질문을 업데이트했습니다. 그 사이에 -sOutputICCProfile없이 하나의 실행을 남겨 두었습니다. 그리고 그것은 _ 리틀 비트가 씻겨나지만 훨씬 좋습니다. 또한 중첩 된 상자 문제를 수정 한 것으로 보이지만 가능성이 희박합니다. 좀 더 테스트를 해보 겠지만, 당신이 그것을 깨뜨린 것 같아요. 나는 돌아와서 대답을 받아 들일 것이다! – Jammooka

+0

ICC 프로파일로 고정 된 중첩 상자 문제가 발생하지 않을 수도 있습니다. 예 :-) 물론 장치 독립적 색상 대 CMYK 변환을 수행하기 위해 다른 ICC 프로파일을 사용할 수 있습니다. 나는 두려워하지만 나는 색깔 전문가가 아니다. – KenS