PDFium Delphi Component Docs

GetAnnotationDictionaryValue metode

Komponen: TPdf  ·  Unit: PDFium
Membaca satu kunci langsung dari dictionary sebuah anotasi pada halaman saat ini dan melaporkan jenis nilainya beserta skalar hasil dekode

Syntax

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

AnnotIndexInteger. Indeks anotasi berbasis nol pada halaman saat ini, dalam rentang 0 .. AnnotationCount - 1. Indeks di luar rentang memunculkan EPdfError
KeyWString. Nama entri dictionary yang akan dibaca, dikodekan UTF-8 sebelum pemanggilan native
ResultTPdfDictionaryValue. Kind membawa tipe nilai native; nilai string, name, dan number didekode ke StringValue / NumberValue dengan HasScalarValue = True

Description

Setiap anotasi ditopang oleh sebuah dictionary PDF, dan model record komponen hanya memetakan entri-entri umum. Panggilan ini menjangkau dictionary mentah dan membaca satu kunci, sehingga entri yang didefinisikan aplikasi (status review, id pengelompokan, ekstensi vendor) menjadi terlihat tanpa harus menelusuri object graph

Jenis nilai dikueri secara native dan didekode ke TPdfDictionaryValueKind: pdvkUnknown, pdvkBoolean, pdvkNumber, pdvkString, pdvkName, pdvkArray, pdvkDictionary, pdvkStream, pdvkNull atau pdvkReference. Hanya jenis skalar yang diambil: string dan name didekode ke StringValue, number ke NumberValue (dibaca pada presisi tunggal oleh API native), dan HasScalarValue menandai pengambilan yang berhasil. Nilai tanpa muatan skalar — boolean, array, dictionary bersarang, stream — dilaporkan lewat Kind saja

Untuk kunci yang sudah dipaparkan model record, utamakan Annotation: metode itu menormalisasi dan memvalidasi field umum. Gunakan panggilan ini hanya ketika sebuah kunci berada di luar model

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