function ValidatePdfE: TPdfEValidationResult;
ValidatePdfE سند باز را میپیماید و نشانگرهای قالب فایل PDF/E-1 تعریفشده در ISO 24517-1:2008 را جستوجو میکند:
pdfe:ISO_PDFEVersion (§5 + §13.3)pdfaExtension:schemas متناظر برای فضاینام pdfe (الزام extension-schema از XMP Specification 2004 که از طریق §13.1 به ارث رسیده است)/ISO_PDFEVersion در Document Information Dictionary با مقدار رشتهٔ تحتاللفظی (SHALL بند §5)/ID در trailer (§6.2)xmp:CreateDate و xmp:ModifyDate در XMP (به ارث رسیده از §6.7 از ISO 19005-1 از طریق §13.1)نتیجه یک رکورد TPdfEValidationResult است:
pec1 (شناسهٔ PDF/E-1 یافت شده و غیرخالی)، pecNone (بدون هیچ نشانگر PDF/E) یا pecUnknown (تجزیه شکست خورده یا نشانگر حاضر است اما مقدارش غایب است)TPdfEValidationIssues شامل صفر یا چند مقدار: pveiMissingXmpMetadata، pveiMissingPdfEIdentifier، pveiMissingExtensionSchema، pveiMissingInfoVersionEntry، pveiInfoVersionMismatch، pveiMissingTrailerId، pveiMissingXmpDatesConformance یک سطح واقعی PDF/E باشد و Issues خالی باشد True برمیگرداندValidatePdfE یک بازرسی فقطخواندنی است — سند را تغییر نمیدهد و فراخوانی مکرر آن بیخطر است. پیش از فرستادن یک
محمولهٔ PDF/E به بایگانی مهندسی از آن استفاده کنید تا عدمانطباقهای سطح قالب فایل را که این کتابخانه میتواند شناسایی کند
آشکار شود. برای بررسی رایج «آیا این PDF/E-1 است؟» که نیازی به فهرست مشکلات ندارد،
ویژگی سبکترِ PdfEConformance را ترجیح دهید
pveiInfoVersionMismatch را فقط وقتی گزارش میکند که هم Info /ISO_PDFEVersion و هم pdfe:ISO_PDFEVersion در XMP حاضر باشند و ناهمخوان باشند. وقتی ورودی 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;