# What's New in TX Text Control .NET for WPF 34.0

> TX Text Control .NET for WPF 34.0 tags every PDF for PDF/UA, saves PDF/A-3a and adds DescriptiveText, WPF ribbon tab items, FrameMergedEventArgs and .NET 10.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > What's New > What's New in TX Text Control .NET for WPF 34.0
- **2531 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/3400/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/3400/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/3400/llms-full.txt

---

Every PDF document that TX Text Control .NET for WPF 34.0 saves is tagged for accessibility, and new properties and ribbon items give its elements the descriptive texts that screen readers need. What follows lists the features, classes, properties and events the version added since 33.0, each linked to the reference member or the page that describes it.

Version 34.0 was released in November 2025 and is the current major version. Text Control released TX Text Control .NET Server, TX Text Control .NET for Windows Forms and TX Text Control ActiveX 34.0 at the same time. Service Pack 5, released on September 14, 2026, is its latest update; [Service Packs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/service-packs/llms-full.txt) lists all of them.

### Version 34.0 at a Glance

| Area | What is new |
|---|---|
| PDF | Tagged PDF documents for PDF/UA and PDF/A-3a, descriptive texts for links, form fields, tables and frames |
| Ribbon | Items to enter the descriptive text of form fields, frames and tables, and a new table properties group |
| Mail merge | The `FrameMergedEventArgs` base class and the descriptive text of merged images |
| .NET | .NET 8, .NET 9 and .NET 10, Visual Studio 2022 and Visual Studio 2026 |

### PDF Accessibility and Archiving

Version 34.0 changes the structure of the PDF documents that TX Text Control writes. Your existing code produces the new structure without changes. What TX Text Control can't produce on its own are the descriptive texts of your content, and version 34.0 adds the properties to set them.

- **Tagged PDF.** A PDF document now contains a logical structure in addition to its visible content, stored apart from it, so the order of its elements doesn't depend on where the objects are placed on the page.
- **PDF/UA by default.** PDF documents contain the tags and metadata that PDF/UA, the standard for documents read with assistive technologies, requires. Whether a document fully complies depends on its content: an image without a descriptive text, for example, can't be read aloud.
- **PDF/A-3a.** `StreamType.AdobePDFA` writes PDF/A-3a instead of PDF/A-1b. See [PDF/A](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/pdf-a/llms-full.txt).
- **Descriptive texts.** Five new `DescriptiveText` properties, of `HypertextLink`, `DocumentLink`, `FormField`, `Table` and `FrameBase`, describe elements that a screen reader can't read from the text itself. `FrameBase` covers every frame: images, text frames, signature fields, charts, barcodes and drawings. An empty string means that the element has no descriptive text.

[Create an Accessible PDF (PDF/UA)](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/creation-conversion/#create-an-accessible-pdf-pdf-ua) shows which property describes which element, with code that checks a document before it's saved. The blog article [PDF/UA vs. PDF/A-3a: Which Format Should You Use for Your Business Application?](https://www.textcontrol.com/blog/2025/10/24/pdf-ua-vs-pdf-a-3a-which-format-should-you-use-for-your-business-application/) compares the two standards.

### Descriptive Texts in the Ribbon

Users set descriptive texts in the ribbon as well. Version 34.0 adds these values to the `RibbonItem` enumerations of three ribbon tabs, which identify the new items:

| Ribbon tab | New items |
|---|---|
| [RibbonFormFieldsTab](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbonformfieldstab/llms-full.txt) | `TXITEM_FormFieldDescriptiveText`, with its image `TXITEM_FormFieldDescriptiveText_Image`, see [RibbonFormFieldsTab.RibbonItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbonformfieldstab/ribbonitem-enumeration/llms-full.txt) |
| [RibbonFrameLayoutTab](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbonframelayouttab/llms-full.txt) | `TXITEM_ObjectDescriptiveText`, with `TXITEM_ObjectDescriptiveText_Image` and `TXITEM_ObjectDescriptiveText_TextBox`, for images, text frames, drawings and barcodes, see [RibbonFrameLayoutTab.RibbonItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbonframelayouttab/ribbonitem-enumeration/llms-full.txt) |
| [RibbonTableLayoutTab](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbontablelayouttab/llms-full.txt) | The new group `TXITEM_TablePropertiesGroup` with `TXITEM_TableID` and `TXITEM_TableDescriptiveText`, each with an `_Image` and a `_TextBox` item, see [RibbonTableLayoutTab.RibbonItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbontablelayouttab/ribbonitem-enumeration/llms-full.txt) |

The identifiers also name the resources of each item, such as its icon and text; the `_Image` items name only the icon. If your application changes the ribbon tabs in code, check it against the new items. [Built-in Ribbon Tabs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/ribbon-ui/ribbon/llms-full.txt) describes the tabs.

### Mail Merge

[MailMerge](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/llms-full.txt) creates documents from a template and data. It raises events when it has merged a barcode, a chart or an image, and version 34.0 extends the arguments of these events.

- **A base class for merged frames.** The new abstract class [FrameMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/llms-full.txt) is the base class of the event arguments that describe a frame merged during a mail merge. [BarcodeMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-barcodemergedeventargs/llms-full.txt), the argument of the [BarcodeMerged](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/barcodemerged-event/llms-full.txt) event, and [ChartMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-chartmergedeventargs/llms-full.txt), the argument of the [ChartMerged](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/chartmerged-event/llms-full.txt) event, derive from it.
- **The descriptive text of merged images.** In a handler of the [ImageMerged](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge/imagemerged-event/llms-full.txt) event, which occurs when an image has been merged, [ImageMergedEventArgs.DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/descriptivetext-property/llms-full.txt) reads the descriptive text of the image. Set the property to replace it.

`FrameMergedEventArgs` provides these properties:

| Property | Returns |
|---|---|
| [Frame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/frame-property/llms-full.txt) | The frame that has been merged |
| [DataRow](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/datarow-property/llms-full.txt) | The data row that supplied the frame with merge content |
| [MergeBlockName](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/mergeblockname-property/llms-full.txt) | The name of the merge block, a section of the template that is repeated for each record, if the frame is part of one |
| [NestingDepth](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/nestingdepth-property/llms-full.txt) | The one-based nesting depth of that merge block |
| [SubTextPartID](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/subtextpartid-property/llms-full.txt) | The ID of the [SubTextPart](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/subtextpart/llms-full.txt), a user-defined part of the document, that contains the frame, or 0 |
| [SubTextPartNumber](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/subtextpartnumber-property/llms-full.txt) | The one-based number of that subtext part, or 0 |

[Merge Events](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/mail-merge/events/llms-full.txt) covers the events of a mail merge.

### .NET and Visual Studio

- **.NET 10.** The package `TXTextControl.TextControl.WPF.SDK` targets .NET 8 and supports .NET 8, .NET 9 and .NET 10. Text Control tested version 34.0 with WPF applications on .NET 10, and existing code runs on it without changes. See [.NET and .NET Framework](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/dotnet/llms-full.txt).
- **Visual Studio 2026.** Version 34.0 supports Visual Studio 2022 and Visual Studio 2026. Text Control tested the NuGet package and the Visual Studio tooling, including the toolbox and the designers, in Visual Studio 2026. See [Visual Studio](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/requirements/visual-studio/llms-full.txt).

The blog article [Day-1 Support for .NET 10 in TX Text Control 34.0](https://www.textcontrol.com/blog/2025/11/13/dotnet-10-support-tx-text-control-34-0/) describes the tests.

### New Classes and Members

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

- [DocumentLink](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/documentlink/llms-full.txt): [DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/documentlink/descriptivetext-property/llms-full.txt)
- [DocumentServer.MailMerge.FrameMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/llms-full.txt) (new class): [DataRow](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/datarow-property/llms-full.txt), [Frame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/frame-property/llms-full.txt), [MergeBlockName](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/mergeblockname-property/llms-full.txt), [NestingDepth](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/nestingdepth-property/llms-full.txt), [SubTextPartID](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/subtextpartid-property/llms-full.txt), [SubTextPartNumber](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-framemergedeventargs/subtextpartnumber-property/llms-full.txt)
- [DocumentServer.MailMerge.ImageMergedEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/llms-full.txt): [DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-documentserver/mailmerge-imagemergedeventargs/descriptivetext-property/llms-full.txt)
- [FormField](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/formfield/llms-full.txt): [DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/formfield/descriptivetext-property/llms-full.txt)
- [FrameBase](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framebase/llms-full.txt): [DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framebase/descriptivetext-property/llms-full.txt)
- [HypertextLink](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hypertextlink/llms-full.txt): [DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hypertextlink/descriptivetext-property/llms-full.txt)
- [Table](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/table/llms-full.txt): [DescriptiveText](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/table/descriptivetext-property/llms-full.txt)

The list of the documentation also names the `HypertextLink` class and its [Target](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/hypertextlink/target-property/llms-full.txt) property, the target a hypertext link points to. Both existed before version 34.0; of `HypertextLink`, only `DescriptiveText` is new.

### Upgrade to Version 34.0

Version 34.0 changes no existing API, and its package targets .NET 8, like the 33.0 package. Test the PDF output of your application, which is now tagged. [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/breaking-changes/#version-34-0) in the Upgrade Guide lists what to check, and [Upgrading from Previous Versions](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/installation/upgrading/previous-versions/llms-full.txt) has the steps.

### Next Steps

- [Version 33.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/3300/llms-full.txt): the features of the previous version.
- [Breaking Changes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/breaking-changes/llms-full.txt): the changes that can require work when you upgrade.
- [Service Packs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/service-packs/llms-full.txt): the service packs of version 34.0.
- [Introducing TX Text Control 34.0: Your Next Leap in Document Processing](https://www.textcontrol.com/blog/2025/11/10/introducing-tx-text-control-34-0-your-next-leap-in-document-processing/): the release announcement on the Text Control Blog.

---

## Nearby

- **Previous:** [What's New](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/llms-full.txt)
- **Next:** [What's New in TX Text Control .NET for WPF 33.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/3300/llms-full.txt)
