PDFium Delphi Component Docs

GetAnnotationDictionaryValue متد

کامپوننت: TPdf  ·  واحد: PDFium
یک کلید را مستقیماً از دیکشنری حاشیه‌نویسیِ صفحهٔ فعلی می‌خواند و نوع مقدار را همراه اسکالر رمزگشایی‌شده گزارش می‌کند

Syntax

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

AnnotIndexInteger. اندیس مبتنی بر صفر حاشیه‌نویسی در صفحهٔ فعلی، در بازهٔ 0 .. AnnotationCount - 1. اندیس بیرون از بازه EPdfError برپا می‌کند
KeyWString. نام مدخل دیکشنری برای خواندن؛ پیش از فراخوانی نیتیو با UTF-8 کدگذاری می‌شود
ResultTPdfDictionaryValue. Kind نوع نیتیو مقدار را حمل می‌کند؛ مقادیر رشته، name و عدد در StringValue / NumberValue با HasScalarValue = True رمزگشایی می‌شوند

Description

هر حاشیه‌نویسی با یک دیکشنری PDF پشتیبانی می‌شود و مدل رکورد کامپوننت فقط مدخل‌های رایج را نگاشت می‌کند. این فراخوانی به دیکشنری خام می‌رسد و یک کلید واحد را می‌خواند، در نتیجه مدخل‌های تعریف‌شده توسط برنامه (وضعیت بازبینی، شناسهٔ گروه‌بندی، افزونهٔ فروشنده) بدون پیمایش گراف شیء دیده می‌شوند

نوع مقدار به‌صورت نیتیو پرس‌وجو و به یک TPdfDictionaryValueKind رمزگشایی می‌شود: pdvkUnknown، pdvkBoolean، pdvkNumber، pdvkString، pdvkName، pdvkArray، pdvkDictionary، pdvkStream، pdvkNull یا pdvkReference. فقط انواع اسکالر واکشی می‌شوند: رشته‌ها و nameها به StringValue، اعداد به NumberValue رمزگشایی می‌شوند (خوانده‌شده با دقت single توسط API نیتیو) و HasScalarValue یک واکشی موفق را علامت می‌زند. مقادیر بدون محتوای اسکالر — بولی‌ها، آرایه‌ها، دیکشنری‌های تودرتو، استریم‌ها — فقط از طریق 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