procedure SetFormFieldFlags(Index: Integer; const Flags: TPdfFormFieldFlags);
| Index | Integer. فهرس التعليق الصفري لحقل النموذج في الصفحة الحالية. يجب أن يكون في النطاق من 0 إلى AnnotationCount - 1. |
| Flags | TPdfFormFieldFlags. مجموعة من قيم 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;