function ValidatePdfR: TPdfRValidationResult; overload;
function ValidatePdfR(const Options: TPdfRValidationOptions): TPdfRValidationResult; overload;
ValidatePdfR 結合原始檔案檢查與即時的 PDFium 頁面物件走訪,以對應 ISO 23504-1:2020
%PDF-raster-x.y 標記、允許的檔頭、物件串流禁令、目錄與 Info 字典白名單、XMP 中繼資料、必要的日期,以及 trailer 的 /ID/V 與 /R 設定檔TPdfRValidationOptions.Default 檢查 72 至 2400 DPI、允許 0.5 點的幾何容差、要求全頁條帶,並強制使用加密的 PDF 2.0 設定檔
結果是一筆 TPdfRValidationResult 記錄:
prc1(找到 PDF/R-1 標記)、prcNone(沒有標記)或 prcUnknown(剖析失敗或文件未啟用)TPdfRValidationIssues 集合,涵蓋檔案標記、中繼資料、加密設定檔、僅限點陣的內容、幾何、色彩、解析度與壓縮參數Conformance 是實際的 PDF/R 等級且 Issues 為空時傳回 True此方法為唯讀,並會在驗證後還原呼叫端原本的使用中頁面
ValidatePdfR 會傳回 prcUnknown 與空的問題集合
uses System.TypInfo;
var
Outcome: TPdfRValidationResult;
Issue: TPdfRValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\scan.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfR;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfRConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfRValidationIssue), Ord(Issue)));
end;