CreatePreflightReportEx
合规性、文档检查
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 文件创建预检报告,并将报告转换为所需输出格式;这是 CreatePreflightReport 的格式感知配套函数,后者始终返回纯文本报告
语法
Delphi
Function TPDFlib.CreatePreflightReportEx(Const InputFileName, Password: WideString; ComplianceTests, Options, ReportFormat: Integer): WideString;
参数
| InputFileName | 要验证的 PDF 文件完整路径。文件以只读方式打开,不会被修改 |
|---|---|
| Password | 用于打开文件的密码。未加密文档请传入空字符串 |
| ComplianceTests | 选择要包含哪些检查的位掩码:1 表示 PDF/A,2 表示 PDF/UA,3 或 0 表示两者 |
| Options | 传递给每项选定合规检查的位标志。传递 1 可在每项检查发现第一个问题后停止 |
| ReportFormat | 输出格式选择器 0 — 纯文本 1 — 包含页眉字段、每项检查区段、问题数组和摘要字段的 JSON 对象 2 — 包含转义文本报告的独立 HTML 文档 3 — 含有元数据、所选检查项、问题代码与消息以及最终摘要行的 CSV 行 |
返回值
以所选格式返回生成的报告。未知的 ReportFormat 值会回退到纯文本格式
备注
JSON、HTML 和 CSV 格式均由 CreatePreflightReport 使用的同一文本报告生成,因此通过/失败状态和问题计数会在所有报告格式中保持一致
JSON 对象公开头字段、sections 数组、问题字符串数组和 summary 对象。HTML 格式为独立文档,在预格式化块内转义文本报告。CSV 格式使用固定的 kind,section,status,code,message 列,并分离元数据、检查状态、问题行和摘要行,以便电子表格或 CI 解析
有关完整报告格式约定和演示命令行示例,请参见 Preflight Reports
示例
JsonReport := PDF.CreatePreflightReportEx('output.pdf', '', 1 or 2, 0, 1);
HtmlReport := PDF.CreatePreflightReportEx('output.pdf', '', 1 or 2, 0, 2);
CsvReport := PDF.CreatePreflightReportEx('output.pdf', '', 1 or 2, 0, 3);另请参阅
预检报告、CreatePreflightReport、SavePreflightReportEx、ComparePreflightReports、CheckFileCompliance