# What's New in TX Text Control .NET Server 31.0

> TX Text Control .NET Server 31.0: signature fields, mail merge cultures, DataSourceManager MergeSettings, a customizable Document Editor context menu.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > What's New > What's New in TX Text Control .NET Server 31.0
- **6162 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3100/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3100/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3100/llms-full.txt

---

Signature fields, which mark where a document is signed, and separate cultures for reading and formatting merge data are what version 31.0 added to TX Text Control .NET Server. Developers who maintain an application on 31.0, or who plan a step up from it, get its additions over version 30.0 in full, down to the events a handler can react to.

Version 31.0 was released in September 2022, together with TX Text Control .NET for Windows Forms, TX Text Control .NET for WPF, TX Text Control ActiveX and TX Spell .NET 10.0. The current version is [Version 34.0](https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3400/llms-full.txt). The changes of the 31.0 service packs are listed on [Service Packs](https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/service-packs/llms-full.txt).

### Version 31.0 at a Glance

| Area | What is new |
|---|---|
| Signatures | Signature fields that hold a signature image and can be signed with a certificate in PDF documents |
| Mail merge | Cultures for parsing the data and formatting the result, merge settings for `DataSourceManager` |
| Document Editor | A customizable context menu, signature fields, built-in dialog boxes and appending documents in the JavaScript API |
| .NET | .NET 5, .NET 6 and .NET 7, NuGet packages in the Text Control Offline Packages source |

### Signature Fields

A signature field is a frame in the document that holds the image of a signature, and in a PDF document a named signature field can be signed with a digital certificate. Version 31.0 adds signature fields to documents and to the API: [ServerTextControl.SignatureFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/signaturefields-property/llms-full.txt) returns the [SignatureFieldCollection](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldcollection/llms-full.txt) with a [SignatureField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefield/llms-full.txt) object for each field, whose [SignatureImage](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/llms-full.txt) holds the image and whose [SignerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/llms-full.txt) describes the expected signer. [SaveSettings.SignatureFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/savesettings/signaturefields-property/llms-full.txt) associates a certificate with each field when a PDF is saved. The export properties of `SignatureImage`, such as [ExportFilterIndex](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/exportfilterindex-property/llms-full.txt) and [ExportMaxResolution](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/exportmaxresolution-property/llms-full.txt), decide how the image is written when the document is saved, and the events [SignatureFieldCreated](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/signaturefieldcreated-event/llms-full.txt) and [SignatureFieldDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/signaturefielddeleted-event/llms-full.txt) of `ServerTextControl` report inserted and deleted fields. [Signature Fields](https://docs.textcontrol.com/tx-text-control-dotnet-server/digital-signatures/signature-fields/llms-full.txt) describes positions, images, signer data and file formats in detail.

When the Document Viewer shows a document, its signature fields become the places where users sign. Before 31.0, the viewer used a text frame with a specific name for this.

[Digitally Sign a PDF](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/pdf/sign/#sign-signature-fields) shows the code that inserts a signature field and signs it with a certificate. The blog article [Requesting Electronic Signatures using TX Text Control 31.0](https://www.textcontrol.com/blog/2022/08/18/requesting-electronic-signatures-using-tx-text-control-310/) shows the workflow from the Document Editor to the signed PDF.

### Mail Merge Cultures

The number and date formats of the data can differ from the formats the merged document should show. Version 31.0 lets you set a culture for each side.

[MailMerge.DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/datasourceculture-property/llms-full.txt) parses the number and date values of the data source, and [MailMerge.MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/mergeculture-property/llms-full.txt) formats them in the result. Both default to the culture of the current thread. The fields `MergeField`, `IfField` and `NextIfField` got their own `DataSourceCulture` and `MergeCulture`, and `IfField` and `NextIfField` compare numbers with the data source culture. `DateField` got a `Culture` for its format string, the sorting and filtering instructions of merge blocks a `Culture` that defaults to the invariant culture, and `MailMerge` a [DateFieldUtcOffset](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/datefieldutcoffset-property/llms-full.txt) in minutes, which uses the local date and time when it is `null`. [Parse Numbers and Dates With the Right Culture](https://docs.textcontrol.com/tx-text-control-dotnet-server/mail-merge/data-sources/#parse-numbers-and-dates-with-the-right-culture) shows the two `MailMerge` properties in code, [Merge Fields](https://docs.textcontrol.com/tx-text-control-dotnet-server/mail-merge/fields/#format-numbers-and-dates) the properties of the fields and [Sorting and Filtering](https://docs.textcontrol.com/tx-text-control-dotnet-server/mail-merge/sorting-filtering/llms-full.txt) those of the instructions.

#### DataSourceManager

[DataSourceManager](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/llms-full.txt) handles the data sources of a mail merge. In version 31.0, it received:

- the properties [DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/datasourceculture-property/llms-full.txt) and [MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/mergeculture-property/llms-full.txt)
- [MaxMergeResults](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/maxmergeresults-property/llms-full.txt), the maximum number of merge results
- the events [DataRowMerged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/datarowmerged-event/llms-full.txt) and [FieldMerged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/fieldmerged-event/llms-full.txt)
- the class [MergeSettings](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/llms-full.txt), which passes additional settings to `DataSourceManager.Merge`: whether the results are merged into a single document, and whether empty blocks, fields, images and lines and trailing whitespace are removed

### Document Editor

The [Document Editor](https://docs.textcontrol.com/tx-text-control-dotnet-server/overview/components/document-editor/llms-full.txt) is the WYSIWYG word processor that you embed in your web application. Version 31.0 extends its JavaScript API.

- **Customizable context menu.** Before the editor shows a context menu, it raises the `contextMenuOpening` event, which you attach with [addEventListener](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/addeventlistener-method/llms-full.txt). The handler receives [ContextMenuEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenueventargs/llms-full.txt) and can add, remove and change the menu items before the menu opens, or cancel the menu. Each [ContextMenuItem](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/llms-full.txt) has a text, an image, child items, a checked and an enabled state and a click handler. The `location` property tells where the menu was opened, as a combination of [ContextMenuLocation](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/contextmenulocation-enumeration/llms-full.txt) values such as `Table`, `Header` or `MisspelledWord`. See [Context Menus](https://docs.textcontrol.com/tx-text-control-dotnet-server/document-editor/ribbon-ui/context-menus/llms-full.txt).
- **Signature fields.** Users insert signature fields with the **Signature Field** button on the **Insert** ribbon tab and enter the signer data on the **Frame Formatting** tab. In the JavaScript API, [TXTextControl.signatureFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/signaturefields-property/llms-full.txt) returns a [SignatureFieldCollection](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/llms-full.txt) with methods to add fields inline, anchored or at a fixed position. A [SignatureImage](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/llms-full.txt) object sets the export settings of the signature image with [setExportCompressionQuality](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/setexportcompressionquality-method/llms-full.txt) and [setExportMaxResolution](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/setexportmaxresolution-method/llms-full.txt). The editor raises the events `signatureFieldCreated`, `signatureFieldDeleted`, `signatureFieldSelected` and `signatureFieldDeselected`.
- **Built-in dialog boxes.** [showDialog](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/showdialog-method/llms-full.txt) opens a dialog box of the editor, such as the font, paragraph, table or table of contents dialog. The dialog boxes are the values of [DialogBoxKind](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/dialogboxkind-enumeration/llms-full.txt).
- **Append documents.** [append](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/append-method/llms-full.txt) adds a document to the end of the current one. A value of [AppendSettings](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/appendsettings-enumeration/llms-full.txt) decides whether it starts in the last paragraph, a new paragraph or a new section.
- **Form fields.** [setIsFormFieldValidationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/setisformfieldvalidationenabled-method/llms-full.txt) turns the validation of form fields on or off. [FormField.setEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/formfield/setenabled-method/llms-full.txt) enables or disables a single form field. It takes effect in the `ReadAndSelect` edit mode when the editing of form fields is allowed.

The blog article [Sneak Peek 31.0: Customizing the Context Menu of the ASP.NET Document Editor](https://www.textcontrol.com/blog/2022/08/25/sneak-peek-310-customizing-the-context-menu-of-the-aspnet-document-editor/) shows the context menu event with examples.

### Other API Additions

- **TextViewGenerator events.** [ServerVisualization.TextViewGenerator](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/llms-full.txt), a `ServerTextControl` that shows its text as a generated image, has the new events [FormFieldSettingsChanged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/formfieldsettingschanged-event/llms-full.txt), [SignatureFieldSelected](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/signaturefieldselected-event/llms-full.txt) and [SignatureFieldDeselected](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/signaturefielddeselected-event/llms-full.txt). `FormFieldSettingsChanged` passes a [FormFieldEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/formfieldeventargs/llms-full.txt) object with the form field whose name, ID or formatting changed.
- **Load and save settings.** The new abstract class [LoadSaveSettingsBase](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsavesettingsbase/llms-full.txt) is the base class of [LoadSettings](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsettings/llms-full.txt) and [SaveSettings](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/savesettings/llms-full.txt). It provides [DocumentBasePath](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsavesettingsbase/documentbasepath-property/llms-full.txt), the base path saved in the document that resolves relative file paths, and the new [DefaultStreamType](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsavesettingsbase/defaultstreamtype-property/llms-full.txt), the file format that the **Open** and **Save As** dialog boxes preselect.
- **Form field dialog box.** [FormField.FormFieldDialog](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/formfield/formfielddialog-method/llms-full.txt) opens a dialog box that changes the formatting attributes of a form field.

The What's New documentation of version 31.0 describes `DefaultStreamType` and `FormFieldDialog` together with the built-in dialog boxes of the Windows Forms and WPF `TextControl`.

### .NET and Packages

- **.NET versions.** Version 31.0 supports .NET 5, .NET 6 and .NET 7, which was a preview at the time of the release, with NuGet packages for ASP.NET. Text Control announced support for the final release of .NET 7 in November 2022.
- **Text Control Offline Packages.** The setup adds a NuGet package source named Text Control Offline Packages that contains the NuGet packages of the Text Control components. The packages configure the references and the license automatically. See [Offline Packages](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/nuget/offline-packages/llms-full.txt).
- **Licensing without BinaryFormatter.** In version 30.0, compiling the license into an assembly required the obsolete .NET `BinaryFormatter` to be enabled. Version 31.0 no longer requires it.

### New Classes and Members

The What's New documentation of version 31.0 lists these classes, properties, methods and events as new in TX Text Control .NET Server, grouped by class. Each name leads to its reference page.

#### .NET API

- [DocumentServer.DataShaping.FilterInstruction](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datashaping/filterinstruction/llms-full.txt): [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datashaping/filterinstruction/culture-property/llms-full.txt)
- [DocumentServer.DataShaping.SortingInstruction](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datashaping/sortinginstruction/llms-full.txt): [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datashaping/sortinginstruction/culture-property/llms-full.txt)
- [DocumentServer.DataSources.DataSourceManager](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/llms-full.txt): [DataRowMerged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/datarowmerged-event/llms-full.txt), [DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/datasourceculture-property/llms-full.txt), [FieldMerged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/fieldmerged-event/llms-full.txt), [MaxMergeResults](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/maxmergeresults-property/llms-full.txt), [MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/datasourcemanager/mergeculture-property/llms-full.txt)
- [DocumentServer.DataSources.MergeSettings](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/llms-full.txt) (new class): [AsSingleDocument](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/assingledocument-property/llms-full.txt), [RemoveEmptyBlocks](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/removeemptyblocks-property/llms-full.txt), [RemoveEmptyFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/removeemptyfields-property/llms-full.txt), [RemoveEmptyImages](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/removeemptyimages-property/llms-full.txt), [RemoveEmptyLines](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/removeemptylines-property/llms-full.txt), [RemoveTrailingWhitespace](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-datasources/mergesettings/removetrailingwhitespace-property/llms-full.txt)
- [DocumentServer.Fields.DateField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/datefield/llms-full.txt): [Culture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/datefield/culture-property/llms-full.txt)
- [DocumentServer.Fields.IfField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/iffield/llms-full.txt): [DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/iffield/datasourceculture-property/llms-full.txt), [MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/iffield/mergeculture-property/llms-full.txt)
- [DocumentServer.Fields.MergeField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/mergefield/llms-full.txt): [DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/mergefield/datasourceculture-property/llms-full.txt), [MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/mergefield/mergeculture-property/llms-full.txt)
- [DocumentServer.Fields.NextIfField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/nextiffield/llms-full.txt): [DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/nextiffield/datasourceculture-property/llms-full.txt), [MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver-fields/nextiffield/mergeculture-property/llms-full.txt)
- [DocumentServer.MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt): [DataSourceCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/datasourceculture-property/llms-full.txt), [DateFieldUtcOffset](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/datefieldutcoffset-property/llms-full.txt), [MergeCulture](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-documentserver/mailmerge/mergeculture-property/llms-full.txt)
- [FormField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/formfield/llms-full.txt): [FormFieldDialog](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/formfield/formfielddialog-method/llms-full.txt)
- [FormFieldEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/formfieldeventargs/llms-full.txt) (new class): [FormField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/formfieldeventargs/formfield-property/llms-full.txt)
- [LoadSaveSettingsBase](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsavesettingsbase/llms-full.txt) (new class): [DefaultStreamType](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsavesettingsbase/defaultstreamtype-property/llms-full.txt), [DocumentBasePath](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/loadsavesettingsbase/documentbasepath-property/llms-full.txt)
- [SaveSettings](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/savesettings/llms-full.txt): [SignatureFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/savesettings/signaturefields-property/llms-full.txt)
- [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/llms-full.txt): [OnSignatureFieldCreated](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/onsignaturefieldcreated-method/llms-full.txt), [OnSignatureFieldDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/onsignaturefielddeleted-method/llms-full.txt), [SignatureFieldCreated](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/signaturefieldcreated-event/llms-full.txt), [SignatureFieldDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/signaturefielddeleted-event/llms-full.txt), [SignatureFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/servertextcontrol/signaturefields-property/llms-full.txt)
- [ServerVisualization.TextViewGenerator](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/llms-full.txt): [FormFieldSettingsChanged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/formfieldsettingschanged-event/llms-full.txt), [OnFormFieldSettingsChanged](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/onformfieldsettingschanged-method/llms-full.txt), [OnSignatureFieldDeselected](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/onsignaturefielddeselected-method/llms-full.txt), [OnSignatureFieldSelected](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/onsignaturefieldselected-method/llms-full.txt), [SignatureFieldDeselected](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/signaturefielddeselected-event/llms-full.txt), [SignatureFieldSelected](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol-servervisualization/textviewgenerator/signaturefieldselected-event/llms-full.txt)
- [SignatureField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefield/llms-full.txt) (new class): [Image](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefield/image-property/llms-full.txt), [SignerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefield/signerdata-property/llms-full.txt)
- [SignatureFieldCollection](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldcollection/llms-full.txt) (new class): [Add](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldcollection/add-method/llms-full.txt), [CopyTo](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldcollection/copyto-method/llms-full.txt), [GetItem](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldcollection/getitem-method/llms-full.txt), [Remove](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldcollection/remove-method/llms-full.txt)
- [SignatureFieldEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldeventargs/llms-full.txt) (new class): [SignatureField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signaturefieldeventargs/signaturefield-property/llms-full.txt)
- [SignatureImage](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/llms-full.txt) (new class): [ExportCompressionQuality](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/exportcompressionquality-property/llms-full.txt), [ExportFileName](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/exportfilename-property/llms-full.txt), [ExportFilterIndex](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/exportfilterindex-property/llms-full.txt), [ExportMaxResolution](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/exportmaxresolution-property/llms-full.txt), [FileName](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/filename-property/llms-full.txt), [FilterIndex](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/filterindex-property/llms-full.txt), [SaveMode](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signatureimage/savemode-property/llms-full.txt)
- [SignerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/llms-full.txt) (new class): [Address](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/address-property/llms-full.txt), [ContactInfo](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/contactinfo-property/llms-full.txt), [Name](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/name-property/llms-full.txt), [Reason](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/reason-property/llms-full.txt), [Title](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/signerdata/title-property/llms-full.txt)

#### Document Editor JavaScript API

- [ContextMenuEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenueventargs/llms-full.txt): [cancel](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenueventargs/cancel-property/llms-full.txt), [items](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenueventargs/items-property/llms-full.txt), [location](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenueventargs/location-property/llms-full.txt)
- [ContextMenuItem](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/llms-full.txt): [clickHandler](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/clickhandler-property/llms-full.txt), [dropDownIsScrollable](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/dropdownisscrollable-property/llms-full.txt), [imageUrl](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/imageurl-property/llms-full.txt), [isChecked](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/ischecked-property/llms-full.txt), [isEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/isenabled-property/llms-full.txt), [items](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/items-property/llms-full.txt), [text](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitem/text-property/llms-full.txt)
- [ContextMenuItemClickEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitemclickeventargs/llms-full.txt): [cancel](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitemclickeventargs/cancel-property/llms-full.txt), [item](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/contextmenuitemclickeventargs/item-property/llms-full.txt)
- [FormField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/formfield/llms-full.txt): [getEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/formfield/getenabled-method/llms-full.txt), [setEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/formfield/setenabled-method/llms-full.txt)
- [SignatureField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefield/llms-full.txt): [getSignerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefield/getsignerdata-method/llms-full.txt), [image](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefield/image-property/llms-full.txt), [setImage](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefield/setimage-method/llms-full.txt), [setSignerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefield/setsignerdata-method/llms-full.txt)
- [SignatureFieldCollection](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/llms-full.txt): [addAnchored](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/addanchored-method/llms-full.txt), [addAnchoredAtLocation](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/addanchoredatlocation-method/llms-full.txt), [addAtFixedPositionInDocument](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/addatfixedpositionindocument-method/llms-full.txt), [addAtFixedPositionOnPage](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/addatfixedpositiononpage-method/llms-full.txt), [addInline](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/addinline-method/llms-full.txt), [addWithMouse](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/addwithmouse-method/llms-full.txt), [getItem](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/getitem-method/llms-full.txt), [getItemByName](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/getitembyname-method/llms-full.txt), [remove](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldcollection/remove-method/llms-full.txt)
- [SignatureFieldEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldeventargs/llms-full.txt): [signatureField](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldeventargs/signaturefield-property/llms-full.txt)
- [SignatureFieldInfo](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldinfo/llms-full.txt): [image](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldinfo/image-property/llms-full.txt), [signerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signaturefieldinfo/signerdata-property/llms-full.txt)
- [SignatureImage](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/llms-full.txt): [getExportCompressionQuality](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/getexportcompressionquality-method/llms-full.txt), [getExportMaxResolution](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/getexportmaxresolution-method/llms-full.txt), [setExportCompressionQuality](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/setexportcompressionquality-method/llms-full.txt), [setExportMaxResolution](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimage/setexportmaxresolution-method/llms-full.txt)
- [SignatureImageInfo](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimageinfo/llms-full.txt): [exportCompressionQuality](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimageinfo/exportcompressionquality-property/llms-full.txt), [exportMaxResolution](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signatureimageinfo/exportmaxresolution-property/llms-full.txt)
- [SignerData](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signerdata/llms-full.txt): [address](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signerdata/address-property/llms-full.txt), [contactInfo](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signerdata/contactinfo-property/llms-full.txt), [name](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signerdata/name-property/llms-full.txt), [reason](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signerdata/reason-property/llms-full.txt), [title](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/signerdata/title-property/llms-full.txt)
- [TXTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/llms-full.txt): [append](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/append-method/llms-full.txt), [getIsFormFieldValidationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/getisformfieldvalidationenabled-method/llms-full.txt), [setIsFormFieldValidationEnabled](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/setisformfieldvalidationenabled-method/llms-full.txt), [showDialog](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/showdialog-method/llms-full.txt), [signatureFields](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/javascript/txtextcontrol/signaturefields-property/llms-full.txt)

### Upgrade to Version 31.0

- **No update notes.** The What's New documentation of version 31.0 lists no changes to existing classes, properties, methods or events.
- **Changes to plan for.** [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/upgrading/breaking-changes/#version-31-0) describes the .NET versions and the NuGet packages of 31.0.
- **Upgrade steps.** [Migrating from Previous Versions](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/upgrading/previous-versions/#from-assembly-references-to-nuget-packages) describes how a project moves from assembly references to the NuGet packages.

### Next Steps

- [Version 32.0](https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3200/llms-full.txt): the features of the next version.
- [Version 30.0](https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3000/llms-full.txt): the features of the previous version.
- [Digitally Sign a PDF](https://docs.textcontrol.com/tx-text-control-dotnet-server/getting-started/pdf/sign/llms-full.txt): insert signature fields and sign them with a certificate.
- [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/upgrading/breaking-changes/llms-full.txt): the changes that can require work when you upgrade.

---

## Nearby

- **Previous:** [What's New in TX Text Control .NET Server 32.0](https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3200/llms-full.txt)
- **Next:** [What's New in TX Text Control .NET Server 30.0](https://docs.textcontrol.com/tx-text-control-dotnet-server/whats-new/3000/llms-full.txt)
