THotPDF.ValidatePDFUA2Structure Method
對產生器或已載入的物件圖執行有界的 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 語言、中繼資料、顯示標題、選用內容與內嵌檔案 |
CheckHumanReadableStrings | 拒絕人類可讀字串中的 Unicode 私用區字元 |
CheckAnnotationSemantics | 檢查頁面 tab 順序、附註所有權、角色、旗標、描述與外觀串流 |
CheckFormSemantics | 檢查 AcroForm 欄位、widget、標籤、動作、選項與 rich value |
CheckNavigationSemantics | 檢查結構目的地、大綱與巢狀頁面標籤數字樹 |
RequireListLabels | 要求每個編號清單項目都有一個 Lbl |
RequireExplicitTableHeaderAssociations | 回報只依賴 scope 推斷的資料儲存格 |
CheckListSemantics | 檢查編號、接續鏈、圖說、標籤、主體,以及直接實際內容的擺放 |
CheckTableSemantics | 檢查有界表格幾何、列群組、跨欄跨列、scope 與表格局部的標題關聯 |
CheckRubyWarichuSequences | 檢查 Ruby 與 Warichu 要求的確切直接子節點序列 |
CheckPronunciationHints | 檢查發音條目類型與間接內嵌的 PLS 詞典 |
RequireStructureAssociatedFiles | 要求每個 Catalog 關聯檔案都可從結構觸及 |
RequireFormulaTextAlternative | 要求公式具備 Alt、ActualText 或關聯的 MathML |
MaxObjects | 限制間接物件掃描,預設為 1,000,000 個物件 |
MaxIssues | 限制保留的診斷數量,預設為 256 筆 |
傳回值
只有在沒有殘留 uisError 診斷時才傳回 True
診斷
THPDFUA2IssueSeverity 區分警告與錯誤;每個 THPDFUA2ValidationIssue 都帶有穩定的命名空間代碼、適用條款、物件路徑、物件編號、已知時以 0 起算的頁面索引,以及 THPDFUA2ValidationIssues 陣列中的人類可讀訊息
- 驗證絕不會補建缺少的
StructTreeRoot或命名空間字典 - 具命名空間感知的角色映射會以遞迴方式解析,並偵測循環與深度
- 文件中繼資料、人類可讀字串、選用內容、結構元素、parent 反向連結、屬性、附註、表單、導覽、關聯檔案、標題、清單、表格、Ruby、Warichu、發音提示、公式與 MathML,都在一次有界的處理中檢查
- 已載入附註的所有權從實體 ParentTree 解析,支援純量或陣列型
K條目,不依賴產生器狀態 - 本機導覽要求結構目的地,優先採用
SD再退回相容的D,並驗證巢狀頁面標籤數字樹 - XMP 屬性以命名空間 URI 解析,因此有效的替代字首仍可互通
- 表格診斷會區分無效的跨欄跨列、儲存格交疊、不規則列與列群組、跨表格 ID、重複或循環的標題參照,以及缺少演算法關聯
- 清單診斷會區分無效編號、未包裹的內容、標籤與主體結構、同層排序接續參照,以及接續循環
- 展開的表格幾何共用
MaxObjects上限,並以ua2.table.limit.cells失敗關閉 ua2.limit.objects會在掃描過大的物件圖之前失敗關閉
機器可讀結果
THPDFComplianceFindings 多載把同一次有界驗證處理映射到共用的一致性模型,不改變驗證順序,也不修改物件圖
每個檢查結果都標識 PDF/UA-2、嚴重性、規則 ID、標準條款、路徑、物件編號、頁面索引、訊息,以及 crsNotAttempted 修復狀態