PDFium Delphi Component Docs

GenerateFormAppearances Método

Componente: TPdf  ·  Unidade: PDFium
Regenera o /AP (fluxo de aparência) de cada widget de formulário em todas as páginas, renderizando cada página por meio de FPDF_FFLDraw. Esta é a chamada complementar recomendada para atribuições de FormField[i] := value - sem ela, os valores do formulário podem ficar visíveis apenas quando o campo tem foco, e qualquer operação de achatar subsequente perderá os valores em silêncio. Chame depois de todas as atribuições de FormField[] e antes de SaveAs / FlattenPage / FlattenAllPages

Syntax

procedure GenerateFormAppearances;

Description

GenerateFormAppearances reconstrói as aparências de texto editável e de caixa de combinação por meio do editor nativo de preenchimento de formulários e sincroniza os estados de aparência de checkboxes e botões de rádio

As atribuições nativas de texto e caixa de combinação confirmam sua aparência por meio do editor de preenchimento de formulários; edições brutas de dicionário e aparências ausentes desde o início ainda podem exigir esta etapa de regeneração antes de achatar, que usa os appearance streams armazenados em vez da exibição do editor em tempo real

O fluxo de trabalho correto ao preencher e travar um formulário é: atribuir todos os valores de FormField[] → chamar GenerateFormAppearances uma vez → chamar opcionalmente FlattenPage / FlattenAllPages → chamar SaveAs. Se você só precisa salvar o formulário preenchido sem achatar, GenerateFormAppearances ainda é recomendado para garantir compatibilidade máxima com visualizadores de PDF de terceiros.

O procedimento opera sobre o documento inteiro em uma única chamada; não há variante por página.

Example

begin
  // Assign form field values
  Pdf1.FormField[0] := 'Alice Example';
  Pdf1.FormField[1] := '[email protected]';
  Pdf1.FormField[2] := '2026-05-20';
  
  // Bake appearance streams so values are visible in all viewers
  Pdf1.GenerateFormAppearances;
  
  // Flatten and save a non-editable copy
  Pdf1.FlattenAllPages;
  Pdf1.SaveAs('output_filled_flat.pdf');
end;

Widgets herdados usam uma edição nativa temporária seguida de uma restauração verificada do valor original do campo pai; nenhum valor sombra é gravado no widget

Campos herdados somente leitura não podem usar este fluxo de trabalho de edição e disparam um erro; GenerateFormAppearances não é uma operação transacional de documento

See Also

FlattenPage, FlattenAllPages, FormField, SaveAs