function InspectPdfAMetadata: TPdfAMetadataReport;
| Result | XMP kullanılabilirliğini, ayrıştırma hatası metnini, uyuşmazlık alanlarını ve sekiz alan bazlı karşılaştırmayı içeren TPdfAMetadataReport |
Yöntem; Title, Author, Subject, Keywords, Creator, Producer, CreationDate ve ModDate alanlarını PDFium üzerinden okur, böylece PDFDocEncoding ve UTF-16 dizeleri canlı belgeyle aynı Unicode çözümlemesini kullanır
Ham sözlük incelemesi her Info anahtarının varlığını değerinden bağımsız kaydeder; böylece açıkça verilmiş boş bir dize, olmayan anahtar sayılmaz
Title ve Subject, x-default etiketli bir rdf:Alt değeri gerektirir; Author tam olarak tek değer içeren bir rdf:Seq gerektirir; diğer eşlemeler ad alanı URI'si ve yerel adla bulunan basit bir özellik gerektirir
Metin değerleri tam Unicode kod noktalarına göre karşılaştırılır; tarihler, iki değerin de saat dilimi taşımaması halinde yerel bileşenler olarak, iki değerin de saat dilimi taşıması halinde UTC anları olarak karşılaştırılır
TPdfAMetadataState; gerekli değil, eşdeğer, XMP eksik, yanlış RDF türü, değer uyuşmazlığı, geçersiz Info tarihi ve geçersiz XMP tarihi durumlarını ayırt eder
Yöntem salt okunurdur, etkin bir belge gerektirir ve PDFium ya da kaynak durumunu değiştirmez
var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');