function ValidatePdfE: TPdfEValidationResult;
ValidatePdfE käsittelee avoimen dokumentin läpi etsien ISO 24517-1:2008 -standardin määrittelemät PDF/E-1-tiedostomuotomerkit:
pdfe:ISO_PDFEVersion-tiedon (§5 + §13.3)pdfaExtension:schemas-kuvaus (XMP Specification 2004 -laajennusskeemavaatimus, periytynyt kohdan §13.1 kautta)/ISO_PDFEVersion literaali-merkkijonoarvolla (kohdan §5 SHALL-vaatimus)/ID-taulukko (§6.2)xmp:CreateDate- ja xmp:ModifyDate-tiedot XMP:ssä (periytynyt ISO 19005-1 §6.7:stä kohdan §13.1 kautta)Tulos on TPdfEValidationResult-tietue:
pec1 (PDF/E-1-tunniste löytyi eikä ole tyhjä), pecNone (ei PDF/E-merkkiä) tai pecUnknown (jäsennys epäonnistui tai merkki on läsnä mutta arvo puuttuu)TPdfEValidationIssues-joukko, joka sisältää nolla tai useampia arvoja: pveiMissingXmpMetadata, pveiMissingPdfEIdentifier, pveiMissingExtensionSchema, pveiMissingInfoVersionEntry, pveiInfoVersionMismatch, pveiMissingTrailerId, pveiMissingXmpDatesConformance on oikea PDF/E-taso ja Issues on tyhjäValidatePdfE on vain luku -tyyppinen tutkimus — se ei muokkaa dokumenttia, ja sen voi kutsua toistuvasti turvallisesti. Käytä sitä ennen PDF/E-aineiston työntämistä tekniseen arkistoon, jotta tämän kirjaston havaitsemat tiedostomuototason poikkeamat tulevat esiin. Yleiseen "onko tämä PDF/E-1?" -tarkistukseen, joka ei tarvitse ongelmalistaa, sopii paremmin kevyempi PdfEConformance-ominaisuus
pveiInfoVersionMismatch vain, kun sekä Info /ISO_PDFEVersion että XMP pdfe:ISO_PDFEVersion ovat läsnä ja eroavat toisistaan. Kun Info-tietue puuttuu, validaattori raportoi vain arvon pveiMissingInfoVersionEntry (ei vääriä ristiriitailmoituksia)Conformance = pecUnknown ja tyhjä Issues-joukko
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;