RemoveFormField elimina un campo modulo caricato dall'albero campi AcroForm e rimuove dalle pagine le annotazioni widget corrispondenti. FlattenFormFields dipinge i valori visibili correnti dei campi caricati o in costruzione nel contenuto pagina statico, quindi rimuove la voce catalogo AcroForm e le annotazioni widget, cosi il PDF salvato non espone piu campi interattivi. Restituisce il numero di campi appiattiti, oppure zero quando non erano presenti campi modulo

Usare SaveLoadedDocument per scrivere una copia completamente salvata del grafo oggetti caricato dopo modifiche dirette ai campi. Per workflow append-only, come i PDF firmati, caricare con BeginIncrementalUpdate, modificare i campi e poi chiamare SaveIncrementalUpdate

Example

PDF.LoadFromFile('InputForm.pdf');
for I := 0 to PDF.GetFormFieldCount - 1 do
  Writeln(PDF.GetFormFieldName(I), ' = ', PDF.GetFormFieldValue(I));

for I := 0 to PDF.GetFormFieldOptionCount('Plan') - 1 do
  Writeln('Plan option ', I, ': ', PDF.GetFormFieldOptionValue('Plan', I));

Writeln('Customer description: ', PDF.GetFormFieldDescription('CustomerName'));
PDF.SetFormFieldValue('CustomerName', 'Bob');
PDF.SetFormFieldReadOnly('CustomerName', True);
PDF.RenameFormField('CustomerName', 'ClientName');
PDF.RemoveFormField('Approved');
PDF.SaveLoadedDocument('UpdatedForm.pdf');
PDF.LoadFromFile('UpdatedForm.pdf');
if PDF.HasFormFields then
  Writeln('Plan exists: ', PDF.FormFieldExists('Plan'));
FlattenedCount := PDF.FlattenFormFields;
PDF.SaveLoadedDocument('FlattenedForm.pdf');

Vedi anche