我有一个XeTeX生成的PDF文档,我需要将其转换为PDF / A-1b。问题是,在第二次调用gs
之后,在最终PDF文档的某些页面上,其上有图像,文本看起来非常糟糕,并且无法在 evince中选择 / AcrobatPro 了。这仅适用于某些带有图像的页面,而不是带有图像的所有页面。
在第一次通话中,我嵌入了这样的字体:
gs -dSAFER -dNOPLATFONTS -dNOPAUSE -dQUIET -dBATCH \
-sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dUseCIEColor \
-dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 \
-dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true \
-sOutputFile=PhD-Thesis_Hilboll_v1.1-fontsembedded.pdf \
-f PhD-Thesis_Hilboll.pdf
然后,在第二次调用gs
时,我会进行PDF / A转换:
gs -dPDFA -dBATCH -dNOPAUSE -dQUIET -dNOOUTERSAVE -dUseCIEColor \
-sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite \
-sOutputFile=PhD-Thesis_Hilboll_v1.1-PDFA.pdf \
PhD-Thesis_Hilboll_v1.1-fontsembedded.pdf \
PhD-Thesis_Hilboll-def.ps
PDF / A定义文件PhD-Thesis_Hilboll-def.ps
如下所示:
%!
% $Id: PDFA_def.ps 8284 2007-10-10 17:40:38Z giles $
% This is a sample prefix file for creating a PDF/A 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 (eciRGB_v2.icc) def
/ICCProfile (/usr/share/color/icc/ISOcoated_v2_eci.icc) def
[ /Title (Tropospheric nitrogen dioxide from satellite measurements: SCIAMACHY limb/nadir matching and multi-instrument trend analysis) % Customize.
/Author (Andreas Hilboll) % Customize.
%/Subject (Dissertation angefertigt an der Universitaet Bremen) % Customize.
/DOCINFO pdfmark
% Define an ICC profile :
[/_objdef {icc_PDFA} /type /stream /OBJ pdfmark
[{icc_PDFA} <</N systemdict /ProcessColorModel get /DeviceGray eq {1} {4} ifelse >> /PUT pdfmark
[{icc_PDFA} ICCProfile (r) file /PUT pdfmark
% Define the output intent dictionary :
[/_objdef {OutputIntent_PDFA} /type /dict /OBJ pdfmark
[{OutputIntent_PDFA} <<
/Type /OutputIntent % Must be so (the standard requires).
/S /GTS_PDFA1 % Must be so (the standard requires).
/DestOutputProfile {icc_PDFA} % Must be so (see above).
/OutputConditionIdentifier (CGATS TR001) % Customize
>> /PUT pdfmark
[{Catalog} <</OutputIntents [ {OutputIntent_PDFA} ]>> /PUT pdfmark
非常感谢任何帮助!
更新:我刚刚意识到,当我直接执行PDF / A步骤时,错误也会发生,而不会先嵌入字体。