function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | TPdfAMetadataReport koji sadrži dostupnost XMP-a, tekst pogreške parsiranja, polja nepodudaranja i osam usporedbi po polju |
Metoda čita Title, Author, Subject, Keywords, Creator, Producer, CreationDate i ModDate kroz PDFium tako da nizovi PDFDocEncoding i UTF-16 koriste isto Unicode dekodiranje kao živi dokument
Sirovi pregled rječnika bilježi postoji li svaki Info ključ neovisno o svojoj vrijednosti, pa eksplicitno prazan niz nije tretiran kao odsutan ključ
Title i Subject zahtijevaju vrijednost rdf:Alt označenu kao x-default; Author zahtijeva rdf:Seq s točno jednom vrijednošću; ostale preslikave zahtijevaju jednostavno svojstvo pronađeno po URI-ju prostora imena i lokalnom imenu
Tekstualne vrijednosti uspoređuju se po točnim Unicode kodnim točkama; datumi se uspoređuju kao lokalne komponente kada nijedna vrijednost nema vremensku zonu, a kao UTC trenuci kada obje vrijednosti nose vremenske zone
TPdfAMetadataState razlikuje stanja: nije potrebno, ekvivalentno, nedostaje XMP, pogrešna RDF vrsta, nepodudaranje vrijednosti, neispravan Info datum i neispravan XMP datum
Metoda je samo za čitanje, zahtijeva aktivan dokument i ne mijenja 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');