function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | TPdfAMetadataReport, joka sisältää XMP:n käytettävyyden, jäsennysvirhetekstin, ristiriitakentät ja kahdeksan kenttäkohtaista vertailua |
Metodi lukee Title-, Author-, Subject-, Keywords-, Creator-, Producer-, CreationDate- ja ModDate-kentät PDFiumin kautta, joten PDFDocEncoding- ja UTF-16-merkkijonot käyttävät samaa Unicode-dekoodausta kuin elävä dokumentti
Raaka sanakirjatarkastus tallentaa, onko kukin Info-avain olemassa riippumatta sen arvosta, joten eksplisiittisesti tyhjä merkkijono ei tulkita puuttuvaksi avaimeksi
Title ja Subject edellyttävät x-default-tägillä varustettua rdf:Alt-arvoa; Author edellyttää täsmälleen yhden arvon sisältävää rdf:Seq-rakennetta; muut kuvaukset edellyttävät yksinkertaista ominaisuutta, joka löytyy nimiavaruuden URI:n ja paikallisen nimen perusteella
Tekstiarvot vertaillaan täsmällisinä Unicode-koodipisteinä; päivämäärät vertaillaan paikallisina komponentteina, kun kummallakaan arvolla ei ole aikavyöhykettä, ja UTC-hetkinä, kun molemmilla arvoilla on aikavyöhykkeet
TPdfAMetadataState erottaa toisistaan tilat: ei vaadittu, ekvivalentti, XMP puuttuu, väärä RDF-tyyppi, arvoristiriita, virheellinen Info-päivämäärä ja virheellinen XMP-päivämäärä
Metodi on vain luku -tyyppinen, edellyttää aktiivista dokumenttia eikä muokkaa PDFiumin tai lähteen tilaa
var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');