PDFium Delphi Component Docs

מתודת InspectPdfAMetadata

Component: TPdf  ·  Unit: PDFium
מדווח על שקילות מדויקת בין Info ל-XMP על פי ISO 19005-1 עבור המסמך הפעיל

Syntax

function InspectPdfAMetadata: TPdfAMetadataReport;

ResultTPdfAMetadataReport המכיל זמינות XMP, טקסט שגיאת ניתוח, שדות אי-התאמה ושמונה השוואות לכל שדה

Description

המתודה קוראת את Title, Author, Subject, Keywords, Creator, Producer, CreationDate ו-ModDate דרך PDFium, כך שמחרוזות PDFDocEncoding ו-UTF-16 עוברות פענוח Unicode זהה לזה של המסמך החי

בדיקת המילון הגולמי רושמת בנפרד האם כל מפתח Info קיים, בלי תלות בערכו, כך שמחרוזת ריקה מפורשת אינה מטופלת כמפתח נעדר

Title ו-Subject דורשים ערך rdf:Alt מתויג x-default; Author דורש rdf:Seq המכיל בדיוק ערך אחד; שאר המיפויים דורשים מאפיין פשוט שמאותר לפי URI של מרחב שמות ושם מקומי

ערכי טקסט מושווים לפי נקודות קוד Unicode מדויקות; תאריכים מושווים כרכיבים מקומיים כאשר לאף ערך אין אזור זמן, או כרגעי UTC כאשר לשני הערכים יש אזורי זמן

TPdfAMetadataState מבחין בין המצבים: לא-נדרש, שקול, XMP חסר, סוג RDF שגוי, אי-התאמת ערך, תאריך Info שגוי ותאריך XMP שגוי

המתודה לקריאה בלבד, דורשת מסמך פעיל ואינה משנה את PDFium או את מצב המקור

Example

var Report: TPdfAMetadataReport;
Report := Pdf1.InspectPdfAMetadata;
if Report.HasXmpPacket and not Report.IsEquivalent then
  ShowMessage(IntToStr(Length(Report.Comparisons)) + ' fields inspected');

See Also

NormalizePdfAMetadata, ValidatePdfA, ReadXmpPacket, FPdfXmp