# Form Field Compatibility: Work with AcroForms, Legacy MS Word Forms, and Content Controls

> This article shows how to work with form fields in TX Text Control and how they are compatible with other industry standards. It explains how to load and save AcroForms, legacy MS Word forms and content controls.

- **Author:** Bjoern Meyer
- **Published:** 2024-04-04
- **Modified:** 2025-11-16
- **Description:** This article shows how to work with form fields in TX Text Control and how they are compatible with other industry standards. It explains how to load and save AcroForms, legacy MS Word forms and content controls.
- **6 min read** (1124 words)
- **Tags:**
  - ASP.NET
  - React
  - Angular
  - Form Fields
  - AcroForms
- **Web URL:** https://www.textcontrol.com/blog/2024/04/04/form-fields-working-with-acroforms-legacy-ms-word-forms-and-content-controls/
- **LLMs URL:** https://www.textcontrol.com/blog/2024/04/04/form-fields-working-with-acroforms-legacy-ms-word-forms-and-content-controls/llms.txt
- **LLMs-Full URL:** https://www.textcontrol.com/blog/2024/04/04/form-fields-working-with-acroforms-legacy-ms-word-forms-and-content-controls/llms-full.txt

---

TX Text Control provides a comprehensive set of features for creating and deploying electronic forms, including form fields such as form text fields, check boxes, and drop-down lists. The Document Editor can be used to create these forms, and the Document Viewer can be used to deploy these forms to collect the data.

The proprietary form fields provided by TX Text Control are fully integrated into the document and into the overall workflow of the document. Fields can contain conditional logic (instructions) to validate and automate the contents of form fields and can be inserted directly into a document.

TX Text Control form fields are compatible with other industry standards such as AcroForms, legacy MS Word forms, and content controls. This article shows how to load and save these form fields using TX Text Control.

### MS Word Form Fields

MS Word supports two types of form fields. Legacy form fields, as the name implies, are from older versions of MS Word such as MS Word 97, but are still compatible and usable in newer versions. On the other hand, content control form fields are the modern version of the form fields in MS Word.

Both of these types can be imported into the TX Text Control when you load the RTF, DOC, or DOCX (Office Open XML) document types. They will be converted to proprietary TX Text Control form fields.

When loading a document, the ApplicationFieldFormat property can be used to specify how a field is imported. There are three relevant options that can be specified when importing fields:

- **None**  
    Text fields supported by other applications are not imported as ApplicationFields. Form fields are imported as TX Text Control FormFields.
- **MSWord**  
    Fields that are supported and defined by Microsoft Word are imported as ApplicationFields. The ApplicationFieldTypeNames property can be used to select specific types of fields.
- **MSWordTXFormFields**  
    Fields that are supported and defined by Microsoft Word are imported as ApplicationFields, with the exception of form fields. Form fields such as combo boxes, check boxes, and form text fields are imported as TX Text Control FormFields.

These two types can be loaded as proprietary form fields or as ApplicationFields. The list below shows the different settings and the result:

| Field | Document Format | Imported as ( LoadSettings) |
|---|---|---|
| None | MSWord | MSWordTXFormFields |
| Content Control | MSWord, WordprocessingML, RichTextFormat | FormFields | ApplicationField | FormFields |
| Legacy Form Fields | MSWord, WordprocessingML, RichTextFormat | FormFields | ApplicationField | FormFields |

#### Loading Form Fields

The following code shows how to load the document with legacy and content control form fields that are automatically converted to TX Text Control fields:

```
TXTextControl.LoadSettings loadSettings = new TXTextControl.LoadSettings()
{
  ApplicationFieldFormat = TXTextControl.ApplicationFieldFormat.MSWordTXFormFields
};

using (TXTextControl.ServerTextControl serverTextControl = 
  new TXTextControl.ServerTextControl())
{
  serverTextControl.Create();
  serverTextControl.Load("contentcontrols.docx", 
    TXTextControl.StreamType.WordprocessingML, loadSettings);

  foreach (FormField ff in serverTextControl.FormFields)
  {
    Console.WriteLine(ff.Text);
  }
}
```

When the document is loaded, the form fields are converted to TX Text Control form fields. The FormField collection can be used to access and manipulate these fields.

> **Learn More**
> 
> This article shows how to work with content controls in MS Word documents using TX Text Control in C#. Content controls are used to create structured documents and forms. This article shows how to import and process content controls in MS Word documents using TX Text Control.
> 
> [Working with Content Controls in MS Word Documents using TX Text Control in C# ](https://www.textcontrol.com/blog/2024/03/04/working-with-content-controls-in-ms-word-documents-using-tx-text-control-in-c-sharp/llms-full.txt)

#### Saving Form Fields

When saving the document, the form fields are saved as proprietary TX Text Control form fields when saving in the internal TX Text Control format. When exporting to MS Word formats, different form field types are exported:

| Format | Form Field Type |
|---|---|
| Office Open Xml (DOCX) | Content Control |
| MS Word (DOC) | Legacy Form Field |
| Rich Text Format (RTF) | Legacy Form Field |

### PDF AcroForms

AcroForms are a feature of the PDF file format that allows for the creation of forms within PDF documents. These forms can contain form fields such as text fields, check boxes, radio buttons, and drop-down lists.

> **Learn More**
> 
> TX Text Control can be used for the creation and processing of PDF form fields. This article shows how to create, select, flatten, and extract form fields in PDF documents.
> 
> [Create, Pre-Select, Flatten and Extract PDF Form Fields using C# ](https://www.textcontrol.com/blog/2023/08/14/create-preselect-flatten-and-extract-pdf-form-fields-using-csharp/llms-full.txt)

#### Exporting AcroForms

When exporting documents with form fields to PDF, these fields are exported in the form of Acroforms automatically. All supported form field types are exported to the corresponding AcroForms type, including field names and content values.

Have a look at the following document in TX Text control, which is shown in the screenshot below:

![Forms with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/04/04/a/assets/forms1.webp "Forms with TX Text Control")

When exporting this document to PDF, the form fields are exported as AcroForms:

![Forms with TX Text Control](https://s1-www.textcontrol.com/assets/dist/blog/2024/04/04/a/assets/forms2.webp "Forms with TX Text Control")

#### Importing AcroForms

Interactive forms in Adobe PDF format - also known as AcroForm - are a de facto standard for processing PDF forms. The forms can be created and exported using the TX Text Control, allowing the end user to fill in the form fields in Acrobat Reader or other applications.

In order to collect results from completed documents, the TX Text Control allows you to extract data from form fields.

The following code shows how to get all the AcroForm fields from the above sample PDF document using the GetAcroFormFields method, which accepts filenames and byte arrays.

```
FormField[] acroForms = Forms.GetAcroFormFields("lease_agreement.pdf");

foreach (FormField field in acroForms) {
    switch (field) {
        case FormTextField textField:
            Console.WriteLine("Field \"{0}\" extracted: {1}",
                textField.FieldName,
                textField.Value);
            break;

        case FormCheckBox checkBoxField:
            Console.WriteLine("Field \"{0}\" extracted: {1}",
                checkBoxField.FieldName,
                checkBoxField.IsChecked.ToString());
            break;

        case FormComboBox comboBoxField:
            Console.WriteLine("Field \"{0}\" extracted. Selected value: {1}",
                comboBoxField.FieldName,
                comboBoxField.Value);

            foreach (var item in comboBoxField.Options) {
                Console.WriteLine(" -> Option: {0}", item);
            }

            break;
    }
}
```

The output lists all completed form fields including the name and possible drop-down options:

```
Field "insurance_date" extracted: 1/1/2020
Field "insurance_name" extracted: Health Providers
Field "insurance_check" extracted: True
Field "notes" extracted: Thanks for your business.
Field "insurance_state" extracted. Selected value: North Carolina
 -> Option: Georgia
 -> Option: California
 -> Option: North Carolina
```

### Conclusion

TX Text Control form fields are fully integrated into the document and into the overall workflow of the document. Fields can contain conditional logic (instructions) to validate and automate the contents of form fields and can be inserted directly into a document.

TX Text Control form fields are compatible with other industry standards such as AcroForms, legacy MS Word forms, and content controls. This article showed how to load and save these form fields using TX Text Control.

---

## About Bjoern Meyer

As CEO, Bjoern is the visionary behind our strategic direction and business development, bridging the gap between our customers and engineering teams. His deep passion for coding and web technologies drives the creation of innovative products. If you're at a tech conference, be sure to stop by our booth - you'll most likely meet Bjoern in person. With an advanced graduate degree (Dipl. Inf.) in Computer Science, specializing in AI, from the University of Bremen, Bjoern brings significant expertise to his role. In his spare time, Bjoern enjoys running, paragliding, mountain biking, and playing the piano.

- [LinkedIn](https://www.linkedin.com/in/bjoernmeyer/)
- [X](https://x.com/txbjoern)
- [GitHub](https://github.com/bjoerntx)

---

## Related Posts

- [Comments JavaScript API: Useful Tips and Tricks](https://www.textcontrol.com/blog/2024/04/01/comments-javascript-api-useful-tips-and-tricks/llms.txt)
- [Integrating Document Lifecycle Management with ASP.NET Core and C#](https://www.textcontrol.com/blog/2024/03/29/integrating-document-lifecycle-management-with-asp-net-core-and-c-sharp/llms.txt)
- [Building an ASP.NET Core Backend Application to Host the Document Editor and Document Viewer](https://www.textcontrol.com/blog/2024/03/14/building-an-asp-net-core-backend-application-to-host-the-document-editor-and-document-viewer/llms.txt)
- [Healthcare Use Case: Digital Forms Workflow with Electronic Signatures](https://www.textcontrol.com/blog/2023/03/15/healthcare-use-case-digital-forms-workflow-with-electronic-signatures/llms.txt)
- [Converting DOCX Form Fields to Smart HTML Forms](https://www.textcontrol.com/blog/2021/09/06/converting-docx-form-fields-to-smart-html-forms/llms.txt)
- [DocumentViewer: Deploying Forms](https://www.textcontrol.com/blog/2021/07/02/document-viewer-deploying-forms/llms.txt)
- [Creating Adobe PDF Forms in C#](https://www.textcontrol.com/blog/2021/02/10/creating-adobe-pdf-forms-in-csharp/llms.txt)
- [Creating Pre-Completed Forms Automatically](https://www.textcontrol.com/blog/2020/04/21/creating-pre-completed-forms-automatically/llms.txt)
