PDFium Delphi Component Docs

GenerateFormAppearances Metod

Component: TPdf  ·  Unit: PDFium
Återskapar /AP-posten (utseendeströmmen) för varje formulärwidget på varje sida genom att rendera varje sida via FPDF_FFLDraw. Detta är det rekommenderade kompletterande anropet till tilldelningar av typen FormField[i] := value — utan det kan formulärvärden bara vara synliga när fältet har fokus, och alla efterföljande flatten-operationer tappar värdena utan varning. Anropa efter alla FormField[]-tilldelningar och före SaveAs / FlattenPage / FlattenAllPages.

Syntax

procedure GenerateFormAppearances;

Description

GenerateFormAppearances bygger om redigerbara text- och combobox-utseenden via den nativa form-fill-redigeraren och synkroniserar utseendetillstånd för kryssrutor och radioknappar

Nativa text- och combobox-tilldelningar registrerar sitt utseende via form-fill-redigeraren; råa ordboksändringar och utseenden som saknades initialt kan fortfarande kräva detta regenereringssteg före utplattning, som använder lagrade utseendeströmmar i stället för den aktiva redigerarens visning

Det korrekta arbetsflödet vid ifyllnad och låsning av ett formulär är: tilldela alla FormField[]-värden → anropa GenerateFormAppearances en gång → anropa valfritt FlattenPage / FlattenAllPages → anropa SaveAs. Om du bara behöver spara det ifyllda formuläret utan att platta till rekommenderas GenerateFormAppearances fortfarande för att säkerställa maximal kompatibilitet med PDF-visningsprogram från tredje part

Proceduren arbetar på hela dokumentet i ett enda anrop; det finns ingen variant per sida

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;

Ärvda widgetar använder en tillfällig nativ redigering följd av en verifierad återställning av det ursprungliga förälderfältets värde; inget skuggvärde skrivs till widgeten

Ärvda skrivskyddade fält kan inte använda detta redigeringsarbetsflöde och utlöser ett fel; GenerateFormAppearances är inte en transaktionell dokumentoperation

See Also

FlattenPage, FlattenAllPages, FormField, SaveAs