function SaveAsPdfX(const FileName: string): Boolean; overload;
function SaveAsPdfX(const FileName: string; const Options: TPdfXSaveOptions): Boolean; overload;
SaveAsPdfX は最初に通常の SaveAs を実行し、保存されたバイトの上にファイルの PDF/X(グラフィックアーツ業界で使用される印刷交換標準の ISO 15930 ファミリ)への適合を促進する増分更新をレイヤーします。この後処理により、保存されたストリームに5つのクラスのバイトが注入されます:
pdfxid:GTS_PDFXVersion、および PDF/X-1a / PDF/X-3 のための pdfxid:GTS_PDFXConformance)を宣言し、pdfxid 名前空間に対する一致する pdfaExtension:schemas 記述、および Title / Author / Producer / 日付のためのブリッジされた Dublin Core / xmp / pdf プロパティを宣言する XMP メタデータストリーム。/GTS_PDFXVersion、オプションの /GTS_PDFXConformance(PDF/X-1a / PDF/X-3 のみ。PDF/X-4 ではこのエントリは非推奨です)、および /Trapped 名(デフォルトは /False)を追加する、書き換えられたドキュメント情報辞書。既存の Info エントリ(Title / Author / Subject など)は保持されます。/Metadata N 0 R および /OutputIntents [M 0 R] の参照を持つ、更新されたドキュメントカタログ。/DestOutputProfile を介して埋め込みICCプロファイルを参照する、/Type /OutputIntent /S /GTS_PDFX および必須の /OutputCondition / /OutputConditionIdentifier / /RegistryName / /Info エントリを持つ OutputIntent 辞書。Options.IccProfileData を通じて CMYK プロファイルを指定できます)。トレイラーは /ID 配列を追加するために書き換えられます。出力は元のPDFの最後まで、ベースとなるSaveAsの結果とバイト単位で同一に保たれ、増分更新のみが追加されます。2つのオーバーロードの違いは構成の渡し方のみです:ファイル名のみの形式は TPdfXSaveOptions.Default(PDF/X-4 + sRGB + /Trapped /False)を使用し、FPDF_GetMetaText と FPDF_GetFileIdentifier から Info / DocumentId フィールドが自動的に設定されます。
成功した場合は True を返します。ベースとなる SaveAs が失敗したか、増分更新を添付できなかった場合は False を返します。
Options.IccProfileData に指定し、それに応じて OutputConditionIdentifier / RegistryName / OutputIntentInfo を更新してください。SaveAs(..., saRemoveSecurity) を呼び出してください。Options.Conformance に対応するマーカーを付加しますが、これらのコンテンツレベルのルールを強制することはできません。プリフライトを介して確認してください。// バンドルされたsRGB OutputIntentを使用したシンプルなPDF/X-4
if Pdf1.SaveAsPdfX('C:\AdProof.pdfx.pdf') then
ShowMessage('Saved PDF/X-4');
// カスタムCMYK ICCプロファイル(例:FOGRA39)を使用したPDF/X-1a
var
Opts: TPdfXSaveOptions;
begin
Opts := TPdfXSaveOptions.Default;
Opts.Conformance := pxc1a;
Opts.IccProfileData := TFile.ReadAllBytes('C:\ICC\FOGRA39.icc');
Opts.OutputCondition := 'Coated FOGRA39 (ISO 12647-2:2004)';
Opts.OutputConditionIdentifier:= 'FOGRA39';
Opts.RegistryName := 'http://www.color.org';
Opts.Trapped := ptFalse;
Pdf1.SaveAsPdfX('C:\AdProof.cmyk.pdfx.pdf', Opts);
end;