CreateValidationReport
Compliance
Description
以 XML 或 JSON 建立結構化的 PDF/A 與 PDF/UA-1 驗證報告,每個發現都附上 ISO 條款與統計
語法
Delphi
Function TPDFlib.CreateValidationReport(Const InputFileName, Password: WideString; ComplianceTests, Options, ReportFormat: Integer): WideString;參數
| InputFileName | 要驗證的 PDF 檔案。 |
|---|---|
| Password | 開檔所需的密碼;空字串表示無。 |
| ComplianceTests | 選擇檢查項目的位元遮罩:1 = PDF/A,2 = PDF/UA-1,0 = 兩者。 |
| Options | 原樣傳給各項檢查;1 表示每項檢查在第一個發現就停止。 |
| ReportFormat | 0 = XML, 1 = JSON. |
傳回值
| Empty string | 輸入檔案不存在。 |
|---|---|
| Report | 完整的報告文件。 |
Remarks
選擇多個標準時,檔案只解析一次,兩項稽核共用同一個讀取器、安全性狀態、文件物件圖與惰性物件快取
每個發現都帶規則 id、規則所屬標準(ISO 19005-1 或 ISO 14289-1)、簡短的機器可讀規則名稱、規則強制的 ISO 條款、嚴重度與受影響物件數。每個檢查元素以自身結果與問題數收尾;報告最後是彙總,帶文件判定、問題總數,以及通過與失敗的檢查數。
未要求的標準會回報為 not-checked 而不是「通過」,只測過一種標準的執行結果不會被誤認為完全健康
這與 CreatePreflightReportEx 不同:後者先產生給人看的報告,再把那段文字轉成 JSON、HTML 或 CSV。驗證報告由原始檢查輸出組裝而成,建置管線因此能以規則 id 或 ISO 條款設關卡,不必在句子裡比對子字串。
範例
Report:= PDF.CreateValidationReport('invoice.pdf', '', 0, 0, 1);
if Pos('"result": "failed"', Report)> 0 then
ShowMessage('the file did not pass validation');另見
CreateValidationPipelineReport, SaveValidationReport, CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx