function FlattenPage(nFlag: Integer = FLAT_NORMALDISPLAY): Integer;
| nFlag | Integer. يختار ملف التسطيح. مرِّر FLAT_NORMALDISPLAY (0، الافتراضي) للتحسين للإخراج للعرض على الشاشة، أو FLAT_PRINT (1) للتحسين للإخراج المطبوع. |
FLATTEN_SUCCESS (1) — دُمجت التعليقات في محتوى الصفحة بنجاح؛ FLATTEN_NOTHINGTODO (2) — لم يكن للصفحة تعليقات أو أدوات لتسطيحها؛ FLATTEN_FAIL (0) — فشلت العملية.يدمج FlattenPage جميع التعليقات وأدوات AcroForm في الصفحة الحالية في تيار محتوى الصفحة الدائم غير القابل للتحرير. بمجرد التسطيح، لا تبقى التعليقات تفاعلية — تصبح رسومات عادية لا يمكن تحريرها أو حذفها أو إرسالها. هذه هي التقنية القياسية لإنتاج PDF "مقفل" يحافظ على المظهر المرئي لنموذج مملوء أو مستند مُعلَّق.
يختار المعامل nFlag ملف التصيير المستخدم عند رسم الأدوات في محتوى الصفحة. استخدم FLAT_NORMALDISPLAY (0) للمستندات التي ستُعرض على الشاشة، و FLAT_PRINT (1) للمستندات المخصصة للطباعة.
عندما تحتوي الصفحة على حقول نموذج مملوءة، يجب عليك استدعاء GenerateFormAppearances قبل FlattenPage. فبدون تيارات المظهر، لا يملك المسطِّح تمثيلًا مرئيًا للدمج وسيحذف قيم الحقول صامتًا من الإخراج. التسلسل الموصى به لصفحة واحدة هو: تعيين قيم FormField[] → GenerateFormAppearances → FlattenPage → SaveAs.
لتسطيح كل صفحة في مستند في استدعاء واحد استخدم FlattenAllPages. تحقق من قيمة الإرجاع مقابل FLATTEN_FAIL لكشف الأخطاء؛ فـ FLATTEN_NOTHINGTODO ليست حالة خطأ.
var
Res: Integer;
begin
Pdf1.PageIndex := 0;
// Fill a form field, regenerate appearances, then flatten
Pdf1.FormField[0] := 'John Smith';
Pdf1.GenerateFormAppearances;
Res := Pdf1.FlattenPage(FLAT_NORMALDISPLAY);
if Res = FLATTEN_FAIL then
ShowMessage('Flatten failed')
else
Pdf1.SaveAs('output_flat.pdf');
end;