procedure GenerateFormAppearances;
تعيد GenerateFormAppearances بناء مظهر النص و combobox عبر محرر النماذج الأصلي وتزامن حالات checkbox و radio
تعتمد الكتابة الأصلية النص والمظهر عبر المحرر؛ قد تحتاج تعديلات القاموس الخام والمظاهر الغائبة إلى إعادة التوليد قبل flattening الذي يستخدم التدفقات المحفوظة لا عرض المحرر
مسار العمل الصحيح عند ملء نموذج وقفله هو: تعيين جميع قيم FormField[] → استدعاء GenerateFormAppearances مرة واحدة → استدعاء FlattenPage / FlattenAllPages اختياريًا → استدعاء SaveAs. إذا كنت تحتاج فقط حفظ النموذج المملوء دون تسطيح، فما زال يوصى بـ GenerateFormAppearances لضمان أقصى توافق مع عارضات PDF التابعة لجهات خارجية
يعمل الإجراء على المستند بأكمله في استدعاء واحد؛ ولا يوجد متغير لكل صفحة
begin
// Assign form field values
Pdf1.FormField[0] := 'Alice Example';
Pdf1.FormField[1] := '[email protected]';
Pdf1.FormField[2] := '2026-05-20';
// Bake appearance streams so values are visible in all viewers
Pdf1.GenerateFormAppearances;
// Flatten and save a non-editable copy
Pdf1.FlattenAllPages;
Pdf1.SaveAs('output_filled_flat.pdf');
end;
تستخدم widgets الموروثة تعديلًا أصليًا مؤقتًا ثم استعادة موثقة لقيمة الأب الأصلية؛ لا تُكتب قيمة ظل في widget
ترفض الحقول الموروثة المقروءة فقط هذا المسار وترفع خطأ؛ ليست GenerateFormAppearances عملية مستند داخل معاملة