2026年文件生成最佳 C# 程式庫選擇
對於入門階段的每位開發者,$2,200購買GemBox.Bundle設定了明確的採購指標:七個文件程式庫(Spreadsheet, Document, PDF, Presentation, Email, Imaging, PdfViewer)包含在單一永久授權內,且每個付費等級均包含免版稅的無限部署。 Iron Suite設置了一個不同的標尺:十個產品在一個永久授權下,從$2,998開始,為授權的席次提供免版稅的部署,並針對SaaS或OEM情景超出基礎配發提供單獨的再分發附加元件。 兩者都不依賴於Office,兩者均可在現代.NET跨平台運行,兩者都發送永久授權。
本文先行討論的是一個採購主導的決策實際上取決於什麼:每個套件的定價,捆綁的內容,及如何處理SaaS再分發。 接下來是供開發者整合使用的開發者層面範疇和程式碼範例。
快速比較
| 尺寸 | GemBox.Bundle | Iron Suite |
|---|---|---|
| 定價定位 | 單一開發者$2,200。 小團隊(10位開發者)$11,000。 大團隊(50位開發者)$33,000。續訂享受6折優惠(若在到期前續訂則為4折)。 | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998(企業定制)。 所有10款產品的價格相當於2套產品的價格 |
| 授權模式 | 每位開發者的永久授權,包含1年的免費更新和1年的專業支援。 每個付費等級都提供免版稅的無限部署。 有每個檔案限制的免費限量級階層。 | 每開發者永久; 對授權座位免版稅; SaaS/OEM通過再分發附加元件 |
| 捆綁包的組成部分 | 7個程式庫(Spreadsheet, Document, Pdf, Presentation, Email, Imaging, PdfViewer) | 10個產品(IronPDF、IronWord、IronXL、IronPPT、IronOCR、IronBarcode、IronQR、IronPrint、IronZIP、IronWebScraper) |
| 格式/能力範圍 | XLSX, DOCX, PDF, PPTX, MSG/EML + SMTP/POP/IMAP, 點陣圖影像 | PDF, Office, OCR, 條碼/QR, ZIP, Print, 網頁抓取 |
| 跨平台/雲 | Windows, Linux, macOS。 部署只需要.NET | Windows、Linux、macOS、Docker、Azure、AWS Lambda |
| .NET運行時支持 | .NET Framework 3.5+,.NET Standard 2.0/2.1,現代.NET 6/7/8/9(按元件,需在NuGet上驗證) | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| 目標市場 | SMB和中型市場.NET開發者。 精簡Office/PDF/Email工具套件的買家 | 獨立開發者、中小企業、中型市場.NET團隊、ISV |
| 供應商 | GemBox Software | Iron Software |
如果每個付費等級的免版稅無限部署最為重要(ISVs運送到許多客戶站點而不需要單獨的OEM SKU),那麼GemBox.Bundle在單一開發者的價格$2,200內已內建此功能。 如果較低的進入價格和更廣泛的捆綁(含手寫的OCR,條碼,QR,網頁抓取,程式化列印)最為重要,Iron Suite在Lite等級下提供上述功能,價格從$2,998開始。
定價和授權
GemBox.Bundle以三個等級的永久授權出售:單一開發者$2,200,小團隊(最多10位開發者)$11,000,大團隊(最多50位開發者)$33,000。每個等級均包含一年專業支援和一年免費更新。 關鍵在於,每個付費等級都包括免版稅無限部署。 沒有單獨的OEM或伺服器SKU需要協商。 續訂以標準價格的6折進行(若在到期前續訂則為4折)。 提供了一個代表性共享和小型專案的免費限量級,受文件功能限制門檻,需使用特定的授權金鑰"FREE-LIMITED-KEY"。
Iron Suite以單一永久個人授權出售,分為五個等級(Lite, Plus, Professional, Unlimited和Enterprise),價格從$2,998開始,行銷定位為"所有10個產品僅收2個產品的價錢"。 節省75%。基礎授權對於授權席位、地點或專案是免版稅的,超出基礎授權的SaaS、OEM或分佈式再分發使用一個單獨定價的再分發附加元件。
在3到5年的範圍內,GemBox.Bundle作為永久席位運行,包含第一年的年度更新,續訂以標準價格的6折進行(若在到期前續訂則為4折)以繼續獲取更新。 Iron Suite是一次性永久購買,每位開發者的Lite等級價格為$2,998(更高級別按開發者數量調整); 部署對於授權座位是免版稅的,對於SaaS/OEM延伸的大規模擴展而言,再分發附加元件是唯一單獨定價的項目。
什麼是GemBox.Bundle
GemBox.Bundle是來自GemBox Software的主打捆綁,這是一個以其程式庫的輕量依賴性而聞名的專注精簡元件供應商。 該捆綁將七個GemBox程式庫整合為單一永久授權,並享有比單獨購買元件省40%的折扣,並且提供一個免費限量級,讓團隊以文件功能限制來進行原型開發和交付小型專案而無需授權費用。最新參考版本為GemBox.Bundle元版本2026.5.101,於2026年5月5日發布在NuGet上。 GemBox定位為Aspose和Spire的輕量化高效能替代方案,適合工作負載確切在Office/PDF/Email範疇內的團隊。
關鍵的捆綁組件和能力:
- GemBox.Spreadsheet:XLSX/XLS/XLSB/CSV/HTML/ODS讀寫和公式重算
- GemBox.Document:Word DOCX/DOC/PDF/RTF/HTML/MD/ODT建立和編輯
- GemBox.Pdf:PDF讀寫/編輯/合併
- GemBox.Presentation: PowerPoint PPTX/PPT/PPSX support
- GemBox.Email:MSG/EML處理和SMTP、POP、IMAP協議支援
- GemBox.Imaging + GemBox.PdfViewer:影像處理和嵌入式PDF顯示
什麼是Iron Suite
Iron Suite為Iron Software的十項產品.NET捆綁包。 Office套件(IronWord, IronXL, IronPPT)可程式化處理DOCX, XLSX和PPTX; IronPDF涵蓋了PDF生成、簽署、隱藏和光柵化; 識別套裝(IronOCR, IronBarcode, IronQR)增加了OCR、條碼和QR功能; 而IronPrint, IronZIP和IronWebScraper則完善列印、存檔和抓取功能。 以單一每位開發者的永久授權出售,從$2,998開始,對於授權席位是免版稅的。 SaaS和OEM再分發使用的是單獨的再分發外掛。
這十個組件,按與程式性Office和PDF工作流的相關性分組:
- Office套件(主題):IronWord(DOCX包含段落和文字運算物件圖,客製化樣式,內容擷取); IronXL(帶有公式重新計算、圖表、樞紐分析表、條件格式的XLSX); IronPPT(PPTX建立、編輯、內容擷取)。
- PDF生成(IronPDF):從HTML到PDF和URL到PDF的渲染,本地合併和拆分,PKCS#12加HSM加TSA簽名,PDF/A通過PDF/A-4,PDF/UA-1和PDF/UA-2,加密,AcroForm填寫和壓平,字體管理,光柵化,壓縮和線性化。
- 識別:IronOCR(Tesseract 5,125+語言,手寫大約~90%英語); IronBarcode(超過30種符號); IronQR(由ML驅動的批量
ReadPdfs)。 - 效用:IronPrint(無聲及對話框列印); IronZIP(ZIP/TAR/GZIP/BZIP2附AES); IronWebScraper(內部結構化抓取)。
功能比較
Excel 處理
兩個套件都覆蓋了Excel建立、公式重算和PDF匯出。 GemBox.Spreadsheet是最悠久的.NET Excel程式庫之一,且具有特別小的依賴性佔用空間。
// GemBox.Spreadsheet handles XLSX/CSV with formula recalculation and PDF export.
// NuGet: Install-Package GemBox.Bundle
using GemBox.Spreadsheet;
class Program
{
static void Main()
{
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
ExcelFile book = new ExcelFile();
ExcelWorksheet sheet = book.Worksheets.Add("Revenue");
sheet.Cells["A1"].Value = "Region";
sheet.Cells["B1"].Value = "Revenue";
sheet.Cells["A2"].Value = "EMEA";
sheet.Cells["B2"].Value = 120000;
sheet.Cells["B4"].Formula = "=SUM(B2:B3)";
book.Save("revenue.xlsx");
book.Save("revenue.pdf");
}
}// GemBox.Spreadsheet handles XLSX/CSV with formula recalculation and PDF export.
// NuGet: Install-Package GemBox.Bundle
using GemBox.Spreadsheet;
class Program
{
static void Main()
{
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
ExcelFile book = new ExcelFile();
ExcelWorksheet sheet = book.Worksheets.Add("Revenue");
sheet.Cells["A1"].Value = "Region";
sheet.Cells["B1"].Value = "Revenue";
sheet.Cells["A2"].Value = "EMEA";
sheet.Cells["B2"].Value = 120000;
sheet.Cells["B4"].Formula = "=SUM(B2:B3)";
book.Save("revenue.xlsx");
book.Save("revenue.pdf");
}
}Imports GemBox.Spreadsheet
Module Program
Sub Main()
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY")
Dim book As New ExcelFile()
Dim sheet As ExcelWorksheet = book.Worksheets.Add("Revenue")
sheet.Cells("A1").Value = "Region"
sheet.Cells("B1").Value = "Revenue"
sheet.Cells("A2").Value = "EMEA"
sheet.Cells("B2").Value = 120000
sheet.Cells("B4").Formula = "=SUM(B2:B3)"
book.Save("revenue.xlsx")
book.Save("revenue.pdf")
End Sub
End Module// NuGet: Install-Package IronXL.Excel
using IronXL;
class Program
{
static void Main()
{
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;
sheet["A3"].Value = "Widget B";
sheet["B3"].Value = 768;
sheet["B4"].Formula = "=SUM(B2:B3)";
workbook.EvaluateAll();
workbook.SaveAs("sales.xlsx");
}
}// NuGet: Install-Package IronXL.Excel
using IronXL;
class Program
{
static void Main()
{
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;
sheet["A3"].Value = "Widget B";
sheet["B3"].Value = 768;
sheet["B4"].Formula = "=SUM(B2:B3)";
workbook.EvaluateAll();
workbook.SaveAs("sales.xlsx");
}
}Imports IronXL
Module Program
Sub Main()
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
sheet("A3").Value = "Widget B"
sheet("B3").Value = 768
sheet("B4").Formula = "=SUM(B2:B3)"
workbook.EvaluateAll()
workbook.SaveAs("sales.xlsx")
End Sub
End ModuleGemBox.Spreadsheet要求在任何API使用之前即使在免費等級中也要顯式呼叫SpreadsheetInfo.SetLicense(...),這增加了一個設置行,但在每個GemBox程式庫中是一致的。 IronXL使用慣用的索引器風格的單元API(workbook.EvaluateAll()),並且可以直接儲存到XLSX和PDF。 這兩個引擎乾淨地覆蓋了讀寫/重算的範疇—— 在大型工作簿上的原始讀寫吞吐量是GemBox在投資的領域之一,而IronXL則專注於即席XLSX生成的API簡潔性。
文字處理
在GemBox程式庫中,GemBox.Document尤為突出,它具有廣泛的格式支援(DOCX, DOC, PDF, RTF, HTML, MD, ODT)和乾淨的物件模型。 IronWord針對DOCX建立和操作,具類似現代的物件圖API。
// GemBox.Document creates and converts DOCX/PDF/RTF/HTML/ODT without Office.
using GemBox.Document;
class Program
{
static void Main()
{
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
DocumentModel doc = new DocumentModel();
doc.Sections.Add(new Section(doc,
new Paragraph(doc, "Quarterly Report") { ParagraphFormat = { Style = doc.Styles[StyleTemplateType.Heading1] } },
new Paragraph(doc, "Generated from .NET with no Microsoft Word dependency.")
));
doc.Save("report.pdf");
}
}// GemBox.Document creates and converts DOCX/PDF/RTF/HTML/ODT without Office.
using GemBox.Document;
class Program
{
static void Main()
{
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
DocumentModel doc = new DocumentModel();
doc.Sections.Add(new Section(doc,
new Paragraph(doc, "Quarterly Report") { ParagraphFormat = { Style = doc.Styles[StyleTemplateType.Heading1] } },
new Paragraph(doc, "Generated from .NET with no Microsoft Word dependency.")
));
doc.Save("report.pdf");
}
}Imports GemBox.Document
Module Program
Sub Main()
ComponentInfo.SetLicense("FREE-LIMITED-KEY")
Dim doc As New DocumentModel()
doc.Sections.Add(New Section(doc,
New Paragraph(doc, "Quarterly Report") With {.ParagraphFormat = New ParagraphFormat() With {.Style = doc.Styles(StyleTemplateType.Heading1)}},
New Paragraph(doc, "Generated from .NET with no Microsoft Word dependency.")
))
doc.Save("report.pdf")
End Sub
End Module// NuGet: Install-Package IronWord
using IronWord;
using IronWord.Models;
class Program
{
static void Main()
{
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");
}
}// NuGet: Install-Package IronWord
using IronWord;
using IronWord.Models;
class Program
{
static void Main()
{
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");
}
}Imports IronWord
Imports IronWord.Models
Module Program
Sub Main()
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")
End Sub
End ModuleGemBox.Document的表達風格,通過將Sections/Paragraphs傳入構造函式,使得開發者可以內聯構建文件樹。而IronWord使用AddParagraph模式直接映射到OOXML,並以直接的C#呈現。 GemBox.Document已經在投資於格式轉換深度(特別是Markdown和ODT) - IronWord保持在DOCX、PDF和HTML範疇內,覆蓋了大多數後端工作流。
PDF生成與合併
兩個套件都覆蓋了PDF的讀寫/合併。 GemBox.Pdf在物件模型層面構建和編輯PDF。 IronPDF使用真正的Chrome引擎從HTML呈現PDF。
// GemBox.Pdf reads, edits, and merges PDFs without Adobe.
using GemBox.Pdf;
class Program
{
static void Main()
{
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
using PdfDocument combined = new PdfDocument();
foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
{
using PdfDocument part = PdfDocument.Load(path);
combined.Pages.AddClone(part.Pages);
}
combined.Save("merged.pdf");
}
}// GemBox.Pdf reads, edits, and merges PDFs without Adobe.
using GemBox.Pdf;
class Program
{
static void Main()
{
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
using PdfDocument combined = new PdfDocument();
foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
{
using PdfDocument part = PdfDocument.Load(path);
combined.Pages.AddClone(part.Pages);
}
combined.Save("merged.pdf");
}
}Imports GemBox.Pdf
Module Program
Sub Main()
ComponentInfo.SetLicense("FREE-LIMITED-KEY")
Using combined As New PdfDocument()
For Each path As String In {"invoice.pdf", "terms.pdf", "appendix.pdf"}
Using part As PdfDocument = PdfDocument.Load(path)
combined.Pages.AddClone(part.Pages)
End Using
Next
combined.Save("merged.pdf")
End Using
End Sub
End Module// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/merge-or-split-pdfs/
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// PdfDocument.Merge accepts an array or params list of PdfDocument objects.
// Order is preserved, and metadata, bookmarks, and annotations are retained.
string[] inputs = { "invoice.pdf", "terms.pdf", "appendix.pdf" };
List<PdfDocument> parts = new List<PdfDocument>();
foreach (string path in inputs)
parts.Add(PdfDocument.FromFile(path));
PdfDocument merged = PdfDocument.Merge(parts.ToArray());
merged.SaveAs("contract-package.pdf");
}
}// NuGet: Install-Package IronPdf
// Docs: https://ironpdf.com/how-to/merge-or-split-pdfs/
using IronPdf;
using System.Collections.Generic;
class Program
{
static void Main()
{
// PdfDocument.Merge accepts an array or params list of PdfDocument objects.
// Order is preserved, and metadata, bookmarks, and annotations are retained.
string[] inputs = { "invoice.pdf", "terms.pdf", "appendix.pdf" };
List<PdfDocument> parts = new List<PdfDocument>();
foreach (string path in inputs)
parts.Add(PdfDocument.FromFile(path));
PdfDocument merged = PdfDocument.Merge(parts.ToArray());
merged.SaveAs("contract-package.pdf");
}
}Imports IronPdf
Imports System.Collections.Generic
Module Program
Sub Main()
' PdfDocument.Merge accepts an array or params list of PdfDocument objects.
' Order is preserved, and metadata, bookmarks, and annotations are retained.
Dim inputs As String() = {"invoice.pdf", "terms.pdf", "appendix.pdf"}
Dim parts As New List(Of PdfDocument)()
For Each path As String In inputs
parts.Add(PdfDocument.FromFile(path))
Next
Dim merged As PdfDocument = PdfDocument.Merge(parts.ToArray())
merged.SaveAs("contract-package.pdf")
End Sub
End Module兩個引擎直接對PDF物件模型進行合併。 GemBox.Pdf暴露Pages.AddClone以進行細粒度的頁面樹操作; IronPDF的PdfDocument.Merge接受陣列並保留元資料,書籤和註釋。 IronPDF的HTML回環僅發生在從HTML建立PDF時; 合併、拆分、簽名和隱藏都在本地PDF結構上運行。
電子郵件(MSG/EML/SMTP/IMAP)
GemBox.Email是GemBox.Bundle中具差異化的元件之一。 它處理MSG和EML檔案格式,並支援SMTP、POP和IMAP協議使用者端。 Iron Suite不捆綁類似的電子郵件協議程式庫。
// GemBox.Email handles MSG/EML plus SMTP/POP/IMAP — useful for transactional mail flows.
using GemBox.Email;
using GemBox.Email.Smtp;
class Program
{
static void Main()
{
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
MailMessage msg = new MailMessage
{
From = "billing@example.com",
Subject = "Invoice 44213",
BodyHtml = "<p>Your invoice is attached.</p>"
};
msg.To.Add("customer@example.com");
msg.Attachments.Add(new Attachment("invoice.pdf"));
using SmtpClient smtp = new SmtpClient("smtp.example.com", 587);
smtp.Connect();
smtp.Authenticate("billing@example.com", "secret");
smtp.SendMessage(msg);
}
}// GemBox.Email handles MSG/EML plus SMTP/POP/IMAP — useful for transactional mail flows.
using GemBox.Email;
using GemBox.Email.Smtp;
class Program
{
static void Main()
{
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
MailMessage msg = new MailMessage
{
From = "billing@example.com",
Subject = "Invoice 44213",
BodyHtml = "<p>Your invoice is attached.</p>"
};
msg.To.Add("customer@example.com");
msg.Attachments.Add(new Attachment("invoice.pdf"));
using SmtpClient smtp = new SmtpClient("smtp.example.com", 587);
smtp.Connect();
smtp.Authenticate("billing@example.com", "secret");
smtp.SendMessage(msg);
}
}Imports GemBox.Email
Imports GemBox.Email.Smtp
Module Program
Sub Main()
ComponentInfo.SetLicense("FREE-LIMITED-KEY")
Dim msg As New MailMessage With {
.From = "billing@example.com",
.Subject = "Invoice 44213",
.BodyHtml = "<p>Your invoice is attached.</p>"
}
msg.To.Add("customer@example.com")
msg.Attachments.Add(New Attachment("invoice.pdf"))
Using smtp As New SmtpClient("smtp.example.com", 587)
smtp.Connect()
smtp.Authenticate("billing@example.com", "secret")
smtp.SendMessage(msg)
End Using
End Sub
End ModuleIron Suite的捆綁包保留關注於文件和識別套裝:PDF,Office,OCR,Barcode,QR,Print,ZIP和網頁抓取。 電子郵件檔案解析(MSG, EML)加上在同一個程式庫中的SMTP, POP和IMAP協議使用者端是GemBox.Email所販售的案例。 Iron Suite使用者撰寫、System.Net.Mail.SmtpClient(或使用如SendGrid或Postmark的交易性服務)進行向外發送,MailKit或類似程式庫進行MSG和EML解析。
為什麼選擇Iron Suite進行Code-First.NET文件自動化
$2,998入門等級(對比$2,200 GemBox.Bundle單一開發者)。 永久每位開發者授權分五個等級。 授權席位的免版稅部署。 十項產品包括OCR(Tesseract 5,超過125種語言,手寫),條碼(超過30種符號,MAUI掃描器),QR(ML驅動),程式化列印,ZIP/TAR/GZIP/BZIP2與AES,以及同行程網頁抓取。 PDF/A-1到PDF/A-4加上PDF/UA-1和PDF/UA-2。這就是為那些工作超越GemBox Office + PDF + Email + Imaging象限的團隊提供的Iron Suite主張。 在每天程式碼優先的.NET文件工作中有結構上的優勢:
- 較低的進入等級:Iron Suite Lite從$2,998開始; GemBox.Bundle從$2,200開始
- 更廣泛的10產品捆綁:Iron Suite包括IronOCR, IronBarcode,IronQR,IronPrint,IronZIP和IronWebScraper,這些都沒有GemBox的對應項
- 以HTML為首的PDF生成,具有完整的瀏覽器保真度 (CSS,網路字型,SVG) 適用於網頁数据轉PDF工作流程
- 永久每位開發者授權,在每個等級上都有透明的美元定價
Iron Suite和GemBox.Bundle有什麼不同
- 較低的進入價格。Iron SuiteLite從$2,998開始,而GemBox.Bundle的 $2,200 單一開發者等級; Iron Suite包含十個產品類別,而GemBox的額外三個。
- 現成的識別套裝。 IronOCR、IronBarcode和IronQR沒有GemBox的對應項。 對於包括掃描、識別或QR生成在內的工作流,GemBox無法單獨覆蓋該用例。
- 網頁抓取和ZIP (IronWebScraper, IronZIP) 與Iron Suite一起發送。 GemBox.Bundle涵蓋Office + PDF + Email + Imaging,但不包含這些相鄰的後端類別。
- 以HTML為首的PDF生成 與具有真實瀏覽器保真度對比GemBox.Pdf的物件模型原始API。
- 單一登入型授權金鑰註冊 模式跨產品使用。 GemBox要求在元空間開始時每個命名空間需要
ComponentInfo.SetLicense(...)進行呼叫,這在多產品工作流中增加了冗長度。 - 捆綁作用域紀律。 GemBox在Office/PDF/Email/Imaging的緊密焦點是有意識的,對於那些負載精確在該方向的團隊很有效果; Iron Suite將該方向擴展到包括識別和附加分類,且起始價更低。
結論
對於瘦小的SMB ISV而言,透過捐送報告和表格產品到多個客戶部署時不需要附加再分發費用,GemBox.Bundle就是套件。 Office, PDF, Email, 和 Imaging在$2,200的單一開發者等級之下,並且每個付費等級都包含免版稅的無限部署。 對於後端團隊的文件工作量提及Office 和 PDF以外涵蓋OCR(包括手寫識別)、條碼和QR識別、網頁抓取、以及程式化印刷的同一個授權,Iron Suite就是套件。 從$2,998在ironsoftware.com/csharp/suite上的,對授權座位是永久及免版稅的,並有單獨的再分發附加元件可供SaaS和OEM再分發使用。
