比較

適用於.NET的免費PDF程式庫:隱藏成本和更好的替代品C#

Telerik Document Processing Libraries (DPL) 是一個增值套件,封裝在更廣泛的UI套件中:買家購買Telerik UI (Blazor, WPF, WinForms, ASP.NET Core/MVC/AJAX, 或 MAUI) 或 DevCraft (Complete 每位開發者每年$1,763.02,Ultimate 每位開發者每年$2,253.02) ,並且DPL隨許可證一起提供而不需要額外費用。Iron Suite 則是另一種形態:Iron Software 提供的單獨十產品套件,永久每位開發者費用從 $2,998 開始,沒有上游UI套件依賴,並且在基礎許可證下免版稅部署。

這篇文章開宗明義地指出基於採購的決策究竟取決於什麼:團隊是否已經為Telerik UI付費,每個套件的定價,以及實際上包含了什麼內容。 隨後談如何為需要整合的工程師提供逐個功能細節。

快速比較

尺寸Telerik DPLIron Suite
定價定位Telerik UI / DevCraft (DevCraft Complete $1,763.02/每位開發者/年; DevCraft Ultimate $2,253.02/每位開發者/年) 隨附而不額外收費Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); 所有10款產品的價格相當於2套產品的價格
授權模式每位開發者年度訂閱Telerik UI / DevCraft (無獨立SKU)每開發者永久; 免版稅基礎+ 在線服務/OEM 的再分發附加選項。
捆綁包的組成部分5個程式庫(PDF、Word、Excel、Streaming Excel、ZIP)10個產品(PDF、Word、Excel、PPT、OCR、Barcode、QR、Print、ZIP、WebScraper)
格式/功能覆蓋PDF、DOCX、XLSX、ZIP,無OCR、條碼、PowerPoint、列印或網頁抓取PDF、DOCX、XLSX、PPTX、OCR、Barcode、QR、Print、ZIP、網頁抓取
跨平台/雲透過 .NET Standard 2.0 的跨平台; 沒有原生二進制檔案Windows、Linux、macOS、Docker、Azure、AWS Lambda
.NET運行時支持.NET Framework 4.6.2+,.NET Standard 2.0(與 .NET 6/8/9/10 相容).NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
目標市場已為Telerik UI / DevCraft 許可的團隊希望單獨獨立文件 + 認識包的 .NET 開發者和 ISV
供應商Progress Software(Telerik 品牌)Iron Software

如果透過 RadSpreadStreamProcessing 進行非常大的 XLSX 工作簿的串流匯出對工作負載最為重要,Telerik DPL 具備該功能。 如果一個辨識堆疊(OCR 和手寫、條碼、QR),PowerPoint 生成、網頁抓取和程式報表列印最重要,同時需要PDF和Office,Iron Suite 在一個永久性套件中涵蓋了這些表面。

定價和授權

Telerik DPL 沒有獨立的價格。它包含在任何付費的Telerik UI套件或DevCraft等級中,無需額外費用。 公開定價參考(2026年第一季,ComponentSource),DevCraft Complete 每位開發者每年 $1,763.02,DevCraft Ultimate 每位開發者每年 $2,253.02(均為年度訂閱,必須續訂以保留支持和更新)。 個別的Telerik UI套件許可證(Blazor, WPF, WinForms, MAUI等)也包含DPL,無需額外費用。 模型假設買家正在購入Telerik UI; 對於只想要文件處理的買家,DPL 套件無法單獨購買。

Iron Suite 以每位開發者的永久許可出售,由 $2,998 起,將所有十個組件包裝在一次購買中。 營銷立場,"10 種產品價格等於 2 種,節省 75%",反映捆綁折扣與單獨購買 Iron 產品之間的對比。 基礎許可是對授權席位免版稅; 基礎許可以外的 SaaS, OEM 和分佈-再分發場景由單獨的再分發附加選項涵蓋。

已經為Telerik UI付費的買家,以 $0 的邊際成本獲得DPL作為增值服務。那些構建無需Telerik UI投資的後臺文件自動化的買家,得到Iron Suite作為獨立的套件,每位開發者永久,並無需年度續訂以保持購買版本運行,於 $2,998 開始。

什麼是Telerik Document Processing Libraries

Telerik Document Processing Libraries 是 Progress Software 的受管理程式碼文件工具包,封裝在每個付費Telerik UI套件和DevCraft等級中。 它不能作為獨立的SKU出售。 買家購買Telerik UI (Blazor, WPF, WinForms, ASP.NET Core/MVC/AJAX, 或 MAUI),並且DPL隨許可證一起提供而不需要額外費用。這些程式庫瞄準 .NET Standard 2.0 表面,因此相同的組件可以在Windows、Linux、macOS、伺服器和雲端上運行,無需原生依賴。

DPL的定位是"UI套件中的增值",而不是"最佳的文件 SDK"。它並不試圖在每個維度上超越專用的PDF/Office引擎,但為已在Telerik生態系統內的團隊消除了對Office Interop或Adobe依賴的需求。

重點捆綁程式庫:

  • RadPdfProcessing:PDF 建立、操縱和匯出
  • RadWordsProcessing:DOCX、RTF 和純文字生成和編輯
  • RadSpreadProcessing:建立XLSX工作簿、公式和樣式
  • RadSpreadStreamProcessing:適用於非常大的XLSX匯出的高效能串流寫入器(數百萬行)
  • RadZipLibrary: ZIP 壓縮檔案建立和提取 所有程式庫目標 .NET Standard 2.0,相容於 .NET 6/8/9/10 和 .NET Framework 4.6.2+

什麼是Iron Suite

Iron Suite 是Iron Software的獨立 .NET 文件工具包,沒有捆綁 UI 控制,也沒有需要 UI 套件的購入。 十個文件和辨識產品在單一永久的每位開發者許可下出貨,從 $2,998 開始,並對經許可的座位免版稅。 SaaS和OEM再分發使用的是單獨的再分發外掛。

這十個組件,按與程式性Office和PDF工作流的相關性分組:

  • Office 堆疊:IronWord(DOCX建立和編輯); IronXL(XLSX帶公式重新計算、圖表、樞紐分析表); IronPPT(PPTX建立和編輯)。
  • PDF生成(IronPDF):HTML到PDF和URL到PDF渲染,通過 PdfDocument.Merge 的原生合併和拆分,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(ZIP/TAR/GZIP/BZIP2附AES); IronWebScraper(內部結構化抓取)。

功能比較

PDF處理

程式化的PDF生成是兩個套件中的五大功能之一:發票、報表、證書以及任何需要準確布局的結構化文件在程式碼中,而不是從模板語言中。

//Telerik DPL— RadPdfProcessing
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using Telerik.Windows.Documents.Fixed.Model.Editing;

RadFixedDocument document = new RadFixedDocument();
RadFixedPage page = document.Pages.AddPage();
FixedContentEditor editor = new FixedContentEditor(page);
editor.DrawText("Hello RadPdfProcessing!");

PdfFormatProvider provider = new PdfFormatProvider();
using (Stream output = File.OpenWrite("Hello.pdf"))
{
    provider.Export(document, output, TimeSpan.FromSeconds(10));
}
//Telerik DPL— RadPdfProcessing
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using Telerik.Windows.Documents.Fixed.Model.Editing;

RadFixedDocument document = new RadFixedDocument();
RadFixedPage page = document.Pages.AddPage();
FixedContentEditor editor = new FixedContentEditor(page);
editor.DrawText("Hello RadPdfProcessing!");

PdfFormatProvider provider = new PdfFormatProvider();
using (Stream output = File.OpenWrite("Hello.pdf"))
{
    provider.Export(document, output, TimeSpan.FromSeconds(10));
}
Imports Telerik.Windows.Documents.Fixed.FormatProviders.Pdf
Imports Telerik.Windows.Documents.Fixed.Model
Imports Telerik.Windows.Documents.Fixed.Model.Editing
Imports System.IO

Dim document As New RadFixedDocument()
Dim page As RadFixedPage = document.Pages.AddPage()
Dim editor As New FixedContentEditor(page)
editor.DrawText("Hello RadPdfProcessing!")

Dim provider As New PdfFormatProvider()
Using output As Stream = File.OpenWrite("Hello.pdf")
    provider.Export(document, output, TimeSpan.FromSeconds(10))
End Using
$vbLabelText   $csharpLabel
//Iron Suite— IronPDF
using IronPdf;

var renderer = new ChromePdfRenderer();
string html = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>";
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
//Iron Suite— IronPDF
using IronPdf;

var renderer = new ChromePdfRenderer();
string html = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>";
using var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("invoice.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim html As String = "<h1>Invoice 2026-0428</h1><p>Total due: $1,240.00</p>"
Using pdf = renderer.RenderHtmlAsPdf(html)
    pdf.SaveAs("invoice.pdf")
End Using
$vbLabelText   $csharpLabel

Telerik DPL 使用程式碼優先流暢布局:開發者直接透過 FixedContentEditor 定位內容,具有明確的文件/頁面/編輯器物件和一個基於流的匯出器。 IronPDF 的主要路徑是透過捆綁的 Chromium 引擎進行 HTML 到 PDF 渲染,設計師可以製作 HTML,由引擎處理布局。 這兩種方法為不同的團隊進行優化:Telerik 為那些在坐標空間裡思考的工程師,IronPDF 為那些已經掌握 HTML/CSS 技能的團隊。

文字處理

兩個套件使用受管理程式碼文件模型生成和編輯 DOCX 文件(伺服器上無需安裝 Microsoft Word)。

//Telerik DPL— RadWordsProcessing
using Telerik.Windows.Documents.Flow.FormatProviders.Docx;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Windows.Documents.Flow.Model.Editing;

RadFlowDocument document = new RadFlowDocument();
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);
editor.InsertText("Hello world!");

using (Stream output = new FileStream("output.docx", FileMode.OpenOrCreate))
{
    DocxFormatProvider provider = new DocxFormatProvider();
    provider.Export(document, output, TimeSpan.FromSeconds(10));
}
//Telerik DPL— RadWordsProcessing
using Telerik.Windows.Documents.Flow.FormatProviders.Docx;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Windows.Documents.Flow.Model.Editing;

RadFlowDocument document = new RadFlowDocument();
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);
editor.InsertText("Hello world!");

using (Stream output = new FileStream("output.docx", FileMode.OpenOrCreate))
{
    DocxFormatProvider provider = new DocxFormatProvider();
    provider.Export(document, output, TimeSpan.FromSeconds(10));
}
Imports Telerik.Windows.Documents.Flow.FormatProviders.Docx
Imports Telerik.Windows.Documents.Flow.Model
Imports Telerik.Windows.Documents.Flow.Model.Editing
Imports System.IO

Dim document As New RadFlowDocument()
Dim editor As New RadFlowDocumentEditor(document)
editor.InsertText("Hello world!")

Using output As Stream = New FileStream("output.docx", FileMode.OpenOrCreate)
    Dim provider As New DocxFormatProvider()
    provider.Export(document, output, TimeSpan.FromSeconds(10))
End Using
$vbLabelText   $csharpLabel
//Iron Suite— IronWord
using IronWord;
using IronWord.Models;

var doc = new WordDocument();
var heading = new Paragraph();
heading.AddChild(new TextRun("Quarterly Report — Q1 2026") { FontSize = 18, Bold = true });
doc.AddParagraph(heading);
doc.SaveAs("report.docx");
//Iron Suite— IronWord
using IronWord;
using IronWord.Models;

var doc = new WordDocument();
var heading = new Paragraph();
heading.AddChild(new TextRun("Quarterly Report — Q1 2026") { FontSize = 18, Bold = true });
doc.AddParagraph(heading);
doc.SaveAs("report.docx");
Imports IronWord
Imports IronWord.Models

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)
doc.SaveAs("report.docx")
$vbLabelText   $csharpLabel

兩個 API 都遵循文件/段落/文字運行結構,任何熟悉 OpenXML 物件模型的人都能認出。IronWord 的 API 對於簡單的段落和格式化工作稍微精簡—— RadWordsProcessing 投資於其流動編輯器的定位控制。 這種取捨反映了更廣泛的套件框架:Telerik 的流動編輯器涵蓋更複雜佈局的定位表面,而 IronWord 更快地處理簡單文件。

試算表處理

XLSX 生產是常見的伺服器端任務,不需要在部署中安裝 Office 就可匯出報表、儀表板和客戶資料。

//Telerik DPL— RadSpreadProcessing
using Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx;
using Telerik.Windows.Documents.Spreadsheet.Model;

Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets.Add();
CellSelection selection = worksheet.Cells[1, 1];
selection.SetValue("Hello RadSpreadProcessing");

XlsxFormatProvider formatProvider = new XlsxFormatProvider();
using (Stream output = new FileStream("SampleFile.xlsx", FileMode.Create))
{
    formatProvider.Export(workbook, output, TimeSpan.FromSeconds(10));
}
//Telerik DPL— RadSpreadProcessing
using Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx;
using Telerik.Windows.Documents.Spreadsheet.Model;

Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets.Add();
CellSelection selection = worksheet.Cells[1, 1];
selection.SetValue("Hello RadSpreadProcessing");

XlsxFormatProvider formatProvider = new XlsxFormatProvider();
using (Stream output = new FileStream("SampleFile.xlsx", FileMode.Create))
{
    formatProvider.Export(workbook, output, TimeSpan.FromSeconds(10));
}
Imports Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx
Imports Telerik.Windows.Documents.Spreadsheet.Model
Imports System.IO

Dim workbook As New Workbook()
Dim worksheet As Worksheet = workbook.Worksheets.Add()
Dim selection As CellSelection = worksheet.Cells(1, 1)
selection.SetValue("Hello RadSpreadProcessing")

Dim formatProvider As New XlsxFormatProvider()
Using output As Stream = New FileStream("SampleFile.xlsx", FileMode.Create)
    formatProvider.Export(workbook, output, TimeSpan.FromSeconds(10))
End Using
$vbLabelText   $csharpLabel
//Iron Suite— IronXL
using IronXL;

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Sales");
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units";
sheet["A2"].Value = "Widget A";
sheet["B2"].Value = 1024;
workbook.SaveAs("sales.xlsx");
//Iron Suite— IronXL
using IronXL;

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Sales");
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units";
sheet["A2"].Value = "Widget A";
sheet["B2"].Value = 1024;
workbook.SaveAs("sales.xlsx");
Imports IronXL

Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("Sales")
sheet("A1").Value = "Product"
sheet("B1").Value = "Units"
sheet("A2").Value = "Widget A"
sheet("B2").Value = 1024
workbook.SaveAs("sales.xlsx")
$vbLabelText   $csharpLabel

IronXL 的單元格引用語法 (sheet["A1"]) 更貼近開發者實際談論試算表的方式; Telerik 的 Cells[1, 1] 索引更為程式化。 對於非常大的 XLSX 匯出(數百萬行而記憶體壓力很重要)Telerik DPL 提供 RadSpreadStreamProcessing,一個前進式串流寫入器。 IronXL 在記憶體中運行——行數超過記憶體限制的極端規模串流匯出工作負載是 RadSpreadStreamProcessing 推出的案例。

ZIP 壓縮檔案處理

ZIP 工具並不是每個人特意購買套件的功能,但每個多文件工作流程最終都需要。

//Telerik DPL— RadZipLibrary
using Telerik.Windows.Zip;

using (Stream stream = File.Open("test.zip", FileMode.Create))
using (ZipArchive archive = ZipArchive.Create(stream, null))
using (ZipArchiveEntry entry = archive.CreateEntry("text.txt"))
{
    StreamWriter writer = new StreamWriter(entry.Open());
    writer.WriteLine("Hello world!");
    writer.Flush();
}
//Telerik DPL— RadZipLibrary
using Telerik.Windows.Zip;

using (Stream stream = File.Open("test.zip", FileMode.Create))
using (ZipArchive archive = ZipArchive.Create(stream, null))
using (ZipArchiveEntry entry = archive.CreateEntry("text.txt"))
{
    StreamWriter writer = new StreamWriter(entry.Open());
    writer.WriteLine("Hello world!");
    writer.Flush();
}
Imports Telerik.Windows.Zip
Imports System.IO

Using stream As Stream = File.Open("test.zip", FileMode.Create)
    Using archive As ZipArchive = ZipArchive.Create(stream, Nothing)
        Using entry As ZipArchiveEntry = archive.CreateEntry("text.txt")
            Dim writer As New StreamWriter(entry.Open())
            writer.WriteLine("Hello world!")
            writer.Flush()
        End Using
    End Using
End Using
$vbLabelText   $csharpLabel

Iron Suite 包含了 IronZIP 作為其十大捆綁產品之一,涵蓋等效的壓縮檔案建立、提取和操作操作,並受簡單易用的 .NET API 支持。 Telerik 鑑於 Telerik.Zip (.NET Standard 2.0) 和 Telerik.Windows.Zip (.NET Framework) 的區分是部署時的考量; IronZIP 在兩個運行時系列中都暴露了一個單一 API 表面。

為什麼選擇Iron Suite進行Code-First.NET文件自動化

每個級別的公開美元定價 (Lite $2,998,Plus $4,498,Professional $8,998,Unlimited $17,998,Enterprise 按報價)。 購買版本的永久所有權。 在基礎許可證下免版稅部署。 單一再分發附加元件適用於規模的SaaS和OEM情境。 在十個產品中都有積極的每月發布節奏。 識別堆疊(IronOCR 帶手寫,約90%英語覆蓋,IronBarcode 擁有30多種符號學,IronQR 帶ML驅動檢測)在與IronPDF, IronWord, IronXL, IronPPT, IronPrint, IronZIP 和 IronWebScraper 同捆中。 對於沒有 Telerik UI 投資的後端團隊,這就是Iron Suite的主張。

Iron Suite 的結構優勢為此買方配置文件:

  • 獨立捆綁:無需上游UI套件依賴;Iron Suite提供文件程式庫作為產品,而不是增值
  • 永久許可:付一次錢,保留該版本永遠; 無需年度續訂壓力
  • 透明的公開定價:Lite, Plus, Professional, 和 Unlimited 這種等級並將美元價格公佈於網站上
  • 內建識別:IronOCR, IronBarcode 和 IronQR 隨捆提供;Telerik DPL完全無識別故事
  • 免版稅基礎許可證:包括經許可的座位的再分發權利無需談判; 再分發附加元件可用於規模的SaaS/OEM
  • 單包安裝 涵蓋所有十款產品,無需管理 UI/DPL/許可金鑰變更

Iron Suite如何與 Telerik Document Processing Libraries 不同

  • 捆綁的範圍。Iron Suite涵蓋10個產品類別(PDF、Word、Excel、PowerPoint、OCR、Barcode、QR、Print、ZIP、Web抓取);Telerik DPL涵蓋4個(PDF、Word、Excel、ZIP)。 識別、PowerPoint、列印和抓取在DPL重重缺失。
  • 永久每位開發者與年度更新UI捆綁訂閱。Iron Suite只需購買一次,並且版本永久擁有;Telerik DPL被捆綁在DevCraft中或Telerik UI 訂閱中,必須要每年更新以保持支持和更新。
  • 獨立對比於捆綁定位。Iron Suite作為文件 SDK 出售;Telerik DPL作為UI套件的增值定位。 目標買家本質上是不同的。
  • 再分發。Iron Suite的基礎許可證對於經許可的座位免版稅並對OEM/SaaS提供明確的再分發附加元件;Telerik DPL的再分發權利由父 UI/DevCraft EULA 規定。
  • HTML 渲染的忠實度。 IronPDF 基於 Chromium 的 HTML 至 PDF 渲染為複雜的 CSS 產生像素級準確的輸出; DPL 的 RadPdfProcessing 是一個無 HTML 渲染管道的程式碼優先佈局引擎。
  • 串流 Excel,Telerik DPL 在這方面投資。 RadSpreadStreamProcessing 是Telerik DPL投資於記憶體限制下的非常大尺寸 XLSX 工作簿匯出的前進式寫入器,而 IronXL 在記憶體中運行,適用于典型的后台 XLSX 工作流程。

結論

從 DevCraft Complete 每位開發者每年 $1,763.02(或 DevCraft Ultimate 每位開發者年 $2,253.02)起,Telerik DPL 隨許可證以增值方式提供:PDF、Word、Excel、和 ZIP 程式庫伴隨 Telerik UI 套件以證明價格。以 $2,998 為Iron SuiteLite 等級,捆綁提供了十個獨立產品,涵蓋 PDF(包含簡介中的所有標準級工作)、Office、OCR 與手寫、條碼和QR、列印、ZIP和網站抓取,具有永久性和免版稅經許可座位。 已經為Telerik UI付費的團隊可免費獲得DPL; 獨立購買文件程式庫的團隊可以選擇Iron Suite,網址為ironsoftware.com/csharp/suite

請注意Telerik Document Processing Libraries 是其各自所有者的註冊商標。 本網站並非 Telerik 或 Progress Software 的附屬、認可或贊助。 所有產品名稱、商標和品牌均為其各自所有者的財產。 比較僅供資訊參考,反映撰寫時公開可用的資訊。)