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