function ValidatePdfE: TPdfEValidationResult;
ValidatePdfE prelazi kroz otvoreni dokument u potrazi za markerima format datoteke PDF/E-1 definisanim standardom ISO 24517-1:2008:
pdfe:ISO_PDFEVersion (§5 + §13.3)pdfaExtension:schemas za pdfe namespace (zahtev za šemom proširenja iz XMP Specification 2004, nasleđen preko §13.1)/ISO_PDFEVersion u Document Information Dictionary sa literal-string vrednošću (§5 SHALL)/ID niz u trailer-u (§6.2)xmp:CreateDate i xmp:ModifyDate u XMP-u (nasleđeni iz ISO 19005-1 §6.7 preko §13.1)Rezultat je zapis TPdfEValidationResult:
pec1 (pronađen PDF/E-1 identifikator i nije prazan), pecNone (nema PDF/E markera) ili pecUnknown (čitanje nije uspelo ili marker postoji, ali vrednost nedostaje)TPdfEValidationIssues sa nula ili više vrednosti: pveiMissingXmpMetadata, pveiMissingPdfEIdentifier, pveiMissingExtensionSchema, pveiMissingInfoVersionEntry, pveiInfoVersionMismatch, pveiMissingTrailerId, pveiMissingXmpDatesConformance pravi PDF/E nivo i kada je Issues prazanValidatePdfE je inspekcija koja samo čita — ne menja
dokument i bezbedno se može pozivati više puta. Koristite je pre nego što
PDF/E sadržaj pošaljete u inženjersku arhivu, da iskažete
neusklađenosti na nivou formata datoteke koje ova biblioteka može da otkrije. Za
uobičajenu proveru „da li je ovo PDF/E-1?“ koja ne treba listu
problema, koristite lakše svojstvo PdfEConformance
pveiInfoVersionMismatch samo kada su i Info /ISO_PDFEVersion i XMP pdfe:ISO_PDFEVersion prisutni i razlikuju se. Kada unos u Info rečniku nedostaje, validátor prijavljuje samo pveiMissingInfoVersionEntry (bez lažnog neslaganja)Conformance = pecUnknown i praznim skupom 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;