function ValidatePdfE: TPdfEValidationResult;
ValidatePdfE 会遍历当前打开的文档,查找 ISO 24517-1:2008 定义的 PDF/E-1 文件格式标记
pdfe:ISO_PDFEVersion 的 XMP 元数据流(§5 + §13.3)pdfaExtension:schemas 描述(继承自 §13.1 的 XMP Specification 2004 扩展架构要求)/ISO_PDFEVersion 条目(§5 SHALL)/ID 数组(§6.2)xmp:CreateDate 和 xmp:ModifyDate 条目(通过 §13.1 继承自 ISO 19005-1 §6.7)结果是一个 TPdfEValidationResult 记录
pec1(找到且非空的 PDF/E-1 标识符)、pecNone(没有 PDF/E 标记)或 pecUnknown(解析失败,或标记存在但值缺失)TPdfEValidationIssues 集合,可包含零个或多个值:pveiMissingXmpMetadata、pveiMissingPdfEIdentifier、pveiMissingExtensionSchema、pveiMissingInfoVersionEntry、pveiInfoVersionMismatch、pveiMissingTrailerId、pveiMissingXmpDatesValidatePdfE 是只读检查,不会修改文档,因此可以安全重复调用。请在把 PDF/E 负载送入工程归档之前使用它,以暴露此库能够检测到的文件格式级不符合项。对于不需要问题列表的常见“这是不是 PDF/E-1?”检查,优先使用更轻量的 PdfEConformance 属性
pveiInfoVersionMismatch。当 Info 条目缺失时,只会报告 pveiMissingInfoVersionEntry,不会产生虚假的不匹配Conformance = pecUnknown 且 Issues 集合为空的记录
uses System.TypInfo;
var
Outcome: TPdfEValidationResult;
Issue: TPdfEValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\drawing.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfE;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfEConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfEValidationIssue), Ord(Issue)));
end;