PDFium Delphi Component Docs

GetAnnotationDictionaryValue Yöntem

Component: TPdf  ·  Unit: PDFium
Geçerli sayfadaki bir ek açıklamanın sözlüğünden tek bir anahtarı doğrudan okur ve değer türünü çözülmüş skaler değerle birlikte bildirir

Syntax

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

AnnotIndexInteger. Geçerli sayfadaki ek açıklamanın sıfır tabanlı indeksi; 0 .. AnnotationCount - 1 aralığındadır. Aralık dışı bir indeks EPdfError fırlatır
KeyWString. Okunacak sözlük girişinin adı; yerel çağrı öncesinde UTF-8 olarak kodlanır
ResultTPdfDictionaryValue. Kind, yerel değer türünü taşır; dize, ad ve sayı değerleri HasScalarValue = True ile StringValue / NumberValue içine çözülür

Description

Her ek açıklama bir PDF sözlüğü tarafından desteklenir ve bileşenin kayıt modeli yalnızca yaygın girişleri eşler. Bu çağrı ham sözlüğe ulaşır ve tek bir anahtar okur; böylece uygulama tanımlı girişler (bir inceleme durumu, bir gruplandırma kimliği, bir satıcı uzantısı) nesne grafiğinde dolaşmadan görünür olur

Değer türü yerel olarak sorgulanır ve bir TPdfDictionaryValueKind içine çözülür: pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull veya pdvkReference. Yalnızca skaler türler getirilir: dizeler ve adlar StringValue içine, sayılar NumberValue içine çözülür (yerel API tarafından tek duyarlıkla okunur) ve HasScalarValue başarılı bir getirmeyi işaretler. Skaler yükü olmayan değerler — boole değerleri, diziler, iç içe sözlükler, akışlar — yalnızca Kind üzerinden bildirilir

Kayıt modelinin halihazırda açığa çıkardığı anahtarlar için Annotation özelliğini tercih edin: yaygın alanları normalleştirir ve doğrular. Bu çağrıya yalnızca bir anahtar modelin dışında kaldığında başvurun

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