function ValidatePdfR: TPdfRValidationResult; overload;
function ValidatePdfR(const Options: TPdfRValidationOptions): TPdfRValidationResult; overload;
ValidatePdfR 针对 ISO 23504-1:2020,将原始文件检查与实时的 PDFium 页面对象遍历相结合
%PDF-raster-x.y 标记、允许的文件头、对象流禁令、目录和 Info 字典白名单、XMP 元数据、必需的日期以及 trailer /ID/V 和 /R 配置的 PDF 2.0 加密字典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;