PDFium Delphi Component Docs

FlattenAllPages Método

Componente: TPdf  ·  Unidade: PDFium
Wrapper de conveniência que achata todas as páginas do documento. Retorna True quando cada página termina com FLATTEN_SUCCESS ou FLATTEN_NOTHINGTODO. Fluxo de trabalho recomendado: GenerateFormAppearances → FlattenAllPages → SaveAs

Syntax

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

nFlagInteger. Seleciona o perfil de achatamento aplicado a todas as páginas. Passe FLAT_NORMALDISPLAY (0, padrão) para otimizar a visualização na tela, ou FLAT_PRINT (1) para otimizar a saída impressa.

Return Value

True se todas as páginas do documento retornaram FLATTEN_SUCCESS (1) ou FLATTEN_NOTHINGTODO (2); False se qualquer página retornou FLATTEN_FAIL (0).

Description

FlattenAllPages é um wrapper de conveniência que itera por todas as páginas do documento carregado e chama o equivalente a FlattenPage em cada uma. Anotações e widgets AcroForm de todas as páginas são mesclados em conteúdo de página permanente e não editável em uma única chamada.

O método retorna True apenas quando todas as páginas terminam com FLATTEN_SUCCESS ou FLATTEN_NOTHINGTODO. Uma única página retornando FLATTEN_FAIL faz o método retornar False, embora o achatamento continue para as páginas restantes.

Quando o documento contém campos de formulário preenchidos, sempre chame GenerateFormAppearances antes de FlattenAllPages. Sem appearance streams, os valores dos campos não aparecerão na saída achatada. O fluxo completo recomendado é: atribuir valores a FormField[] → GenerateFormAppearances → FlattenAllPages → SaveAs.

Para achatar uma única página e inspecionar seu código de resultado individual, use 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