function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): Boolean;
| nFlag | Integer. Seleziona il profilo di flattening applicato a ogni pagina. Passa FLAT_NORMALDISPLAY (0, predefinito) per ottimizzare la visualizzazione su schermo, oppure FLAT_PRINT (1) per ottimizzare l'output stampato |
True se ogni pagina del documento ha restituito FLATTEN_SUCCESS (1) oppure FLATTEN_NOTHINGTODO (2); False se qualche pagina ha restituito FLATTEN_FAIL (0)FlattenAllPages è un wrapper di comodità che scorre ogni pagina del documento caricato e chiama l'equivalente di FlattenPage su ciascuna. Le annotazioni e i widget AcroForm di tutte le pagine vengono uniti in contenuto di pagina permanente e non modificabile con una singola chiamata.
Il metodo restituisce True solo quando tutte le pagine terminano con FLATTEN_SUCCESS o FLATTEN_NOTHINGTODO. Una singola pagina che restituisce FLATTEN_FAIL fa sì che il metodo restituisca False, sebbene l'appiattimento continui per le pagine rimanenti.
Quando il documento contiene campi di modulo compilati, chiama sempre GenerateFormAppearances prima di FlattenAllPages. Senza gli stream di aspetto, i valori dei campi non appariranno nell'output appiattito. Il flusso di lavoro completo consigliato è: assegna i valori FormField[] → GenerateFormAppearances → FlattenAllPages → SaveAs.
Per appiattire una singola pagina e ispezionare il suo codice di risultato individuale, usa invece 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;