CreatePreflightReport

合規性、文件檢查

Description

為外部 PDF 檔案建立純文字預檢報告:跑既有的 PDF/A 與 PDF/UA-1 檔案符合性檢查,並把結果整理成一份可重複使用的報告本體。應用程式想要人類可讀的報告時,用這個便捷 API 就好,不必手動依序呼叫 CheckFileComplianceGetStringListCountGetStringListItemReleaseStringList

語法

Delphi

Function TPDFlib.CreatePreflightReport(Const InputFileName, Password: WideString; ComplianceTests, Options: Integer): WideString;

參數

InputFileName要驗證的 PDF 檔案完整路徑。檔案以唯讀開啟,不會被修改。
Password開檔用的密碼。未加密文件請傳空字串。
ComplianceTestsBit mask selecting which checks to include.

1 — PDF/A.
2 — PDF/UA-1.
3 — both PDF/A and PDF/UA-1. Passing 0 also runs both checks.
OptionsBit flags passed through to each underlying compliance check.

0 — Report every issue found in each selected check.
1 — Stop each selected check after the first issue.

Return value

傳回 UTF-16 文字報告,含報告檔頭、每個所選符合性檢查一節,以及帶 Total issuesResult 行的最終彙總。

Remarks

選擇多個標準時,檔案只解析一次,兩項稽核共用同一個讀取器、安全性狀態、文件物件圖與惰性物件快取

報告 API 不能取代專職的外部 PDF/A 驗證器。它把程式庫內建的第一線 PDF/A 與 PDF/UA-1 診斷打包成穩定、面向應用程式的報告。應用程式需要文字、JSON、HTML 或 CSV 輸出時用 CreatePreflightReportEx;需要個別問題清單控制代碼而不是格式化文字時,直接用 CheckFileCompliance

純文字報告是所有格式化報告的正源。它包含易變的 Generated: 中繼資料、Input: 路徑、所選檢查、問題收集模式、每個所選符合性測試一節,以及帶 Total issuesResult 的最終彙總。

命令列與批次報告流程請參閱 Preflight Reports

範例

var
  Report: WideString;
begin
  Report := PDF.CreatePreflightReport('output.pdf', '', 1 or 2, 0);
  WriteLn(Report);
end;

另見

Preflight Reports, CreatePreflightReportEx, SavePreflightReport, ComparePreflightReports, CheckFileCompliance, GetPDFUADiagnostics, SetPDFAMode, SetPDFUAMode