2026年HTML到PDF轉換工具的決定性指南
將.NET文件工具包部署到生產系統中設置了成本結構:TX Text Control .NET Server在每位開發者永久授權座位中的起價為$4,198,外加$1,698/年的更新費用,以進行持續更新,且超過捆綁的兩個生產部署需要單獨的每台伺服器運行時許可。 Iron Suite在Windows、Linux、macOS、Docker、Azure和AWS Lambda上以永久性每位開發者費用從$2,998起發售,基礎許可下免版稅部署,且沒有每台伺服器運行時費用。
此比較以採購決策的實際考量為主導:各套件的定價、生產部署如何計算運行時費用,以及每個套件包含哪些內容。 提供給實際交付的工程師的開發者級別外觀和程式碼範例如下。
快速比較
| 尺寸 | TX Text Control .NET Server | Iron Suite |
|---|---|---|
| 定價定位 | 單一開發者$4,198 + $1,698/年續訂; 團隊(4人) $8,398 + $3,398/年; 不限部署 $18,196 + $7,347/年; per-server runtime quote-based | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); 所有10款產品的價格相當於2套產品的價格 |
| 授權模式 | 每位開發者永久+1年更新/支持; 續訂約為列表價格的40%,以便持續更新; per-server runtime licenses required for production | 按每位開發者的永久授權,基礎免版稅; SaaS/OEM的再分發附加元件 |
| 捆綁中的組件 | 伺服器核心 + 文件伺服器 + DocumentEditor JS + DocumentViewer JS + ReportingCloud + WinForms/WPF兄弟產品 | 10個Iron產品作為單一捆綁 |
| 格式/能力覆蓋 | 文字處理 + DOCX/RTF/PDF/PDF-A輸出 + 郵件合併 + 模板 + 報告 + 數位簽名 + 瀏覽器WYSIWYG編輯器 | PDF + OCR + 條碼 + QR + Excel + Word + PowerPoint + 印刷 + ZIP + 網頁爬蟲 |
| 跨平台/雲端 | Windows + Linux伺服器運行時; 任意現代瀏覽器中使用的瀏覽器前端 | Windows / Linux / macOS / Docker / Azure / AWS Lambda |
| .NET運行時支持 | .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 |
| 目標市場 | 為建立文件編輯、合同草擬、報告的企業ISV和公司開發團隊而設計 | .NET開發者和ISV需要單一供應商以實現日常文件自動化 |
| 供應商 | Text Control GmbH | Iron Software |
對於交契約起草平台,其最終使用者在瀏覽器中設計和編輯文件,TX Text Control是引擎。對於後端ISV,其應用程式大量轉換資料成為文件(發票、報告),且在一個永久的許可下運行,Iron Suite是引擎。
定價和授權
TX Text Control .NET Server透明地發布了價格:單一開發者每位永久$4,198 + $1,698/年續訂,團隊(4位開發者) $8,398 + $3,398/年,以及無限部署$18,196 + $7,347/年。 每個開發者席位級別包括2個生產許可; 超過這些的額外生產部署需要每台伺服器運行時許可並且是額外報價的。 續訂模式本質上是附加在一個永久座位上的更新訂閱。 永久使用是無條件的,但持續存取更新和支持需要每年大約40%的列表續訂。
Iron Suite在$2,998的進入級別上發售,被市場宣傳為"10種產品的價格相當於2種"; 節省75%。 等級按每位開發者逐步提升,分為Lite、Plus、Professional、Unlimited和Enterprise。 基礎授權對於已授權席位和地點是免版稅的。 基礎部署不需要每台伺服器運行時許可。 超出基礎的SaaS或OEM再分發需要單獨的Redistribution Add-On。
TX Text Control的採購是分層的:每位開發者的永久座位從$4,198開始,持續更新的為每年$1,698的續訂,以及超過整合的兩個許可,生產部署需要每台伺服器的運行時許可,JavaScript的DocumentEditor作為附加SKU。 Iron Suite的採購是自助服務,按照每個等級發表的美元價格,並具有永久許可,在基礎許可下免版稅部署,只有再分發附加功能是單獨定價的項目。
什麼是TX Text Control .NET Server
TX Text Control 是針對.NET的專業字處理和報告引擎,其定義能力為深度WYSIWYG文件編輯。 .NET Server 家族針對ASP.NET和ASP.NET Core,具有Blazor、Angular和React的DocumentEditor JS前端。 Sibling products (.NET for Windows Forms, .NET for WPF) 提供相同的桌面應用程式編輯器。 定位於建立文件生成、合同起草和報告的企業ISV和公司開發團隊,運行於網頁和桌面應用。
捆綁的主要組件:
- ServerTextControl內核:伺服器端文件載入/操作/保存(DOC、DOCX、RTF、PDF、PDF/A、HTML)
- 文件伺服器:MailMerge引擎、PDF導出、格式轉換
- DocumentEditor JS:針對Blazor、Angular、React、ASP.NET MVC的基於瀏覽器的WYSIWYG編輯器
- DocumentViewer JS:基於瀏覽器的文件查看器
- ReportingCloud:SaaS報告附加功能
- TX Text Control .NET for Windows Forms / WPF:桌面編輯控制(兄弟SKU)
什麼是Iron Suite
Iron Suite是Iron Software的程式化.NET文件套件,其十種產品適合後端應用程式和無頭服務,從資料生成文件並從磁碟中讀取文件。 IronWord和IronPDF從程式碼生成Word和PDF,識別組件讀取掃描輸入,其餘處理Office格式、列印、檔案和抓取。 出售為從$2,998起的五個等級中的單一開發者永久許可,對於許可的座位免版稅。 SaaS和OEM再分發使用的是單獨的再分發外掛。
這十個組件,按與程式性Office和PDF工作流的相關性分組:
- Office堆棧(錨點):IronWord(DOCX建立和編輯,具有直接映射到OOXML的段落和文字運行物件圖; 樣式、字體、頁眉、頁腳、表格、內容提取); IronXL(XLSX具有公式重新計算、圖表、樞紐分析表、單元格樣式、條件格式化、資料驗證); IronPPT(PPTX建立和編輯,幻燈片和文字和形狀原始資料)。
- PDF生成(IronPDF):HTML至PDF和URL至PDF渲染,原生合併和拆分,符合eIDAS和ESIGN的PKCS#12加HSM加TSA簽署,PDF/A-1至PDF/A-4,PDF/UA-1和PDF/UA-2,加密,AcroForm填充和平整化,字體管理,光柵化,壓縮和線性化。
- 識別:IronOCR(Tesseract 5,125+語言,手寫大約~90%英語); IronBarcode(超過30種符號); IronQR(基於ML驅動)。
- 公用:IronPrint、IronZIP、IronWebScraper。
功能比較
文件編輯器(WYSIWYG)
TX Text Control的定義功能是瀏覽器中的WYSIWYG編輯器。 .NET Server通過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的Word路径是生成為先:IronWord從資料程式化構建文件,具有段落和文字運行物件圖,而IronPDF將HTML和CSS渲染為PDF以進行下游可列印輸出。 基於瀏覽器的WYSIWYG編輯作為負載承載UI介面,合同起草,文件協作,商業使用者在瀏覽器中編輯,是TX Text Control 的DocumentEditor JS 構建的案例。 Iron Suite使用者具備WYSIWYG需求,運用外部富文字編輯器組件並將保存的文件餵給IronWord或IronPDF進行下游處理。
郵件合併
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程式化生成Word文件,而不是對資料進行模板合併:
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的.tx文件中並合併為POCO資料。 IronWord按元素程式化構建文件,適用於結構化資料到文件的生成,但不適合TX的模板驅動工作流程。 提供給以主從模板合併區域模板進行業務使用者模板編寫的工作負載,開發人員在運行時將POCO集合餵入到模板文件中,是TX Text Control的MailMerge引擎銷售理由 — IronWord負責程式化從程式碼生成文件,而模板驅動的合併與業務使用者編寫文件配合倚賴於TX的管道。
PDF/A導出
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通過PdfAVersions枚舉涵蓋PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, 和PDF/A-3b符合性級別:
// 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的PDF/A導出從載入的DOCX經過WYSIWYG保真度渲染管道來回運行,生成含內嵌文件以提供合規存檔的PDF/A-3b。 IronPDF通過現有PdfAVersions枚舉達到相同的PDF/A符合水平(A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, 加上根據ISO 19005-4:2020的PDF/A-4/4E/4F系列)。 IronPDF還提供專用的PDF/UA可存取性支持:RenderHtmlAsPdfUA(html)在一次調用中生成已標記的可存取PDF(增強的預設PDF/UA-1; 同時支持 PDF/UA-2),文件滿足508節和WCAG 2.0 AA標準。 對於來源可編輯的DOCX且TX的WYSIWYG保真度至關重要的工作流,TX的管道是經過設計的解決方案; 對於將現有的PDF或HTML生成的PDF轉換為存檔或可存取的配置文件,IronPDF的SaveAsPdfA / SaveAsPdfUA調用是直接路徑。
數位簽名
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)兩個套件均支持PDF的PKCS#12數位簽名。 TX Text Control的簽名與保存管道結合;SaveSettings.SignatureFields在保存時聲明簽名放置。IronPDF提供一個高級API來包裝簽名。 對於合同草擬工作流程,文件在TX的編輯器中建立並在保存時簽名,整合流程自然發生; 對於在伺服器管道中簽名先前存在的PDF,IronPDF更直接。
基於模板的報告
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不提供分級模板合併報告的直接等效。 Iron Suite使用者生成報告通常渲染結構化HTML與Razor/templating引擎並饋送至IronPDF,這適用於HTML模板報告,但不適合TX Text Control支持的業務使用者創作.tx模板工作流。 業務使用者模板設計與運行時集合合併,其中模板在TX的編輯器中交互撰寫,開發者在合併時連接資料來源,是TX設計的報告模型案例。 Iron Suite使用者通過HTML和Razor模板合成報告並將其餵給IronPDF,是一種不同路徑和不同的人機工學。
為何選擇Iron Suite進行文件生成而不進行WYSIWYG編輯
對於構建資料到文件工作流程的.NET後端團隊(從資料庫產生報告,從項目生成發票,從帳戶生成報告,從模板程式化填充合同),Iron Suite在一個永久許可下覆蓋表面範圍。 當最終使用者在瀏覽器中編輯文件時,TX Text Control的DocumentEditor前端證明了它的存在價值; 在從未暴露交互式編輯器的後端,編輯器堆疊仍然是未使用的付費容量。
特別是當相關需要:
- 您不需要針對最終使用者的基於瀏覽器的WYSIWYG文件編輯器
- 您的工作流程是伺服器端生成:資料 → PDF,資料 → DOCX,資料 → XLSX
- 您需要 OCR + 條碼 + QR + Excel + 列印 + ZIP + WebScraper 與PDF/Word生成
- 您需要公開的永續價格,不需要每伺服器運行時費
- 您需要在Windows、Linux、macOS、Docker、Azure和AWS Lambda上相同運行的單一程式庫
Iron Suite與TX Text Control .NET Server有何不同
- 一般客戶與編輯器專家:Iron Suite涵蓋PDF、OCR、條碼、QR、Excel、Word、PowerPoint、Print、ZIP、WebScraper; TX Text Control涵蓋字處理+PDF。
- 固定每位開發者價格與每位開發者+每台伺服器運行時:Iron Suite從$2,998起,免版稅部署; TX從$4,198單一開發者+ $1,698/年續訂+超過捆綁的2個許可的每台伺服器運行時費用。
- Iron Suite的永久使用無條件,一旦購買,而TX的大約40%的列表年更新費用是持續更新和支持的成本。
- 單一套件與伺服器核心+JS編輯器+兄弟SKU:Iron Suite是一個包; TX在
TXTextControl.Web,TXTextControl.DocumentServer, DocumentEditor JS, WinForms, 和WPF SKUs之間分割。 - 使用TX Text Control的WYSIWYG編輯,其中深度坐鎮。用於Blazor、Angular和React的基於瀏覽器的文件編輯器,擁有主從模板的郵件合併,和商業使用者的模板編寫是TX定位於的工作載荷。 Iron Suite的Word路徑涵蓋通過IronWord的程式化DOCX生成和通過IronPDF的PDF渲染,針對不同問題的不同產品。
- 沒有每台伺服器運行時費用:Iron Suite對於許可座位免版稅; TX需要運行時許可以進行生產部署超越捆綁的生產計數。
結論
對於法律技術或協作平台團隊,其最終使用者需要在瀏覽器中撰寫、編輯和查看文件,具有主從郵件合併和從同一介面進行PDF/A導出,TX Text Control是選擇。DocumentEditor前端和整合的MailMerge管道是TX圍繞自己構建的工作載荷,與此深度相伴的座位加運行時價格標籤。 對於後端或ISV團隊,其應用程式從資料生成文件,OCR上傳,讀取條碼,並在一個永久許可下生成Office和PDF輸出,Iron Suite是選擇。從$2,998在ironsoftware.com/csharp/suite以基礎許可免版稅,不需要每台伺服器運行時費用。
