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;