function ValidatePdfE: TPdfEValidationResult;
ValidatePdfE は開いている文書を走査し、ISO 24517-1:2008 で定義された PDF/E-1 ファイル形式マーカーを探します:
pdfe:ISO_PDFEVersion (§5 + §13.3).pdfaExtension:schemas description for the pdfe namespace (XMP Specification 2004 extension-schema requirement, inherited via §13.1)./ISO_PDFEVersion with a literal-string value (§5 SHALL)./ID array (§6.2).xmp:CreateDate and xmp:ModifyDate entries in XMP (inherited from ISO 19005-1 §6.7 via §13.1).The result is a TPdfEValidationResult record:
pec1 (PDF/E-1 identifier found and non-empty), pecNone (no PDF/E marker), or pecUnknown (parse failed or marker present but value missing).TPdfEValidationIssues set containing zero or more values: pveiMissingXmpMetadata, pveiMissingPdfEIdentifier, pveiMissingExtensionSchema, pveiMissingInfoVersionEntry, pveiInfoVersionMismatch, pveiMissingTrailerId, pveiMissingXmpDates.ValidatePdfE は読み取り専用の検査であり、文書を変更せず、繰り返し呼び出しても安全です。PDF/E ペイロードをエンジニアリングアーカイブへ投入する前に使用し、このライブラリが検出できるファイル形式レベルの非準拠を提示します。問題リストが不要な一般的な「これは PDF/E-1 か」の確認には、より軽量なPdfEConformance property.
pveiInfoVersionMismatch only when bothInfo /ISO_PDFEVersion と XMP pdfe:ISO_PDFEVersion が存在し、値が一致しない場合です。Info エントリがない場合、検証器はpveiMissingInfoVersionEntry only (no spurious mismatch).Conformance = pecUnknown and an empty Issues set.
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;