CreatePreflightReport
合规性、文档检查
PDF/UA 读取器 Profile 选择
当 XMP 标识 pdfuaid:part=2 时,PDF/UA 检查选择 part 2,否则保留 part 1 检查;此处描述的旧 PDF/UA-1 检查并不意味着适用于 part 2
PDF/UA-2 Profile 实现核心的标识、命名空间、角色与结构检查;结构化报告使用 PDF/UA-2 与 ISO 14289-2,并披露 fullCertification=false 与未验证范围
需要强制目标 part 时使用 CheckFilePDFUACompliance 或 RunPDFUAValidationPipelineTask,检查能力限制时使用 GetPDFUAReadValidationCoverageJSON
描述
通过运行现有 PDF/A 和 PDF/UA-1 文件合规性检查,并将其结果格式化为一个可复用的报告正文,为外部 PDF 文件创建纯文本预检报告,当应用程序需要人类可读的报告而不是手动调用 CheckFileCompliance、GetStringListCount、GetStringListItem 和 ReleaseStringList 时,这是可使用的便捷 API
语法
Delphi
Function TPDFlib.CreatePreflightReport(Const InputFileName, Password: WideString; ComplianceTests, Options: Integer): WideString;
参数
| InputFileName | 要验证的 PDF 文件完整路径。文件以只读方式打开,不会被修改 |
|---|---|
| Password | 用于打开文件的密码。未加密文档请传入空字符串 |
| ComplianceTests | 用于选择要包含的检查项的位掩码 1 — PDF/A 2 — PDF/UA-1 3 — 同时检查 PDF/A 和 PDF/UA-1,传入 0 也会同时运行两项检查 |
| Options | 传递给每项底层合规检查的位标志。 0 — 报告每项选定检查中发现的所有问题。 1 — 每项选定检查在发现第一个问题后停止 |
返回值
返回 UTF-16 文本报告,其中包括报告头、每个选定合规检查对应的一个部分,以及带有 Total issues 和 Result 行的最终摘要
备注
选择多个标准时,文件只会解析一次,两个审计共用同一读取器、安全状态、文档对象图和惰性对象缓存
报告 API 不会取代专用的外部 PDF/A 验证器,它会将库内置的一线 PDF/A 和 PDF/UA-1 诊断信息封装为稳定的面向应用程序的报告,当应用程序需要文本、JSON、HTML 或 CSV 输出时,请使用 CreatePreflightReportEx;当它需要单个问题列表句柄而不是格式化文本时,请直接使用 CheckFileCompliance
纯文本报告是每种格式化报告的规范来源,其中包含易变的 Generated: 元数据、Input: 路径、选定检查项、问题收集模式、每个选定合规性测试的一个部分,以及包含 Total issues 和 Result 的最终摘要
有关命令行和批量报告工作流,请参阅 Preflight Reports
示例
var
Report: WideString;
begin
Report := PDF.CreatePreflightReport('output.pdf', '', 1 or 2, 0);
WriteLn(Report);
end;另请参阅
预检报告、CreatePreflightReportEx、SavePreflightReport、ComparePreflightReports、CheckFileCompliance、GetPDFUADiagnostics、SetPDFAMode、SetPDFUAMode