PDFium Delphi Component Docs

FlattenAllPages Metodo

Componente: TPdf  ·  Unità: PDFium
Wrapper di comodità che appiattisce ogni pagina del documento. Restituisce True quando ogni pagina termina con FLATTEN_SUCCESS o FLATTEN_NOTHINGTODO. Flusso consigliato: GenerateFormAppearances → FlattenAllPages → SaveAs.

Syntax

function FlattenAllPages(nFlag: Integer = FLAT_NORMALDISPLAY): Boolean;

nFlagInteger. 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

Return Value

True se ogni pagina del documento ha restituito FLATTEN_SUCCESS (1) oppure FLATTEN_NOTHINGTODO (2); False se qualche pagina ha restituito FLATTEN_FAIL (0)

Description

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.

Example

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;

See Also

FlattenPage, GenerateFormAppearances, SaveAs