procedure GenerateFormAppearances;
GenerateFormAppearances ricostruisce gli aspetti modificabili di testo e combo-box tramite l'editor nativo form-fill e sincronizza gli stati di aspetto di checkbox e radio
Le assegnazioni native di testo e combo-box confermano l'aspetto tramite l'editor form-fill; modifiche raw ai dizionari e aspetti inizialmente mancanti possono comunque richiedere questa rigenerazione prima del flattening, che usa gli stream di aspetto salvati anziché la visualizzazione dell'editor attivo
Per compilare e bloccare un form: assegnare tutti i valori FormField[] → chiamare una volta GenerateFormAppearances → chiamare opzionalmente FlattenPage / FlattenAllPages → chiamare SaveAs. Anche salvando senza flattening, GenerateFormAppearances è consigliato per la massima compatibilità con visualizzatori PDF di terze parti
La procedura opera su tutto il documento in una sola chiamata; non esiste una variante per pagina
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;
I widget ereditati usano una modifica nativa temporanea seguita dal ripristino verificato del valore originale nel campo padre; non viene scritto un valore ombra nel widget
I campi ereditati in sola lettura non possono usare questo flusso di modifica e sollevano un errore; GenerateFormAppearances non è un'operazione transazionale sul documento