首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我用幽灵脚本将PDF转换成x-3:2002时,我应该使用什么设置来保持颜色正确?

当我用幽灵脚本将PDF转换成x-3:2002时,我应该使用什么设置来保持颜色正确?
EN

Stack Overflow用户
提问于 2014-09-30 12:35:03
回答 1查看 690关注 0票数 0

我有一个用TCPDF生成PDF的应用程序,然后使用Ghostscript将其转换为x3:2002兼容性。

使用命令行,我将此命令称为:

代码语言:javascript
复制
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文件基本上与提供的示例相同:

代码语言:javascript
复制
%!
% $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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-30 13:30:53

这取决于原来的颜色空间在什么地方。您已经将CMYK指定为您的输出,而"ISO涂层sb.icc“指定为输出ICC配置文件。

因此,任何颜色,不是在CMYK将不得不转换为CMYK开始。这是使用一些默认的ICC配置文件,它将首先将所有非CMYK颜色转换为ICC空间,然后使用另一个默认ICC配置文件转换为CMYK。

您可以更改转换过程中涉及的任何ICC配置文件,以获得不同的结果。请看鬼影and /gs/doc/GS9_Color_Management.pdf和/ghostpdl/gs/doc/Use.htm#ICC_color_parameters.中的文档最有可能的是,如果你放弃了-sOutputICCProfeil,你就会得到你想要的东西。

您还没有说明OutputIntentProfile在您的PDF/ least文件中是什么,也没有说明您正在使用的Ghostscript是什么版本,您至少需要9.14。

您还没有说明页面框(没有正确嵌套的错误)来自何处。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26121026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档