procedure GenerateFormAppearances;
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.
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