PDFium Delphi Component Docs

GetAnnotationDictionaryValue metóda

Component: TPdf  ·  Unit: PDFium
Prečíta jeden kľúč priamo zo slovníka anotácie na aktuálnej stránke a hlási jeho druh hodnoty spolu s dekódovaným skalárom

Syntax

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

AnnotIndexInteger. Index anotácie na aktuálnej stránke od nuly, v rozsahu 0 .. AnnotationCount - 1. Index mimo rozsahu vyvolá EPdfError
KeyWString. Názov položky slovníka na čítanie, kódovaný v UTF-8 pred natívnym volaním
ResultTPdfDictionaryValue. Kind nesie natívny typ hodnoty; reťazcové, názvové a číselné hodnoty sa dekódujú do StringValue / NumberValue s HasScalarValue = True

Description

Každá anotácia je podložená slovníkom PDF a záznamový model komponentu mapuje iba bežné položky. Toto volanie siaha do surového slovníka a prečíta jediný kľúč, takže položky definované aplikáciou (stav recenzie, skupinové id, rozšírenie dodávateľa) sa stanú viditeľnými bez prechádzania grafu objektov

Druh hodnoty sa natívne zistí a dekóduje do TPdfDictionaryValueKind: pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull alebo pdvkReference. Sťahujú sa iba skalárne druhy: reťazce a názvy sa dekódujú do StringValue, čísla do NumberValue (čítané s jednoduchou presnosťou natívnym API) a HasScalarValue označí úspešné stiahnutie. Hodnoty bez skalárneho payloadu — booleany, polia, vnorené slovníky, streamy — sa hlásia iba cez Kind

Pre kľúče, ktoré už záznamový model exponuje, uprednostnite Annotation: bežné polia normalizuje a validuje. Po toto volanie siahnite, až keď kľúč leží mimo modelu

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