PDFium Delphi Component Docs

Methode GenerateFormAppearances

Komponente: TPdf  ·  Unit: PDFium
Erzeugt den /AP-(Erscheinungsstrom) für jedes Formular-Widget auf jeder Seite neu, indem jede Seite durch FPDF_FFLDraw gerendert wird. Dies ist der empfohlene Begleitaufruf zu FormField[i] := value-Zuweisungen - ohne ihn können Formularwerte nur sichtbar sein, wenn das Feld Fokus hat, und jeder anschließende Glättungsvorgang verliert die Werte stillschweigend. Rufen Sie ihn nach allen FormField[]-Zuweisungen und vor SaveAs / FlattenPage / FlattenAllPages auf

Syntax

procedure GenerateFormAppearances;

Beschreibung

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

Beispiel

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

Siehe auch

FlattenPage, FlattenAllPages, FormField, SaveAs