PDFium Delphi Component Docs

الطريقة GenerateFormAppearances

المكوّن: TPdf  ·  الوحدة: PDFium
تعيد توليد /AP (تيار المظهر) لكل أداة نموذج في كل صفحة بتصيير كل صفحة عبر FPDF_FFLDraw. هذا هو الاستدعاء المرافق الموصى به لتعيينات FormField[i] := value — فبدونه قد تكون قيم النموذج مرئية فقط عندما يكون للحقل تركيز، وستفقد أي عملية تسطيح لاحقة القيم صامتًا. استدعِ بعد جميع تعيينات FormField[] وقبل SaveAs / FlattenPage / FlattenAllPages

الصياغة

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 عملية مستند داخل معاملة

انظر أيضًا

FlattenPage, FlattenAllPages, FormField, SaveAs