function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): Boolean;
| nFlag | Integer. Wybiera profil spłaszczania stosowany do każdej strony. Przekaż FLAT_NORMALDISPLAY (0, wartość domyślna), aby zoptymalizować pod wyświetlanie na ekranie, albo FLAT_PRINT (1), aby zoptymalizować pod wydruk |
True, gdy każda strona w dokumencie zwróciła FLATTEN_SUCCESS (1) lub FLATTEN_NOTHINGTODO (2); False, gdy dowolna strona zwróciła FLATTEN_FAIL (0)FlattenAllPages to wygodna otoczka, która iteruje po każdej stronie załadowanego dokumentu i wywołuje na każdej z nich odpowiednik FlattenPage. Adnotacje i widżety AcroForm na wszystkich stronach są scalane z trwałą, nieedytowalną treścią strony w jednym wywołaniu
Metoda zwraca True tylko wtedy, gdy wszystkie strony zakończą się stanem FLATTEN_SUCCESS lub FLATTEN_NOTHINGTODO. Pojedyncza strona zwracająca FLATTEN_FAIL powoduje zwrócenie przez metodę wartości False, choć spłaszczanie pozostałych stron jest kontynuowane
Gdy dokument zawiera wypełnione pola formularza, zawsze wywołuj GenerateFormAppearances przed FlattenAllPages. Bez strumieni wyglądu wartości pól nie pojawią się w spłaszczonym wyniku. Zalecany pełny przepływ to: przypisanie wartości FormField[] → GenerateFormAppearances → FlattenAllPages → SaveAs
Aby spłaszczyć pojedynczą stronę i sprawdzić jej indywidualny kod wyniku, użyj zamiast tego 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;