CreateValidationReport

Compliance

描述

以 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 会在每项检查的第一个发现处停止
ReportFormat0 = XML,1 = JSON

返回值

Empty string输入文件不存在
Report完整的报告文档

备注

选择多个标准时,文件只会解析一次,两个审计共用同一读取器、安全状态、文档对象图和惰性对象缓存

每项发现均包含规则 ID、拥有该规则的标准(ISO 19005-1ISO 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');

另请参阅

CreateValidationPipelineReportSaveValidationReportCheckFileComplianceCreatePreflightReportCreatePreflightReportEx