function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | TPdfAMetadataReport su XMP prieinamumu, analizės klaidos tekstu, neatitikimo laukais ir aštuoniais atskirų laukų palyginimais |
Metodas skaito Title, Author, Subject, Keywords, Creator, Producer, CreationDate ir ModDate per PDFium, todėl PDFDocEncoding ir UTF-16 eilutės naudoja tą patį Unicode dekodavimą kaip gyvas dokumentas
Žaliavinė žodyno apžiūra užsirašo, ar kiekvienas Info raktas egzistuoja nepriklausomai nuo savo reikšmės, todėl aiškiai tuščia eilutė nelaikoma absentuojančiu raktu
Title ir Subject reikalauja rdf:Alt reikšmės su žyma x-default; Author reikalauja rdf:Seq, turinčios lygiai vieną reikšmę; kiti atitikmenys reikalauja paprastos savybės, randamos pagal vardų erdvės URI ir vietinį vardą
Tekstinės reikšmės lyginamos pagal tikslius Unicode kodo taškus; datos lyginamos kaip vietiniai komponentai, kai nei viena reikšmė neturi laiko juostos, arba kaip UTC momentai, kai abi reikšmės neša laiko juostas
TPdfAMetadataState atskiria nebūtinas, atitinkančias, trūkstamo XMP, netinkamo RDF tipo, reikšmės neatitikimo, negalimos Info datos ir negalimos XMP datos būsenas
Metodas veikia tik skaitymo režimu, reikalauja aktyvaus dokumento ir nemodifikuoja nei PDFium, nei šaltinio būsenos
var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');