THotPDF.ValidatePDFUA2Structure メソッド
producer または読み込みのオブジェクトグラフに対して上限付きの PDF/UA-2 構造検証を実行し、ドキュメントを変更せずに安定した構造化診断を返します
宣言
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
ユニット
HPDFDoc
検証オプション
厳格な生成時検証には THPDFUA2ValidationOptions.Default を使い、取り込み時の診断には個々のセマンティクスポリシーを調整してください
| フィールド | 目的 |
|---|---|
HeadingPolicy | 飛ばされた見出しレベルを無視、診断、または拒否する |
AllowDocumentFragmentHeadingStarts | DocumentFragment 内で見出しコンテキストをリセットする |
CheckDocumentSemantics | Catalog の言語、メタデータ、表示タイトル、optional content、埋め込みファイルを確認する |
CheckHumanReadableStrings | 人間が読む文字列中の Unicode 私用文字を拒否する |
CheckAnnotationSemantics | ページのタブ順、注釈の所有関係、ロール、フラグ、説明、appearance ストリームを確認する |
CheckFormSemantics | AcroForm フィールド、widget、ラベル、アクション、選択肢、リッチ値を確認する |
CheckNavigationSemantics | 構造デスティネーション、outline、入れ子のページラベル番号ツリーを確認する |
RequireListLabels | 番号付きリスト項目ごとに 1 つの Lbl を要求する |
RequireExplicitTableHeaderAssociations | scope 推定だけに依存するデータセルを報告する |
CheckListSemantics | 番号付け、継続連鎖、caption、ラベル、本文、実コンテンツの直接配置を確認する |
CheckTableSemantics | 上限付きグリッド形状、行グループ、span、scope、テーブルローカルの header 関連付けを確認する |
CheckRubyWarichuSequences | Ruby と Warichu に要求される正確な直接子シーケンスを確認する |
CheckPronunciationHints | 発音エントリの型と間接の埋め込み PLS lexicon を確認する |
RequireStructureAssociatedFiles | すべての catalog associated file が構造から到達可能であることを要求する |
RequireFormulaTextAlternative | 数式に対して Alt、ActualText、または関連付けられた MathML を要求する |
MaxObjects | 間接オブジェクトの走査に上限を設ける。デフォルトは 1,000,000 オブジェクト |
MaxIssues | 保持される診断に上限を設ける。デフォルトは 256 件 |
戻り値
uisError の診断が 1 つも残らない場合にのみ True を返します
診断
THPDFUA2IssueSeverity は warning と error を区別し、各 THPDFUA2ValidationIssue は、安定した namespaced コード、該当する条項、オブジェクトパス、オブジェクト番号、判明している場合は 0 始まりのページインデックス、人間が読めるメッセージを THPDFUA2ValidationIssues 配列で保持します
- 検証が欠落した
StructTreeRootや namespace ディクショナリを作成することはありません - namespace 対応の role map は、循環と深さの検出付きで推移的に解決されます
- ドキュメントメタデータ、人間が読む文字列、optional content、構造要素、親への逆リンク、属性、注釈、フォーム、ナビゲーション、associated file、見出し、リスト、テーブル、Ruby、Warichu、発音 hint、数式、MathML が 1 回の上限付きパスで確認されます
- 読み込み注釈の所有関係は物理的な ParentTree から解決され、producer 側の状態に頼らずスカラーまたは配列の
Kエントリをサポートします - ローカルナビゲーションは構造デスティネーションを要求し、互換性のある
Dフォールバックより先にSDを適用し、入れ子のページラベル番号ツリーを検証します - XMP プロパティは namespace URI で解決されるため、有効な代替接頭辞も相互運用可能なままです
- テーブルの診断は、無効な span、セルの交差、不規則な行と行グループ、テーブル横断の ID、重複または循環する header 参照、欠落したアルゴリズム的関連付けを区別します
- リストの診断は、無効な番号付け、ラップされていないコンテンツ、ラベルと本文の構造、同じレベルの順序付き継続参照、継続の循環を区別します
- 拡張されたテーブル形状は
MaxObjects上限を共有し、ua2.table.limit.cellsでフェイルクローズします ua2.limit.objectsは過大なグラフを走査する前にフェイルクローズします
機械可読な findings
THPDFComplianceFindings オーバーロードは、同じ上限付き検証パスを共有のコンプライアンスモデルへ写像します。検証順序を変えず、グラフも変更しません
各 finding は、PDF/UA-2、重大度、ルール ID、標準条項、パス、オブジェクト番号、ページインデックス、メッセージ、crsNotAttempted 修復状態を識別します