function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): Boolean;
| nFlag | Integer. يختار ملف التسطيح المطبق على كل صفحة. مرِّر FLAT_NORMALDISPLAY (0، الافتراضي) للتحسين للعرض على الشاشة، أو FLAT_PRINT (1) للتحسين للإخراج المطبوع. |
True إذا أعادت كل صفحة في المستند إما FLATTEN_SUCCESS (1) أو FLATTEN_NOTHINGTODO (2)؛ و False إذا أعادت أي صفحة FLATTEN_FAIL (0).FlattenAllPages هو مُغلِّف مريح يكرر عبر كل صفحة في المستند المحمَّل ويستدعي ما يعادل FlattenPage على كل منها. تُدمج التعليقات وأدوات AcroForm عبر جميع الصفحات في محتوى صفحة دائم غير قابل للتحرير في استدعاء واحد.
تعيد الطريقة True فقط عندما تكتمل جميع الصفحات بـ FLATTEN_SUCCESS أو FLATTEN_NOTHINGTODO. تتسبب صفحة واحدة تعيد FLATTEN_FAIL في إعادة الطريقة لـ False، رغم استمرار التسطيح للصفحات المتبقية.
عندما يحتوي المستند على حقول نموذج مملوءة، استدعِ دائمًا GenerateFormAppearances قبل FlattenAllPages. فبدون تيارات المظهر لن تظهر قيم الحقول في الإخراج المسطَّح. مسار العمل الكامل الموصى به هو: تعيين قيم FormField[] → GenerateFormAppearances → FlattenAllPages → SaveAs.
لتسطيح صفحة واحدة وفحص رمز نتيجتها الفردي استخدم FlattenPage بدلًا من ذلك.
begin
// Fill fields, generate appearances, flatten entire document
Pdf1.FormField[0] := 'Jane Doe';
Pdf1.FormField[1] := '2026-05-20';
Pdf1.GenerateFormAppearances;
if Pdf1.FlattenAllPages(FLAT_NORMALDISPLAY) then
Pdf1.SaveAs('output_flat_all.pdf')
else
ShowMessage('One or more pages could not be flattened');
end;