What's New in TX Text Control .NET Server 33.0
Linux support arrived with version 33.0, together with a second document engine, a cross-platform backend for the Document Editor and components for Blazor. What follows covers the features, classes, properties, methods and events the version added since 32.0, and where each of them is documented.
Version 33.0 was released in March 2025, together with TX Text Control .NET for Windows Forms, TX Text Control .NET for WPF and TX Spell .NET 11.0. It is the version that brought TX Text Control .NET Server to Linux. The current version is Version 34.0, and the changes of the 33.0 service packs are listed on Service Packs.
Version 33.0 at a Glance
| Area | What is new |
|---|---|
| Platforms | Linux support with the new Core engine, Linux and Windows containers |
| Document Editor | A cross-platform backend, the reconnectionFailed event, a simplified status bar |
| Blazor | Document Editor and Document Viewer components for Blazor |
| Extracting the embedded files of a PDF document | |
| API | SVG-based barcode and drawing classes, subtext part information in mail merge events |
| .NET | .NET 8 and .NET 9, .NET 10 as a preview |
Linux and the Core Engine
Version 33.0 added a second engine, Core, in the new package TXTextControl.TextControl.Core.SDK. It runs on Windows and Linux with its own SVG-based rendering and a Fonts folder deployed with the application, while the original engine, now called Classic, stays in TXTextControl.TextControl.ASP.SDK for Windows. Text Control recommends Core for new applications and for applications migrated to .NET 8 or higher, and Linux support is part of the TX Text Control .NET Server license. In version 33.0, Core didn't support RTF documents and EMF images; both came with Version 34.0.
Product Architecture compares the two engines, and "From Classic to Core" in Migrating from Previous Versions describes the move of an existing application.
Where It Runs
- Linux. Text Control tested version 33.0 on Ubuntu (LTS and the latest stable version), Debian, CentOS and Ubuntu Chiseled. It runs on distributions that run the .NET runtime.
- Containers and cloud. Applications run in Microsoft's official .NET Docker images, in Linux and Windows containers, and in Azure App Service on Linux.
- Windows. Windows Server 2016, 2019 and 2025 and Windows containers.
Operating Systems lists the current requirements.
Performance
Text Control's measurements for the release showed the Core engine far ahead of Classic: a merge of JSON data into a 15-page template took 8.5 seconds and more with version 32.0 on Windows and 1 second and less with version 33.0 on Linux, as the blog article Hello Linux! Almost There - A Game-Changer for Document Processing shows. Use the Core Engine in Performance lists the benchmarks that compare single operations of Classic and Core.
Document Editor
The Document Editor is the WYSIWYG word processor that you embed in your web application. It needs a backend process that renders the document on the server.
- Cross-platform backend. Before 33.0, the backend was the TX TextControl Service, a Windows service. In ASP.NET Core applications, version 33.0 replaced it with
TXTextControl.Web.Server.Core, a .NET 8 application that runs on Windows and Linux: standalone, as a Windows service, as a Linux daemon or in a container. By default, it listens on TCP port 4282, and its configuration file TXTextControl.Web.Server.Core.config.json sets the port, the IP versions and the logging. ASP.NET applications on the .NET Framework still deploy the TX TextControl Service, also in 34.0. See Product Architecture. - Failed reconnections. The editor raises the
reconnectionFailedevent when it can't reconnect to the server. Its ReconnectionFailedEventArgs contain the reason. You attach it with addEventListener. - Status bar. The status bar has no frame, no gradients and no border style anymore. StatusBarViewGeneratorColors.setSeparatorColor sets the color of its separators. The methods for the frame color, the gradient colors, the dark and light separator colors and the border style are obsolete; see Deprecated APIs.
The blog article Introducing TXTextControl.Web.Server.Core: A Cross-Platform Backend for TX Text Control Document Editor describes the backend and its deployment options.
Blazor Components
Two weeks after the release, Text Control published the packages TXTextControl.Web.Blazor.DocumentEditor and TXTextControl.Web.Blazor.DocumentViewer for version 33.0 on nuget.org. They add the Document Editor and the Document Viewer to Blazor applications with the interactive server render mode, on Windows and Linux. Your server-side C# code loads documents into the component and saves them back, without writing JavaScript. Blazor in Getting Started uses the editor component.
PDF Attachments
A PDF document can contain embedded files, for example the XML data of an electronic invoice. The new static class DocumentServer.PDF.Attachments extracts them without loading the PDF into a ServerTextControl. GetFromFile and GetFromData return each embedded file as a DocumentServer.PDF.EmbeddedFile object. Extract Attachments From a PDF shows the code.
Barcodes and Drawings
- TXBarcodeCore. Barcode.TXBarcodeCore specifies the type and format of a barcode and provides it as SVG. Call Create before you use the object. GetSVG returns the barcode as an SVG string. Load and Save read and write the barcode data, and ViewChanged occurs when a change of the barcode settings requires the barcode image to be updated.
- TXDrawingCore. Drawing.TXDrawingCore specifies the type and format of shapes and renders them as SVG. It manages its Shapes, a selection, an undo buffer and the clipboard, and GetSVG returns the shapes as an SVG string. Its other members are listed under New Classes and Members.
Mail Merge
MailMerge raises events while it merges a template. A SubTextPart is a user-defined part of a document. In version 33.0, the arguments of five events tell which subtext part the merged element belongs to, with the properties SubTextPartID and SubTextPartNumber:
| Event arguments | The subtext part |
|---|---|
| BlockMergingEventArgs | That represents the merge block |
| BlockRowMergedEventArgs | That represents the merge block |
| FieldMergedEventArgs | That contains the field, or 0 |
| FormFieldMergedEventArgs | That contains the form field, or 0 |
| ImageMergedEventArgs | That contains the image, or 0 |
SubTextPartID is the ID of the subtext part, and SubTextPartNumber its one-based number.
.NET
The assemblies of the NuGet packages are compiled for .NET 8, so they work in projects that target .NET 8 or .NET 9. Text Control tested version 33.0 with .NET 10 Preview 2 in Docker containers on Linux. Final support for .NET 10 came with version 34.0; see .NET Versions. Text Control continues to provide .NET Framework 4.8 assemblies for Classic ASP.NET applications.
New Classes and Members
The What's New documentation of version 33.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
- Barcode.TXBarcodeCore (new class): AdditionalText, Alignment, Angle, BackColor, BarcodeType, BarcodeTypeSettings, Create, ForeColor, GetDefaultText, GetMaximumTextLength, GetMinimumTextLength, GetSVG, IsTextValid, Load, Save, ShowText, Size, Text, TextAlignment, UpperTextLength, ViewChanged
- DocumentServer.MailMerge.BlockMergingEventArgs: SubTextPartID, SubTextPartNumber
- DocumentServer.MailMerge.BlockRowMergedEventArgs: SubTextPartID, SubTextPartNumber
- DocumentServer.MailMerge.FieldMergedEventArgs: SubTextPartID, SubTextPartNumber
- DocumentServer.MailMerge.FormFieldMergedEventArgs: SubTextPartID, SubTextPartNumber
- DocumentServer.MailMerge.ImageMergedEventArgs: SubTextPartID, SubTextPartNumber
- DocumentServer.PDF.Attachments (new class): GetFromData, GetFromFile
- DocumentServer.PDF.EmbeddedFile (new class): BinaryData, CreationDate, Description, FileName, HasBinaryData, HasStringData, LastModificationDate, MimeType, Relationship, StringData
- Drawing.TXDrawingCore (new class): AdaptBounds, BackColor, BorderColor, BorderWidth, CanCopy, CanPaste, CanRedo, CanUndo, Changed, ClearUndo, Copy, Cut, GetSVG, IsCanvasVisible, Load, Paste, Redo, Save, SelectAll, Selection, ShapeCreated, ShapeDeselected, ShapeFlipped, ShapeFormatChanged, ShapeMoved, Shapes, ShapeSelected, ShapeSized, Size, SizeToContent, Undo, ViewChanged
Document Editor JavaScript API
Upgrade to Version 33.0
- Update notes. The four update notes of version 33.0 remove overloads of
LoadandSavefrom the barcode controls of Windows Forms and WPF, which the API of TX Text Control .NET Server doesn't contain. - Changes to plan for. The NuGet packages require .NET 8 or higher, you choose between the Core and the Classic package, the Document Editor backend is a new process, and the Angular and React packages require newer framework versions. Breaking Changes describes each change.
- Upgrade steps. Migrating from Previous Versions covers the move from Classic to Core and from the old Document Editor backend.
Next Steps
- Version 34.0: the features of the next version.
- Version 32.0: the features of the previous version.
- Product Architecture: the two engines and the Document Editor backend.
- Breaking Changes: the changes that can require work when you upgrade.