PDF/A-1b に変換する必要がある XeTeX で生成された PDF ドキュメントがあります。問題は、 への 2 回目の呼び出しの後、最終的な PDF ドキュメントgs
の一部のページに画像が含まれていると、テキストの表示が非常に悪くなり、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
次に、 への 2 回目の呼び出しで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 ステップを直接実行した場合にもエラーが発生することに気付きました。