PDFium Delphi Component Docs

FlattenAllPages método

Componente: TPdf  ·  Unidad: PDFium
Envoltorio de conveniencia que aplana todas las páginas del documento. Devuelve True cuando cada página termina con FLATTEN_SUCCESS o FLATTEN_NOTHINGTODO. Flujo recomendado: GenerateFormAppearances → FlattenAllPages → SaveAs

Syntax

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

nFlagInteger. Selecciona el perfil de aplanado que se aplica a cada página. Pase FLAT_NORMALDISPLAY (0, predeterminado) para optimizar la visualización en pantalla, o FLAT_PRINT (1) para optimizar la salida impresa

Return Value

True si todas las páginas del documento devolvieron FLATTEN_SUCCESS (1) o FLATTEN_NOTHINGTODO (2); False si alguna devolvió FLATTEN_FAIL (0)

Description

FlattenAllPages es un envoltorio de conveniencia que recorre todas las páginas del documento cargado y llama al equivalente de FlattenPage en cada una. Las anotaciones y los widgets de AcroForm de todas las páginas se fusionan en contenido de página permanente y no editable en una sola llamada

El método devuelve True solo cuando todas las páginas terminan con FLATTEN_SUCCESS o FLATTEN_NOTHINGTODO. Una sola página que devuelva FLATTEN_FAIL hace que el método devuelva False, aunque el aplanado continúa con las páginas restantes

Cuando el documento contenga campos de formulario rellenados, llame siempre a GenerateFormAppearances antes de FlattenAllPages. Sin flujos de apariencia, los valores de los campos no aparecerán en la salida aplanada. El flujo de trabajo completo recomendado es: asignar valores de FormField[] → GenerateFormAppearances → FlattenAllPages → SaveAs

Para aplanar una sola página e inspeccionar su código de resultado individual, use FlattenPage en su lugar

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