function ValidatePdfE: TPdfEValidationResult;
تجوب ValidatePdfE المستند المفتوح بحثًا عن علامات تنسيق الملف الخاصة بـ PDF/E-1 التي يعرّفها ISO 24517-1:2008
pdfe:ISO_PDFEVersion (§5 + §13.3)pdfaExtension:schemas لمساحة الاسم pdfe، وهو مطلب مخطط الامتداد في XMP Specification 2004 ويَرِد عبر §13.1/ISO_PDFEVersion في Document Information Dictionary بقيمة literal-string (§5 SHALL)/ID (§6.2)xmp:CreateDate وxmp:ModifyDate في XMP، والموروثان من ISO 19005-1 §6.7 عبر §13.1النتيجة هي سجل 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 /ISO_PDFEVersion وXMP pdfe:ISO_PDFEVersion موجودتين ومختلفتين. وعندما يكون إدخال Info غائبًا، يبلغ فقط عن pveiMissingInfoVersionEntry من دون أي mismatch زائف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;