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 ストリームを確認する |
CheckOptionalContent | optional-content 設定の名前と一意性を確認する |
CheckColourSpaces | 描画されたデバイスカラー、ICC プロファイル、output intent、デフォルト、画像、shading、フォーム、transparency group を確認する |
CheckTransparency | 描画されたアルファ、soft mask、blend mode、ページレベルのブレンド空間カバーを確認する |
CheckCompositeFonts | Type 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 がまとめて出力されます