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