PDFium Delphi Component Docs

מתודת GetAnnotationDictionaryValue

Component: TPdf  ·  Unit: PDFium
קורא מפתח אחד ישירות מהמילון של הערה בעמוד הנוכחי ומדווח את סוג הערך יחד עם הסקלר המפוענח

Syntax

function GetAnnotationDictionaryValue(AnnotIndex: Integer; const Key: WString): TPdfDictionaryValue;

AnnotIndexInteger. אינדקס ההערה בעמוד הנוכחי המבוסס על אפס, בטווח 0 .. AnnotationCount - 1. אינדקס מחוץ לטווח מעלה EPdfError.
KeyWString. שם רשומת המילון לקריאה, מקודד UTF-8 לפני הקריאה המקורית.
ResultTPdfDictionaryValue. Kind נושא את סוג הערך המקורי; ערכי string, name ו-number מפוענחים ל-StringValue / NumberValue עם HasScalarValue = True.

Description

כל הערה נתמכת על ידי מילון PDF, ומודל הרשומות של הרכיב ממפה רק את הרשומות המשותפות. קריאה זו נכנסת למילון הגולמי וקוראת מפתח בודד, כך שרשומות שהוגדרו ביישום (סטטוס בדיקה, מזהה קיבוץ, הרחבה של ספק) הופכות לגלויות מבלי לעבור על גרף האובייקטים

סוג הערך נשאל באופן מקורי ומפוענח ל-TPdfDictionaryValueKind: pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull או pdvkReference. נשלפים רק הסוגים הסקלריים: strings ו-names מפוענחים ל-StringValue, מספרים ל-NumberValue (נקראים בדיוק single precision על ידי ה-API המקורי), ו-HasScalarValue מסמן שליפה מוצלחת. ערכים ללא מטען סקלרי — booleans, מערכים, מילונים מקוננים, streams — מדווחים על ידי Kind בלבד

עבור מפתחות שמודל הרשומות כבר חושף, העדיפו את Annotation: הוא מנרמל ומאמת את השדות המשותפים. פנו לקריאה זו רק כאשר מפתח נמצא מחוץ למודל

Remarks

Example

var
  Value: TPdfDictionaryValue;
begin
  // read a vendor-specific review status from annotation 2
  Value := Pdf1.GetAnnotationDictionaryValue(2, 'ReviewStatus');
  if (Value.Kind = pdvkName) and Value.HasScalarValue then
    Memo1.Lines.Add('Status: ' + Value.StringValue);
end;

See Also

Annotation, AnnotationCount, GetAttachmentDictionaryValue