PDFium Delphi Component Docs

SetFormFieldFlags الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
تعيين علامات حقول AcroForm لحقل النموذج عند فهرس التعليق المحدد في الصفحة الحالية.

الصياغة

procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags);

IndexInteger. فهرس التعليق الصفري لحقل النموذج في الصفحة الحالية. يجب أن يكون في النطاق من 0 إلى AnnotationCount - 1.
FlagsTPdfFormFieldFlags. مجموعة من قيم TPdfFormFieldFlag لتطبيقها على الحقل. تتوافق هذه مع علامات حقول AcroForm المحددة في مواصفة PDF، مثل للقراءة فقط، أو إلزامي، أو لا-تصدير.

الوصف

يكتب SetFormFieldFlags علامات حقول AcroForm إلى تعليق أداة النموذج عند فهرس التعليق الصفري المعطى في الصفحة الحالية. تتحكم العلامات في السلوك التفاعلي للحقل: مثلًا، علامته للقراءة فقط تمنع المستخدم من تغيير قيمته، بينما تشير علامته كإلزامي إلى أنه يجب ملؤه قبل إمكانية إرسال النموذج.

يشير المعامل Index إلى فهرس التعليق كما يُبلِّغه AnnotationCount، وليس فهرس حقل النموذج الذي يُبلِّغه FormFieldCount. استخدم FormFieldInfo أو HasFormFieldAt لتحديد فهارس التعليقات التي تتوافق مع أدوات النماذج. ولمعالجة حقل بإحداثيات صفحة بدلًا من الفهرس، استخدم SetFormFieldFlagsAt.

تسري تغييرات العلامات فورًا في المستند في الذاكرة لكنها لا تُدم حتى استدعاء SaveAs. عند قفل نموذج برمجيًا بعد ملئه، فالتسلسل الموصى به هو: تعيين قيم FormField[]، واستدعاء GenerateFormAppearances، وتعيين العلامات للقراءة فقط، ثم استدعاء SaveAs.

مثال

var
  I: Integer;
begin
  Pdf1.PageIndex := 0;
  // Mark every form field on the page as read-only
  for I := 0 to Pdf1.AnnotationCount - 1 do
    if Pdf1.FormFieldInfo[I].FieldType <> fftUnknown then
      Pdf1.SetFormFieldFlags(I, [ffReadOnly]);
  Pdf1.SaveAs('output_readonly.pdf');
end;

انظر أيضًا

FormField, FormFieldCount, FormFieldInfo, SetFormFieldFlagsAt, HasFormFieldAt