# PDF Forms

> Work with interactive PDF forms in TX Text Control .NET Server: create AcroForms, import form data, export XFDF and flatten filled forms for archiving.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > PDF Processing > PDF Forms
- **697 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/llms-full.txt

---

Order forms, applications and consent forms often travel as PDF documents that recipients fill in with a PDF reader and send back. TX Text Control .NET Server creates such interactive forms from the form fields of a document, reads the values of the forms that come back and turns filled forms into documents with fixed values. Developers who automate these steps on the server find the complete cycle here, from the first fillable PDF to the archived result.

Form fields as elements of a document, and the code that inserts them, are covered in [Form Fields](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-processing/form-fields/llms-full.txt) in Document Processing. Users design forms in the [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-editor/form-fields/llms-full.txt) and fill them in the [Document Viewer](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-viewer/form-fields/llms-full.txt).

### How PDF Forms Work in TX Text Control

A PDF form goes through these steps:

1. **Design.** A template contains form fields: text boxes, check boxes, drop-down lists, combo boxes and date fields, created in code, in MS Word or in the Document Editor.
2. **Create.** Saved with `StreamType.AdobePDF`, the form fields become AcroForm fields, the interactive fields of the PDF format, with their names and values. A mail merge can fill in values beforehand.
3. **Fill in.** Users fill in the form in Adobe Acrobat Reader, in a browser or in the Document Viewer.
4. **Read.** `Forms.GetAcroFormFields` returns the fields of the returned PDF with their values, which your code stores as JSON, in a data model or as XFDF.
5. **Finalize.** The values go into your template of the form, the form fields are flattened into text and the document is archived as PDF/A or signed.

TX Text Control reads the form fields of existing PDF documents but doesn't write values into them. A PDF with new or changed values is always created from a template.

### Find the Right Page

| If you want to | Read |
|---|---|
| Create a fillable PDF from form fields or a DOCX form, and understand the classes of PDF form fields | [AcroForms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/acroforms/llms-full.txt) |
| Read the values of filled PDF forms, accept uploaded forms and fill a template with the values | [Import Form Data](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/import-data/llms-full.txt) |
| Exchange form values as XFDF files | [Export XFDF](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/export-xfdf/llms-full.txt) |
| Replace form fields with their values before a document is archived, sent or signed | [Flatten Forms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/flatten/llms-full.txt) |

### Where to Start

1. [Form Fields](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-processing/form-fields/llms-full.txt): create the form fields of a template, if you haven't worked with them yet.
2. [AcroForms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/acroforms/llms-full.txt): what a fillable PDF contains.
3. [Import Form Data](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/import-data/llms-full.txt): get the values back into your application.
4. [Flatten Forms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/flatten/llms-full.txt): finish the document.

### Related Sections

- [PDF Processing](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/llms-full.txt): protect, archive and validate the PDF documents that contain your forms.
- [Mail Merge and Reporting](https://docs.textcontrol.com/tx-text-control-dotnet-server/mail-merge/llms-full.txt): fill form templates with data.
- [Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-server/digital-signatures/llms-full.txt): sign completed forms.

---

## In This Section

- [AcroForms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/acroforms/llms-full.txt): Create fillable PDF forms from form fields and DOCX templates, protect them with permissions and read them with the AcroForms classes of GetAcroFormFields.
- [Export XFDF](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/export-xfdf/llms-full.txt): Export the values of PDF forms as XFDF with GetAcroFormFields and System.Xml.Linq, and fill a TX Text Control form template from an XFDF file again.
- [Flatten Forms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/flatten/llms-full.txt): Flatten form fields into static text with ServerTextControl: selected fields or field types, during a merge with Replace, before signing and in the browser.
- [Import Form Data](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/import-data/llms-full.txt): Extract the values of filled PDF forms with Forms.GetAcroFormFields: field types, JSON and C# models, ASP.NET Core uploads and filling a form template again.

---

## Nearby

- **Previous:** [PDF/UA](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/pdf-ua/llms-full.txt)
- **Next:** [AcroForms](https://docs.textcontrol.com/tx-text-control-dotnet-server/pdf/forms/acroforms/llms-full.txt)
