THotPDF.ValidatePDFA4 メソッド

生成または読み込みしたオブジェクトグラフを、対応済みの PDF/A-4 base、PDF/A-4e engineering、PDF/A-4f associated-file プロファイルに対して検証し、安定した構造化診断を返します

宣言

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Issues: THPDFPDFA4ValidationIssues): boolean; overload;

function ValidatePDFA4(
  const Options: THPDFPDFA4ValidationOptions;
  out Findings: THPDFComplianceFindings): boolean; overload;

ユニット

HPDFDoc

プロファイルと重大度の型

THPDFPDFA4Profile = (
  p4pAutomatic,
  p4pBase,
  p4pEngineering,
  p4pAssociatedFiles
);

THPDFPDFA4IssueSeverity = (
  p4isWarning,
  p4isError
);

THPDFPDFA4Profile はメタデータによる推論または明示的な conformance プロファイルを選択し、THPDFPDFA4IssueSeverity は助言的な診断と検証エラーを区別します

オプション

フィールド目的
Profileメタデータによる自動判定、base、engineering、associated-file の検証を選択する
MaxObjects反復的なオブジェクトグラフ走査に上限を設ける。デフォルトは 1,000,000 オブジェクト
MaxIssues保持される診断に上限を設ける。デフォルトは 1,024 件
MaxDecodedBytes累積のデコード済みメタデータ、ICC、コンテンツストリームのバイト数に上限を設ける。デフォルトは 64 MiB
MaxContentTokens累積のコンテンツストリームトークンに上限を設ける。デフォルトは 4,000,000 トークン
CheckEmbeddedFonts描画フォントが埋め込みフォントプログラムを持つか確認する
CheckAnnotationAppearances注釈フラグと normal appearance ストリームを確認する
CheckOptionalContentoptional-content 設定の名前と一意性を確認する
CheckColourSpaces描画されたデバイスカラー、ICC プロファイル、output intent、デフォルト、画像、shading、フォーム、transparency group を確認する
CheckTransparency描画されたアルファ、soft mask、blend mode、ページレベルのブレンド空間カバーを確認する
CheckCompositeFontsType 0 の descendant、CIDSystemInfo、CMap 互換性、CIDToGIDMap の制約を確認する
CheckMetadataPacketsすべてのメタデータストリームについて、UTF-8、packet-header、RDF envelope、PDF/A 識別の制約を確認する

診断

各 THPDFPDFA4ValidationIssue は、重大度、安定した namespaced コード、該当する ISO 19005-4 条項、オブジェクトパス、オブジェクト番号、判明している場合は 0 始まりのページインデックス、人間が読めるメッセージを報告します

THPDFComplianceFindings オーバーロードは、同じ走査を PDF/A-4 プロファイルと crsNotAttempted 修復状態を持つ共有の機械可読 finding モデルで公開します

バリデーターは、PDF 2.0 識別、trailer ID と暗号化状態、すべてのメタデータパケット、Info の制限、ICC ヘッダとチャンネル数、ドキュメントとページの output intent、描画されたデバイスカラー、コンテンツストリーム配列と入れ子の Form XObject をまたぐ継承されたグラフィックスステート、image mask、shading、transparency、描画フォントの埋め込み、複合フォントの関係、注釈と appearance、AcroForm の制限、アクションと追加アクション、associated file、optional content、外部参照、プロファイル固有の 3D / 添付ルールをカバーします

色と transparency の findings は、色設定オペレータだけでなく描画オペレータに基づきます。コンテンツのトークン化とデコード済みストリームの再利用はキャッシュされますが、各呼び出しは自身のページまたは Form コンテキストに対して継承されたグラフィックスステートを評価します

デコードバイト、コンテンツトークン、オブジェクト、保持される課題の各上限は、無限の作業が続く前に安定した pdfa4.validation.* findings でフェイルクローズします

例

var
  Options: THPDFPDFA4ValidationOptions;
  Issues: THPDFPDFA4ValidationIssues;
begin
  Options := THPDFPDFA4ValidationOptions.Default;
  Options.Profile := p4pAutomatic;
  if not PDF.ValidatePDFA4(Options, Issues) then
    raise Exception.CreateFmt('%s at %s',
      [String(Issues[0].Code), String(Issues[0].Path)]);
end;

生成時の動作

EndDoc は '4'、'4E'、'4F' に対して自動的にバリデーターを実行し、エラーが残っていればシリアライズの前に raise します

PDF/A-4 生成では trailer の Info エントリが省かれ、PDF/A-4f では常に必要な EmbeddedFiles name tree が作成されます。ファイル添付注釈は PDF/A-4f だけが受け付け、埋め込みストリーム、Filespec、AF relationship、Catalog AF 配列、name tree がまとめて出力されます

関連 API