procedure GenerateFormAppearances;
GenerateFormAppearances erstellt bearbeitbare Text- und Comboboxdarstellungen über den nativen Formulareditor neu und synchronisiert Checkbox-/Radiobuttondarstellungen
Native Text-/Comboboxzuweisungen übernehmen ihre Darstellung über den Editor; rohe Dictionaryänderungen und fehlende Darstellungen benötigen ggf. vor Flattening noch Regeneration; Flattening verwendet gespeicherte Streams statt der Anzeige des aktiven Editors
Der korrekte Ablauf beim Ausfüllen und Sperren eines Formulars lautet: alle FormField[]-Werte zuweisen → GenerateFormAppearances einmal aufrufen → optional FlattenPage / FlattenAllPages aufrufen → SaveAs aufrufen. Wenn Sie das ausgefüllte Formular nur ohne Glättung speichern möchten, wird GenerateFormAppearances dennoch empfohlen, um maximale Kompatibilität mit PDF-Viewern von Drittanbietern zu gewährleisten
Die Prozedur bearbeitet das gesamte Dokument in einem Aufruf; es gibt keine Variante für einzelne Seiten
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;
Geerbte Widgets werden vorübergehend nativ bearbeitet, anschließend wird der ursprüngliche Elternfeldwert geprüft wiederhergestellt; kein Schattenwert wird ins Widget geschrieben
Geerbte schreibgeschützte Felder können diesen Weg nicht nutzen und lösen Fehler aus; GenerateFormAppearances ist keine transaktionale Dokumentoperation