function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX 会遍历已打开的文档,查找 ISO 15930 系列定义的文件格式标记
pdfxid:GTS_PDFXVersion 的 XMP 元数据流(对于 PDF/X-1a / PDF/X-3,还可选包含 pdfxid:GTS_PDFXConformance)pdfaExtension:schemas 描述(XMP 扩展架构约定)/GTS_PDFXVersion/OutputIntents 数组,引用一个通过 /DestOutputProfile 带有嵌入 ICC 配置文件的 OutputIntent 字典/Title 条目(PDF/X 强烈建议提供)/ID 数组以及缺少 /Encrypt(所有 PDF/X 版本都禁止加密)xmp:CreateDate 和 xmp:ModifyDate 条目结果是一个 TPdfXValidationResult 记录
pxc1a(匹配 "PDF/X-1")、pxc3("PDF/X-3")、pxc4("PDF/X-4")、pxcNone(没有 PDF/X 标记)或 pxcUnknown(存在标记但无法识别)TPdfXValidationIssues 集合,可能包含以下零个或多个值:pvxiMissingXmpMetadata、pvxiMissingPdfXIdentifier、pvxiMissingExtensionSchema、pvxiMissingInfoVersionEntry、pvxiInfoVersionMismatch、pvxiMissingOutputIntent、pvxiMissingIccProfile、pvxiMissingTitle、pvxiMissingTrailerId、pvxiEncryptionPresent、pvxiMissingXmpDatesValidatePdfX 是只读检查。请在把 PDF/X 载荷送入印前工作流之前使用它,以便把不合规情况显示给操作员。对于常见的“这是什么 PDF/X 级别”检查,如果不需要问题列表,建议使用更轻量的 PdfXConformance 属性
pvxiInfoVersionMismatchConformance = pxcUnknown 且 Issues 为空的记录pxcUnknown
uses System.TypInfo;
var
Outcome: TPdfXValidationResult;
Issue: TPdfXValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\ad.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfX;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfXConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfXValidationIssue), Ord(Issue)));
end;