PDFium Component Docs

GetAnnotationDictionaryValue-metode

Component: TPdf  ·  Unit: PDFium
Leser én nøkkel direkte fra ordboken til en merknad på den gjeldende siden, og rapporterer verdikinden sammen med den dekodete skalarverdien

Syntax

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

AnnotIndexInteger. Nullbasert indeks for merknaden på den gjeldende siden, i området 0 .. AnnotationCount - 1. En indeks utenfor området utløser en EPdfError
KeyWString. Navnet på ordboksoppføringen som skal leses, UTF-8-kodet før det native kallet
ResultTPdfDictionaryValue. Kind bærer den native verditypen; streng-, navne- og tallverdier dekodes inn i StringValue / NumberValue med HasScalarValue = True

Description

Hver merknad ligger bak en PDF-ordbok, og komponentens recordmodell kartlegger bare de vanlige oppføringene. Dette kallet går rett inn i rå-ordboken og leser én enkelt nøkkel, så applikasjonsdefinerte oppføringer (en review-status, en grupperings-id, en leverandørutvidelse) blir synlige uten å traversere objektgrafen

Verdikinden spørres nativt og dekodes til en TPdfDictionaryValueKind: pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull eller pdvkReference. Bare skalarmodene hentes: strenger og navn dekodes inn i StringValue, tall inn i NumberValue (lest med enkelt presisjon av det native API-et), og HasScalarValue markerer en vellykket henting. Verdier uten skalarlast — booleanske verdier, arrays, nestede ordbøker, strømmer — rapporteres av Kind alene

For nøkler som recordmodellen allerede eksponerer, foretrekk Annotation: den normaliserer og validerer de vanlige feltene. Grip etter dette kallet bare når en nøkkel ligger utenfor modellen

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