Ghostscript当前能否将PDF转换为PDF/X?

Ghostscript当前能否将PDF转换为PDF/X?,pdf,colors,ghostscript,Pdf,Colors,Ghostscript,印刷厂要求我的论文PDF符合PDF/X1a:2001。内容文件是使用XeTeX-LaTeX编译的,第二个PDF是使用Inkscape 0.48完成的封面设计 我在这篇文章中找到了最接近的答案:,如果我理解正确的话,至少可以使用以下方法将PDF转换为PDF/X 如上所述,转换为PDF/X需要有效的ICC配置文件。我联系了印刷厂,他们提供了他们喜欢的文件:ISOcoated\u v2\u 300\u eci.icc。我将.icc文件添加到目标pdf文件的同一文件夹中(感谢VadimR的这句话) 重影

印刷厂要求我的论文PDF符合PDF/X1a:2001。内容文件是使用
XeTeX-LaTeX
编译的,第二个PDF是使用
Inkscape 0.48
完成的封面设计

我在这篇文章中找到了最接近的答案:,如果我理解正确的话,至少可以使用以下方法将PDF转换为PDF/X

如上所述,转换为PDF/X需要有效的ICC配置文件。我联系了印刷厂,他们提供了他们喜欢的文件:
ISOcoated\u v2\u 300\u eci.icc
。我将
.icc
文件添加到目标pdf文件的同一文件夹中(感谢VadimR的这句话)

重影脚本
我在命令行中使用了此脚本,但它不起作用:

gswin32c -dPDFX -dBATCH -dNOPAUSE -dNOOUTERSAVE -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sOutputFile=outputfile.pdf PDFX_def.ps doctorate.pdf  
我花了一些时间写了220页,但效果非常糟糕

PDFX_def.ps的内容:

%!
% 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 :

/ICCProfile (ISOcoated_v2_300_eci.icc) def  % Customize or remove.
%/ICCProfile (ISO Coated sb.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 (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
%!
%这是一个用于创建PDF/X-3文档的示例前缀文件。
%请随意修改标有“自定义”的条目。
%这假设ICC配置文件驻留在文件中(ISO涂层sb.ICC),
%除非用户修改下面的相应行。
systemdict/ProcessColorModel已知{
systemdict/ProcessColorModel获取dup/DeviceGray ne exch/DeviceCMYK ne和
} {
真的
}如果有
{(错误:ProcessColorModel必须是/DeviceGray或DeviceCMYK。)=
/ProcessColorModel cvx/范围检查信号错误
}如果
%定义文档信息字典的条目:
/ICCProfile(ISOcoated_v2_300_eci.icc)定义%自定义或删除。
%/ICCProfile(ISO涂层sb.icc)def%自定义或移除。
[/GTS_PDFXVersion(PDF/X-3:2002)%。
/标题(标题)%自定义。
/Trapped/False%必须为so(Ghostscript不提供其他)。
/DOCINFO pdfmark
%定义ICC配置文件:
已知当前DICT/ICCProfile{
[/_objdef{icc_PDFX}/type/stream/OBJ pdfmark
[{icc_PDFX}/PUT pdfmark
[{icc_PDFX}ICCProfile(r)文件/PUT pdfmark
}如果
%定义输出意图字典:
[/_objdef{outputinetent_PDFX}/type/dict/OBJ pdfmark
[{OutputIntent\u PDFX}>/PUT pdfmark
[{Catalog}/PUT pdfmark
那么我错过了什么

注释

  • Windows 7 32位
  • 不需要商业程序

您可以生成PDF/X文件,但不能生成PDF/X1,因为我记得PDF/X-1要求所有颜色都以CMYK或灰色指定,而pdfwrite的旧版本无法做到这一点,当前版本可以,但需要一些其他工作才能使其与PDF/X-1兼容,我不确定这是否值得


看到这个

错误消息只说明GS找不到您的ICC档案。将其放入当前目录(与输入文件相同)。我认为您还需要将
(PDF/X-3:2002)
更改为
(PDF/X-1a:2001)
并添加
-sColorConversionStrategy=CMYK
。查找可能需要的其他参数。请注意,如果输入包含RGB,并且文件对颜色至关重要(甚至对于文本或图形,可以使用纯黑色而不是CMYK黑色),这项工作最好由专业人士来完成。@VadimR谢谢,将
.icc
文件放在目标pdf的同一文件夹中使GS工作,但这似乎不是您所指出的最佳方法。不支持X-1仅支持X-3(最新)现在我正在考虑用PDPLATEX代替XelATEX编写整个论文,只是为了让BuGyy包<代码> PDFX < /代码>完成这项工作,使它成为代码> PDF/X-1A:2001 兼容。我不知道。因为这看起来像是一次性任务,所以您可以考虑获得Adobe AcROAT席XI,并使用试用月份。在AcROAT中,转换。PDF-X1a是飞行前工具的内置部分。或者,您可以设置一个蒸馏器设置,在处理PS文件时创建PDF-X1a。为了让事情变得更好,请询问printshop他们更喜欢哪种ICC配置文件(ISO涂层v2 300是标准胶印机配置文件,但它是在数字印刷机上完成的,它们可能有自己的配置文件,或者您可以使用ISO涂层v2 330)@MaxWyss如果是这样的话,我想知道为什么这些超级富有的印刷公司不自己为贫穷的客户做这件事,让他们从一开始就不在CYMK做这件事而感到内疚?更好的办法是出售这项服务,我们欣然接受。如果你要求并支付这项服务,他们会这样做。这是PDF/X实际上是PDF/X-3吗?我从Ghostsc读到的我有这个想法(对不起,我对这些术语很陌生)还有,最新的Ghostscript可以将PDF转换为PDF/X-4吗?是的,它是PDF/X-3,不,我们目前不支持PDF/X-4的制作。据我回忆,PDF/X-4没有任何令人兴奋的地方,应该很容易解决。PDF/X的主要问题是强制执行限制。