PDFium Delphi Component Docs

SaveAsPdfUa メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
既定では PDF/UA-1 を、TPdfUaSaveOptions.PdfUa2 で構成した場合は PDF/UA-2 を保存します

構文

function SaveAsPdfUa(const FileName: string): Boolean; overload;
function SaveAsPdfUa(const FileName: string; const Options: TPdfUaSaveOptions): Boolean; overload;

説明

SaveAsPdfUa はまず通常の SaveAs を実行し、その保存済みバイトの上にインクリメンタル更新を重ねて、ファイルを PDF/UA-1 または PDF/UA-2 ドキュメントへ昇格させます。後処理は保存されたストリームへ 4 種類のマーカーを注入します:

出力は元の PDF の終端まではベースの SaveAs 結果とバイト単位で同一で、追加されるのはインクリメンタル更新のみです。PDF/UA を理解しない既存のリーダーでも、通常の SaveAs とまったく同じようにファイルをレンダリングします。2 つのオーバーロードの違いは構成の渡し方だけです。ファイル名のみの形式は FPDF_GetMetaText / FPDF_GetFileIdentifier / FPDFCatalog_GetLanguage からの自動設定付きの TPdfUaSaveOptions.Default を使用し、TPdfUaSaveOptions 形式では Title、Author、Subject、Keywords、Creator、Producer、CreationDate、ModDate、Language、DocumentId、InstanceId、および pdfuaid の Part、Revision、Amd、Corr 識別子を呼び出し側が上書きできます

TPdfUaSaveOptions.PdfUa2 は Part 2 を選択し、既定の pdfuaid:rev 値 2024 を供給し、カタログ /Version /2.0 を書き込みます。そのためインクリメンタル更新された PDF 1.x ソースの実効バージョンは PDF 2.0 になります

成功すると True を返します。ベースの SaveAs が失敗した場合や、インクリメンタル更新を添付できなかった場合 (PDF が短すぎる、無効なトレーラー、暗号化されたソース) は False を返します

備考

例

// Simple PDF/UA-1 output, options auto-populated from the document
if Pdf1.SaveAsPdfUa('C:\Report.pdfua.pdf') then
  ShowMessage('Saved PDF/UA-1');

// With explicit options (Title overridden, language explicit)
var
  Opts: TPdfUaSaveOptions;
begin
  Opts := TPdfUaSaveOptions.Default;
  Opts.DocumentTitle := 'Quarterly Report Q3 2026';
  Opts.Language := 'en-US';
  Pdf1.SaveAsPdfUa('C:\Report.q3.pdfua.pdf', Opts);

// PDF/UA-2 output based on ISO 32000-2
  Opts := TPdfUaSaveOptions.PdfUa2;
  Opts.DocumentTitle := 'Accessible PDF 2.0 report';
  Opts.Language := 'en-US';
  Pdf1.SaveAsPdfUa('C:\Report.pdfua2.pdf', Opts);
end;

関連項目

SaveAsPdfUaToStream, ValidatePdfUa, PdfUaConformance, SaveAsPdfA, IsTagged