Iron Suite vs TX Text Control .NET Server
Deploying a .NET document toolkit to production sets the cost shape: TX Text Control .NET Server ships on per-developer perpetual seats from $4,198 plus a $1,698/year renewal for continued updates, with separate per-server runtime licenses required for production deployment beyond the bundled two. Iron Suite ships on the same packages across Windows, Linux, macOS, Docker, Azure, and AWS Lambda at a perpetual per-developer fee from $2,998, with royalty-free deployment under the base license and no per-server runtime fees.
This comparison leads with what a procurement-led decision actually hangs on: how each suite is priced, how production deployment counts toward runtime fees, and what each bundle ships. The developer-level surface and code samples follow below for the engineers who will actually ship it.
At-a-Glance Comparison
| Dimension | TX Text Control .NET Server | Iron Suite |
|---|---|---|
| Pricing positioning | Single Developer $4,198 + $1,698/year renewal; Team (4) $8,398 + $3,398/year; Unlimited Deployment $18,196 + $7,347/year; per-server runtime quote-based | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); all 10 products for the price of 2 |
| License model | Per-developer perpetual + 1 year of updates/support; renewal ~40% of list for continued updates; per-server runtime licenses required for production | Perpetual per-developer, royalty-free base; Redistribution Add-On for SaaS/OEM |
| Components in bundle | Server core + Document Server + DocumentEditor JS + DocumentViewer JS + ReportingCloud + WinForms/WPF sibling products | 10 Iron products as a single bundle |
| Format/capability coverage | Word processing + DOCX/RTF/PDF/PDF-A export + Mail merge + Templates + Reporting + Digital signatures + browser WYSIWYG editor | PDF + OCR + Barcode + QR + Excel + Word + PowerPoint + Print + ZIP + WebScraper |
| Cross-platform / cloud | Windows + Linux server runtimes; browser frontend in any modern browser | Windows / Linux / macOS / Docker / Azure / AWS Lambda |
| .NET runtime support | .NET Framework, .NET 6/7/8, ASP.NET Core, Blazor Server/WASM, Angular, React | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| Target market | Enterprise ISVs and corporate dev teams building document editing, contract drafting, reporting | .NET developers and ISVs needing one vendor for everyday document automation |
| Vendor | Text Control GmbH | Iron Software |
For the contract-drafting platform whose end users design and edit documents in the browser interactively, TX Text Control is the engine. For the backend ISV whose application transforms data into documents at scale (invoices, statements, certificates, reports) under one perpetual license, Iron Suite is the engine.
Pricing and Licensing
TX Text Control .NET Server publishes pricing transparently: Single Developer at $4,198 perpetual + $1,698/year renewal, Team (4 developers) at $8,398 + $3,398/year, Unlimited Deployment at $18,196 + $7,347/year. Each developer-seat tier includes 2 production licenses; per-server runtime licenses beyond those are required for additional production deployment and are quote-priced. The renewal model is essentially subscription-for-updates layered on a perpetual seat. Perpetual use is unconditional but continued access to updates and support requires the ~40%-of-list annual renewal.
Iron Suite ships at $2,998 for the entry tier, marketed as "all 10 products for the price of 2; save 75%". Tiers escalate through Lite, Plus, Professional, Unlimited, and Enterprise on a per-developer basis. The base license is royalty-free for the licensed seats and locations. No per-server runtime license is required for the base deployment. SaaS or OEM redistribution beyond the base requires the separate Redistribution Add-On.
TX Text Control's procurement is layered: a per-developer perpetual seat starting at $4,198, an annual $1,698 renewal for continued updates, plus per-server runtime licenses for production deployment beyond the bundled two licenses, with the JS DocumentEditor as a sibling SKU. Iron Suite's procurement is self-serve at a published USD price per tier, perpetual, with royalty-free deployment under the base license and the Redistribution Add-On as the only separately-priced item.
What is TX Text Control .NET Server
TX Text Control is a specialist word-processing and reporting engine for .NET, with deep WYSIWYG document editing as its defining capability. The .NET Server family targets ASP.NET and ASP.NET Core, with DocumentEditor JS frontends for Blazor, Angular, and React. Sibling products (.NET for Windows Forms, .NET for WPF) deliver the same editor for desktop applications. It is positioned for enterprise ISVs and corporate dev teams building document generation, contract drafting, and reporting into web and desktop apps.
Key bundled components:
- ServerTextControl core: server-side document load/manipulate/save (DOC, DOCX, RTF, PDF, PDF/A, HTML)
- Document Server: MailMerge engine, PDF export, format conversion
- DocumentEditor JS: browser-based WYSIWYG editor for Blazor, Angular, React, ASP.NET MVC
- DocumentViewer JS: browser-based document viewer
- ReportingCloud: SaaS reporting add-on
- TX Text Control .NET for Windows Forms / WPF: desktop editor controls (sibling SKUs)
What is Iron Suite
Iron Suite is Iron Software's programmatic .NET document bundle, ten products sized for backend applications and headless services that generate documents from data and read documents from disk. IronWord and IronPDF generate Word and PDF from code, the recognition stack reads scanned input, and the rest handles Office formats, printing, archives, and scraping. Sold as a single perpetual per-developer license at five tier levels from $2,998, royalty-free for the licensed seats. SaaS and OEM redistribution use a separate Redistribution Add-On.
The ten components, grouped by relevance to a programmatic Office and PDF workflow:
- Office stack (anchor): IronWord (DOCX creation and editing with paragraph and text-run object graphs that map directly to OOXML; styles, fonts, headers, footers, tables, content extraction); IronXL (XLSX with formula recalculation, charts, pivot tables, cell styling, conditional formatting, data validation); IronPPT (PPTX creation and editing, slide and text and shape primitives).
- PDF generation (IronPDF): HTML-to-PDF and URL-to-PDF rendering, native merge and split, PKCS#12 plus HSM plus TSA signing aligned to eIDAS and ESIGN, PDF/A-1 through PDF/A-4, PDF/UA-1 and PDF/UA-2, encryption, AcroForm fill and flattening, font management, rasterization, compression and linearization.
- Recognition: IronOCR (Tesseract 5, 125+ languages, handwriting at ~90% English); IronBarcode (30+ symbologies); IronQR (ML-powered).
- Utility: IronPrint, IronZIP, IronWebScraper.
Capability Comparison
Document Editor (WYSIWYG)
TX Text Control's defining capability is the in-browser WYSIWYG editor. The .NET Server hosts it via tag helpers in ASP.NET Core MVC / Razor Pages / Blazor.
class DocumentEditorController : Controller
{
public IActionResult Index()
{
ViewBag.DocumentEditorSettings = new DocumentEditorSettings
{
Dock = DocumentEditorDock.Fill,
UserNames = new[] { "iron.user@example.com" },
ToolbarDocked = true,
RibbonTabsVisible = true
};
return View();
}
}class DocumentEditorController : Controller
{
public IActionResult Index()
{
ViewBag.DocumentEditorSettings = new DocumentEditorSettings
{
Dock = DocumentEditorDock.Fill,
UserNames = new[] { "iron.user@example.com" },
ToolbarDocked = true,
RibbonTabsVisible = true
};
return View();
}
}Imports System.Web.Mvc
Public Class DocumentEditorController
Inherits Controller
Public Function Index() As ActionResult
ViewBag.DocumentEditorSettings = New DocumentEditorSettings With {
.Dock = DocumentEditorDock.Fill,
.UserNames = New String() {"iron.user@example.com"},
.ToolbarDocked = True,
.RibbonTabsVisible = True
}
Return View()
End Function
End ClassIron Suite's Word path is generation-first: IronWord builds documents programmatically from data with paragraph and text-run object graphs, whereas IronPDF renders HTML and CSS to PDF for downstream printable output. Browser-based WYSIWYG editing as the load-bearing UI surface, contract drafting, document collaboration, business-user editing in the browser, is the case TX Text Control's DocumentEditor JS is engineered around. Iron Suite users with WYSIWYG requirements compose with an external rich-text editor component and feed saved documents to IronWord or IronPDF for downstream processing.
Mail Merge
using (ServerTextControl tx = new ServerTextControl())
{
tx.Create();
tx.Load("invoice-template.tx", StreamType.InternalUnicodeFormat);
MailMerge mm = new MailMerge { TextComponent = tx };
var invoice = new
{
CustomerName = "Acme Corp",
InvoiceNumber = "INV-2026-0042",
Total = 1498.00m,
Items = new[] { new { Sku = "IRONSUITE", Qty = 1, Price = 1498.00m } }
};
mm.MergeObject(invoice);
tx.Save("invoice.pdf", StreamType.AdobePDF);
}using (ServerTextControl tx = new ServerTextControl())
{
tx.Create();
tx.Load("invoice-template.tx", StreamType.InternalUnicodeFormat);
MailMerge mm = new MailMerge { TextComponent = tx };
var invoice = new
{
CustomerName = "Acme Corp",
InvoiceNumber = "INV-2026-0042",
Total = 1498.00m,
Items = new[] { new { Sku = "IRONSUITE", Qty = 1, Price = 1498.00m } }
};
mm.MergeObject(invoice);
tx.Save("invoice.pdf", StreamType.AdobePDF);
}Imports TXTextControl
Using tx As New ServerTextControl()
tx.Create()
tx.Load("invoice-template.tx", StreamType.InternalUnicodeFormat)
Dim mm As New MailMerge With {.TextComponent = tx}
Dim invoice = New With {
.CustomerName = "Acme Corp",
.InvoiceNumber = "INV-2026-0042",
.Total = 1498.0D,
.Items = New() {New With {.Sku = "IRONSUITE", .Qty = 1, .Price = 1498.0D}}
}
mm.MergeObject(invoice)
tx.Save("invoice.pdf", StreamType.AdobePDF)
End UsingIronWord generates Word documents programmatically rather than merging templates against data:
var doc = new WordDocument();
var heading = new Paragraph();
heading.AddChild(new TextRun("Quarterly Report — Q1 2026") { FontSize = 18, Bold = true });
doc.AddParagraph(heading);
var body = new Paragraph();
body.AddChild(new TextRun("Revenue grew 14% quarter-over-quarter."));
doc.AddParagraph(body);
doc.SaveAs("report.docx");var doc = new WordDocument();
var heading = new Paragraph();
heading.AddChild(new TextRun("Quarterly Report — Q1 2026") { FontSize = 18, Bold = true });
doc.AddParagraph(heading);
var body = new Paragraph();
body.AddChild(new TextRun("Revenue grew 14% quarter-over-quarter."));
doc.AddParagraph(body);
doc.SaveAs("report.docx");Dim doc As New WordDocument()
Dim heading As New Paragraph()
heading.AddChild(New TextRun("Quarterly Report — Q1 2026") With {.FontSize = 18, .Bold = True})
doc.AddParagraph(heading)
Dim body As New Paragraph()
body.AddChild(New TextRun("Revenue grew 14% quarter-over-quarter."))
doc.AddParagraph(body)
doc.SaveAs("report.docx")TX Text Control's MailMerge.MergeObject supports nested master/detail templates: designed for invoices, contracts, statements where the template lives in a .tx file and is merged against POCO data. IronWord builds documents element-by-element programmatically, which works for structured-data-to-document generation but does not match TX's template-driven workflow. Business-user template authoring with master/detail merge-region templates, where developers feed POCO collections into a template file at runtime, is the workload TX Text Control's MailMerge engine is sold for — IronWord covers programmatic document generation from code, whereas template-driven merge against business-user-authored documents leans on TX's pipeline.
PDF/A Export
using (ServerTextControl tx = new ServerTextControl())
{
tx.Create();
tx.Load("input.docx", StreamType.WordprocessingML);
SaveSettings pdfASettings = new SaveSettings
{
CreatorApplication = "Internal Reporting",
Author = "Compliance Team",
PDFExportSettings = new PDFExportSettings
{
PDFAVersion = PDFAVersion.PDFA3B,
EmbedFonts = true
}
};
tx.Save("output_pdfa3b.pdf", StreamType.AdobePDFA, pdfASettings);
}using (ServerTextControl tx = new ServerTextControl())
{
tx.Create();
tx.Load("input.docx", StreamType.WordprocessingML);
SaveSettings pdfASettings = new SaveSettings
{
CreatorApplication = "Internal Reporting",
Author = "Compliance Team",
PDFExportSettings = new PDFExportSettings
{
PDFAVersion = PDFAVersion.PDFA3B,
EmbedFonts = true
}
};
tx.Save("output_pdfa3b.pdf", StreamType.AdobePDFA, pdfASettings);
}Imports (Assuming necessary namespaces are imported)
Using tx As New ServerTextControl()
tx.Create()
tx.Load("input.docx", StreamType.WordprocessingML)
Dim pdfASettings As New SaveSettings With {
.CreatorApplication = "Internal Reporting",
.Author = "Compliance Team",
.PDFExportSettings = New PDFExportSettings With {
.PDFAVersion = PDFAVersion.PDFA3B,
.EmbedFonts = True
}
}
tx.Save("output_pdfa3b.pdf", StreamType.AdobePDFA, pdfASettings)
End UsingIronPDF exposes PDF/A export via SaveAsPdfA with the PdfAVersions enum covering PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, and PDF/A-3b conformance levels:
// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/pdfa/
using IronPdf;
class Program
{
static void Main()
{
// SaveAsPdfA exports to a PDF/A archival profile.
// PdfAVersions exposes PdfA1a, PdfA1b, PdfA2a, PdfA2b, PdfA3a, PdfA3b.
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
// PDF/A-3b is the common archival target for long-term retention.
pdf.SaveAsPdfA("invoice-archive.pdf", PdfAVersions.PdfA3b);
}
}// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/pdfa/
using IronPdf;
class Program
{
static void Main()
{
// SaveAsPdfA exports to a PDF/A archival profile.
// PdfAVersions exposes PdfA1a, PdfA1b, PdfA2a, PdfA2b, PdfA3a, PdfA3b.
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
// PDF/A-3b is the common archival target for long-term retention.
pdf.SaveAsPdfA("invoice-archive.pdf", PdfAVersions.PdfA3b);
}
}Imports IronPdf
Module Program
Sub Main()
' SaveAsPdfA exports to a PDF/A archival profile.
' PdfAVersions exposes PdfA1a, PdfA1b, PdfA2a, PdfA2b, PdfA3a, PdfA3b.
Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
' PDF/A-3b is the common archival target for long-term retention.
pdf.SaveAsPdfA("invoice-archive.pdf", PdfAVersions.PdfA3b)
End Sub
End ModuleTX Text Control's PDF/A export round-trips from a loaded DOCX through the WYSIWYG-fidelity rendering pipeline, producing PDF/A-3b with embedded files for compliance archival. IronPDF reaches the same PDF/A conformance levels (A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, plus the PDF/A-4/4E/4F family per ISO 19005-4:2020) via the PdfAVersions enum on an existing PdfDocument. IronPDF also ships dedicated PDF/UA accessibility support: RenderHtmlAsPdfUA(html) produces a tagged accessible PDF in one call (default PDF/UA-1; PDF/UA-2 also supported), documented to meet Section 508 and WCAG 2.0 AA out of the box. For workflows where the source is editable DOCX and TX's WYSIWYG fidelity matters, TX's pipeline is the engineered solution; for converting an existing PDF or HTML-generated PDF to an archival or accessible profile, IronPDF's SaveAsPdfA / SaveAsPdfUA calls are the direct path.
Digital Signature
X509Certificate2 cert = new X509Certificate2("signer.pfx", "pfx_password");
DigitalSignature signature = new DigitalSignature(cert, null, "SignatureField1");
SaveSettings settings = new SaveSettings
{
SignatureFields = new[] { signature }
};
tx.Save("contract_signed.pdf", StreamType.AdobePDF, settings);X509Certificate2 cert = new X509Certificate2("signer.pfx", "pfx_password");
DigitalSignature signature = new DigitalSignature(cert, null, "SignatureField1");
SaveSettings settings = new SaveSettings
{
SignatureFields = new[] { signature }
};
tx.Save("contract_signed.pdf", StreamType.AdobePDF, settings);Imports System.Security.Cryptography.X509Certificates
Dim cert As New X509Certificate2("signer.pfx", "pfx_password")
Dim signature As New DigitalSignature(cert, Nothing, "SignatureField1")
Dim settings As New SaveSettings With {
.SignatureFields = New DigitalSignature() {signature}
}
tx.Save("contract_signed.pdf", StreamType.AdobePDF, settings)Both suites support PKCS#12 digital signing of PDFs. TX Text Control's signing is integrated with the save pipeline; SaveSettings.SignatureFields declares signature placements at save time. IronPDF wraps signing with a higher-level API. For contract-drafting workflows where the document is composed in TX's editor and signed at save, the integrated flow is natural; for signing pre-existing PDFs in a server pipeline, IronPDF is more direct.
Template-Based Reporting
using (ServerTextControl tx = new ServerTextControl())
{
tx.Create();
tx.Load("orders-report-template.tx", StreamType.InternalUnicodeFormat);
MailMerge mm = new MailMerge { TextComponent = tx };
mm.Merge(orders, "Orders");
tx.Save("orders-report.pdf", StreamType.AdobePDF);
}using (ServerTextControl tx = new ServerTextControl())
{
tx.Create();
tx.Load("orders-report-template.tx", StreamType.InternalUnicodeFormat);
MailMerge mm = new MailMerge { TextComponent = tx };
mm.Merge(orders, "Orders");
tx.Save("orders-report.pdf", StreamType.AdobePDF);
}Imports TXTextControl
Using tx As New ServerTextControl()
tx.Create()
tx.Load("orders-report-template.tx", StreamType.InternalUnicodeFormat)
Dim mm As New MailMerge With {.TextComponent = tx}
mm.Merge(orders, "Orders")
tx.Save("orders-report.pdf", StreamType.AdobePDF)
End UsingIron Suite does not provide a direct equivalent for hierarchical template-merge reporting. Iron Suite users generating reports typically render structured HTML with Razor/templating engines and feed it to IronPDF, which works for HTML-templated reports but does not match the business-user-authored .tx template workflow TX Text Control supports. Business-user template design with runtime collection merging, where templates are authored interactively in TX's editor and developers connect data sources at merge time, is the case TX's reporting model is designed for. Iron Suite users compose reports through HTML and Razor templates feeding IronPDF, a different path with different ergonomics.
Why Choose Iron Suite for Document Generation Without WYSIWYG Editing
For the .NET backend team building data-to-document workflows (reports from databases, invoices from line items, statements from accounts, contracts from templates filled programmatically), Iron Suite covers the surface area under one perpetual license. TX Text Control's DocumentEditor frontend earns its keep when end users edit documents in the browser; on backends that never expose an interactive editor, the editor stack remains paid unused capacity.
Specifically, Iron Suite is the better pick when:
- You do not need a browser-based WYSIWYG document editor for end users
- Your workflow is server-side generation: data → PDF, data → DOCX, data → XLSX
- You need OCR + Barcode + QR + Excel + Print + ZIP + WebScraper alongside PDF/Word generation
- You want public perpetual pricing with no per-server runtime fees
- You want one library that runs identically across Windows, Linux, macOS, Docker, Azure, and AWS Lambda
How is Iron Suite Different from TX Text Control .NET Server
- Generalist vs editor specialist: Iron Suite covers PDF, OCR, Barcode, QR, Excel, Word, PowerPoint, Print, ZIP, WebScraper; TX Text Control covers word processing + PDF only.
- Flat per-developer pricing vs per-developer + per-server runtime: Iron Suite from $2,998 with royalty-free deployment; TX from $4,198 single developer + $1,698/year renewal + per-server runtime fees beyond the bundled 2 licenses.
- Iron Suite perpetual use is unconditional once purchased, whereas TX's roughly 40%-of-list annual renewal is the cost of continued updates and support.
- Single bundle vs server core + JS editor + sibling SKUs: Iron Suite is one bundle; TX splits across
TXTextControl.Web,TXTextControl.DocumentServer, DocumentEditor JS, WinForms, and WPF SKUs. - WYSIWYG editing with TX Text Control, where the depth sits. Browser-based document editor for Blazor, Angular, and React, mail merge with master/detail templates, and business-user template authoring are the workloads TX positions itself for. Iron Suite's Word path covers programmatic DOCX generation through IronWord and PDF rendering through IronPDF, different products for different problems.
- No per-server runtime fees: Iron Suite is royalty-free for licensed seats; TX requires runtime licenses for production deployment beyond bundled production count.
Conclusion
For the legal-tech or collaboration-platform team whose end users need to draft, edit, and review documents in the browser, with master/detail mail merge and PDF/A export from the same surface, TX Text Control is the choice. The DocumentEditor frontend and the integrated MailMerge pipeline are workloads TX has built itself around, with the seat-plus-runtime price tag that goes with that depth. For the backend or ISV team whose application generates documents from data, OCRs uploads, reads barcodes, and produces Office and PDF output under one perpetual license, Iron Suite is the choice. From $2,998 at ironsoftware.com/csharp/suite, royalty-free under the base license, no per-server runtime fees.
