function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | TPdfAMetadataReport sa dostupnošću XMP, tekstom greške raščlanjivanja, poljima neslaganja i osam poređenja po polju |
Metoda čita Title, Author, Subject, Keywords, Creator, Producer, CreationDate i ModDate kroz PDFium, tako da PDFDocEncoding i UTF-16 stringovi koriste isto Unicode dekodiranje kao živi dokument
Inspekcija sirovog rečnika beleži da li svaki Info ključ postoji nezavisno od svoje vrednosti, tako da eksplicitno prazan string nije tretiran kao odsutan ključ
Title i Subject zahtevaju rdf:Alt vrednost označenu sa x-default; Author zahteva rdf:Seq sa tačno jednom vrednošću; ostala mapiranja zahtevaju jednostavno svojstvo pronađeno po namespace URI i lokalnom imenu
Tekstualne vrednosti se porede po egzaktnim Unicode kodnim tačkama; datumi se porede kao lokalne komponente kada nijedna vrednost nema vremensku zonu, ili kao UTC trenuci kada obe vrednosti nose vremenske zone
TPdfAMetadataState razlikuje stanja: nije potrebno, ekvivalentno, nedostaje XMP, pogrešan RDF tip, neslaganje vrednosti, neispravan Info datum i neispravan XMP datum
Metoda je samo za čitanje, zahteva aktivni dokument i ne menja PDFium ni stanje izvora
var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');