Auswahl der besten C#-Bibliothek für die Dokumentenerstellung im Jahr 2026
Bei $2.200 pro Entwickler für die Einstiegsstufe, setzt GemBox.Bundle einen klaren Beschaffungsmarker: sieben Dokument-Bibliotheken (Spreadsheet, Document, PDF, Presentation, Email, Imaging, PdfViewer) unter einer einzigen unbefristeten Lizenz mit lizenzfreier, unbegrenzter Bereitstellung in jeder bezahlten Stufe. Iron Suite setzt einen anderen Marker: zehn Produkte unter einer unbefristeten Lizenz ab $2,998, mit gebührenfreier Bereitstellung für die lizenzierten Plätze und einem separaten Weiterverbreitungs-Add-On für SaaS- oder OEM-Szenarien über die Basis hinaus. Beide sind keine Office-Abhängigkeit, beide laufen plattformübergreifend auf modernem .NET, beide liefern unbefristete Lizenzen.
Dieser Artikel führt mit dem, worauf eine beschaffungsorientierte Entscheidung tatsächlich ankommt: wie jedes Paket bepreist wird, was im Bundle enthalten ist und wie SaaS-Weiterverbreitung gehandhabt wird. Die Entwickleroberfläche und Code-Beispiele folgen unten für die Ingenieure, die es integrieren.
Vergleich auf einen Blick
| Dimension | GemBox.Bundle | Iron Suite |
|---|---|---|
| Preispolitische Positionierung | Einzelentwickler $2.200; Kleines Team (10 Entwickler) $11.000; Grosses Team (50 Entwickler) $33.000. Verlängerungen 40% Rabatt (60% wenn vor Ablauf). | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); alle 10 Produkte zum Preis von 2 |
| Lizenzmodell | Unbefristet pro Entwickler mit 1 Jahr kostenloser Updates und 1 Jahr professionellem Support; gebührenfreie, unbegrenzte Bereitstellung in jeder bezahlten Stufe; Free-Limited Stufe mit Limits pro Datei | Unbefristete pro Entwickler; gebührenfrei für lizenzierte Sitze; SaaS/OEM über Weiterverbreitungs-Add-On |
| Komponenten im Paket | 7 Bibliotheken (Tabellenkalkulation, Dokument, PDF, Präsentation, E-Mail, Imaging, PDF-Viewer) | 10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper) |
| Format- / Fähigkeitsabdeckung | XLSX, DOCX, PDF, PPTX, MSG/EML + SMTP/POP/IMAP, raster images | PDF, Office, OCR, Barcode/QR, ZIP, Print, Web Scraping |
| Plattformübergreifend / Cloud | Windows, Linux, macOS. Nur .NET erforderlich für Bereitstellung | Windows, Linux, macOS, Docker, Azure, AWS Lambda |
| .NET-Laufzeitunterstützung | .NET Framework 3.5+, .NET Standard 2.0/2.1, modernes .NET 6/7/8/9 (pro Komponente, auf NuGet verifizieren) | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| Zielmarkt | SMB und mittelständische .NET-Entwickler; Lean Office/PDF/Email-Toolkit Käufer | Unabhängige Entwickler, kleine und mittlere Unternehmen, mittlere Märkte .NET-Teams, ISVs |
| Anbieter | GemBox Software | Iron Software |
Wenn gebührenfreie, unbegrenzte Bereitstellung in jeder bezahlten Stufe am wichtigsten ist (ISVs, die zu vielen Kundenstandorten liefern, ohne eine separate OEM-SKU), ist GemBox.Bundle das eingebaut bei $2.200 für Einzelentwickler. Wenn ein niedrigerer Einstiegspreis und ein breiteres Paket (OCR mit Handschrift, Barcode, QR, Web Scraping, programmatischer Druck) am wichtigsten sind, decktIron Suitediesen Bereich ab $2,998 für die Lite-Stufe ab.
Preis- und Lizenzierungsbedingungen
GemBox.Bundle wird als unbefristete pro-Entwickler-Lizenz auf drei Ebenen verkauft: Einzelentwickler bei $2.200, Kleines Team (bis zu 10 Entwickler) bei $11.000 und Großes Team (bis zu 50 Entwickler) bei $33.000. Jede Stufe enthält ein Jahr professionellen Support und ein Jahr kostenlose Updates. Entscheidend, jede bezahlte Stufe umfasst gebührenfreie, unbegrenzte Bereitstellungen. Es gibt keine separate OEM- oder Server-SKU zu verhandeln. Verlängerungen laufen mit 40% Rabatt auf den Standardpreis (60% Rabatt bei Verlängerung vor Ablauf). Eine Free-Limited-Stufe existiert für Prototypen und kleine Projekte, begrenzt durch funktionsbezogene Dokumenteneinschränkungen und erfordert den buchstäblichen Lizenzschlüssel "FREE-LIMITED-KEY".
Iron Suite wird als einzelne unbefristete Lizenz pro Entwickler bei fünf Stufen verkauft (Lite, Plus, Professional, Unlimited und Enterprise), beginnend ab $2,998, mit der Marketing-Positionierung "alle 10 Produkte zum Preis von 2". 75% sparen." Die Basislizenz ist gebührenfrei für die lizenzierten Plätze, Standorte oder Projekte, und SaaS, OEM, oder verteilte Weiterverbreitung außerhalb der Basislizenz verwendet einen einzigen, separat bepreisten Redistribution Add-On.
Über einen Horizont von 3 bis 5 Jahren läuft GemBox.Bundle als unbefristeter Platz mit jährlichen Updates im ersten Jahr enthalten, dann Verlängerung bei 40% Rabatt auf den Standardpreis (60% Rabatt bei Verlängerung vor Ablauf) für kontinuierliche Updates.Iron Suiteist ein einmaliger unbefristeter Kauf ab $2,998 pro Entwickler für die Lite-Stufe (höhere Stufen skalieren nach Entwickleranzahl); Bereitstellung ist gebührenfrei für die lizenzierten Plätze unter der Basislizenz, mit dem Redistribution Add-On als das einzige separat bepreiste Element für SaaS/OEM-Erweiterung im großen Maßstab.
What is GemBox.Bundle
GemBox.Bundle ist das Hauptpaket von GemBox Software, ein fokussierter, schlanker Komponenten-Anbieter, bekannt für die kleine Abhängigkeitsgröße seiner Bibliotheken. Das Bündel aggregiert sieben GemBox-Bibliotheken in einer einzigen unbefristeten Lizenz mit einem 40% Rabatt im Vergleich zum Einzelkauf der Komponenten und bietet eine Free-Limited Stufe mit per Dokument Funktionslimits, die es Teams ermöglicht, Prototypen zu entwickeln und kleine Projekte ohne Lizenzkosten zu liefern. Das neueste Referenzrelease ist das GemBox.Bundle-Meta-Paket Version 2026.5.101, veröffentlicht am 2026-05-05 auf NuGet. GemBox ist als leichte, leistungsorientierte Alternative zu Aspose und Spire positioniert für Teams, deren Workload im Office/PDF/Email-Bereich liegt.
Schlüsselkomponenten und Fähigkeiten im Bundle:
- GemBox.Spreadsheet: XLSX/XLS/XLSB/CSV/HTML/ODS lesen/schreiben mit Formelumrechner
- GemBox.Document: Word DOCX/DOC/PDF/RTF/HTML/MD/ODT-Erstellung und -Bearbeitung
- GemBox.Pdf: PDF lesen/schreiben/bearbeiten/zusammenfügen
- GemBox.Presentation: Unterstützung für PowerPoint PPTX/PPT/PPSX
- GemBox.Email: MSG/EML-Handhabung mit SMTP, POP, IMAP Protokollunterstützung
- GemBox.Imaging + GemBox.PdfViewer: Bildverarbeitung und eingebettete PDF-Anzeige
Was ist Iron Suite
Iron Suite ist Iron Software's zehn-Produkte .NET Paket. Der Office-Stack (IronWord, IronXL, IronPPT) bearbeitet DOCX, XLSX und PPTX programmgesteuert; IronPDF umfasst die PDF-Oberfläche über Generierung, Signierung, Redaction und Rasterung; der Erkennungsstack (IronOCR, IronBarcode, IronQR) fügt OCR, Barcode und QR hinzu; und IronPrint, IronZIP und IronWebScraper runden Drucken, Archive und Scraping ab. Verkauf als einzelne unbefristete Lizenz pro Entwickler bei fünf Stufen ab $2,998, gebührenfrei für die lizenzierten Plätze. SaaS und OEM-Verteilung verwenden ein separates Redistribution Add-On.
Die zehn Komponenten, gruppiert nach Relevanz für einen programmgesteuerten Office- und PDF-Workflow:
- Office Stack (Anker): IronWord (DOCX mit Absatz- und Textlauf-Objektgrafik, benutzerdefinierte Stile, Inhaltsextraktion); IronXL (XLSX mit Formelumrechnung, Diagrammen, Pivot-Tabellen, bedingter Formatierung); IronPPT (PPTX Erstellung, Bearbeitung, Inhaltsextraktion).
- PDF-Generierung (IronPDF): HTML-zu-PDF- und URL-zu-PDF-Rendering, native Zusammenführung und Trennung, PKCS#12 plus HSM plus TSA-Signierung, PDF/A bis PDF/A-4, PDF/UA-1 und PDF/UA-2, Verschlüsselung, AcroForm-Füllen und -Abflachen, Schriftartenverwaltung, Rasterung, Kompression und Linearisation.
- Erkennung: IronOCR (Tesseract 5, 125+ Sprachen, Handschrift bei ~90% Englisch); IronBarcode (30+ symbologies); IronQR (ML-gestützt mit Batch
ReadPdfs). - Utilities: IronPrint (stilles und Dialog-Drucken); IronZIP (ZIP/TAR/GZIP/BZIP2 with AES); IronWebScraper (In-Process-Strukturiertes-Scraping).
Vergleich der Fähigkeiten
Excel-Verarbeitung
Beide Suiten decken Excel-Erstellung, Formelumrechnung und PDF-Export ab. GemBox.Spreadsheet ist eine der am längsten laufenden .NET-Excel-Bibliotheken und hat einen besonders kleinen Abhängigkeitsumfang.
// 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 Module
GemBox.Spreadsheet erfordert einen expliziten SpreadsheetInfo.SetLicense(...)-Aufruf vor jeder API-Nutzung, auch in der kostenlosen Stufe, was eine Einrichtungslinie hinzufügt, aber konsistent über jede GemBox-Bibliothek hinweg ist. IronXL verwendet eine idiomatische Indexer-Stil-API für Zellen (sheet["A1"].Value = …, sheet["B4"].Formula = …, workbook.EvaluateAll()) und kann direkt in sowohl XLSX als auch PDF speichern. Beide Motoren decken den Lese-/Schreib-/Neuberechnungsbereich sauber ab — der rohe Lese-/Schreibdurchsatz bei großen Arbeitsmappen ist ein Bereich, in den GemBox investiert hat, während sich IronXL auf API-Konzessenheit für die ad-hoc XLSX-Erzeugung konzentriert hat.
Textverarbeitung
GemBox.Document ist der herausragende Teil der GemBox-Bibliotheken, es hat breite Format-Unterstützung (DOCX, DOC, PDF, RTF, HTML, MD, ODT) und ein sauberes Objektmodell. IronWord zielt auf DOCX-Erstellung und -Manipulation mit einer ähnlichen modernen Objektgrafik-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 Module
GemBox.Document's Ausdrucksstil, der Sektionen/Absätze in Konstruktoren übergibt, ist prägnant und erlaubt einem Entwickler, einen Dokumentbaum inline zu erstellen. IronWord verwendet ein AddParagraph-Muster, das direkt auf OOXML abbildet und als einfaches C# gelesen wird. GemBox.Document hat tiefer in die Formatkonvertierung investiert (insbesondere Markdown und ODT) — IronWord bleibt im DOCX, PDF, und HTML-Bereich, der die meisten Backend-Workflows abdeckt.
PDF-Erzeugung und -Zusammenführung
Beide Suiten decken PDF lesen/schreiben/zusammenfügen ab. GemBox.Pdf baut und bearbeitet PDFs auf der Objektemodell-Ebene. IronPDF rendert PDFs aus HTML mit einer realen Chrome-Engine.
// 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
Beide Motoren fügen sich direkt gegen das PDF-Objektmodell zusammen. GemBox.Pdf legt Pages.AddClone offen für feinabgestimmte Seitbaum-Manipulation; IronPDF's PdfDocument.Merge akzeptiert ein Array und bewahrt Metadaten, Lesezeichen und Anmerkungen. Der HTML-Rundtrip in IronPDF tritt nur auf, wenn ein PDF aus HTML erstellt wird; Zusammenfügen, Trennen, Signieren und Redigieren arbeiten alle auf der nativen PDF-Struktur.
Email (MSG/EML/SMTP/IMAP)
GemBox.Email ist einer der differenzierten Komponenten innerhalb von GemBox.Bundle. Es verarbeitet MSG- und EML-Dateiformate sowie SMTP, POP und IMAP Protokollklienten.Iron Suitebündelt keine gleichwertige E-Mail-Protokoll-Bibliothek.
// 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 Module
Das Bundle vonIron Suitebleibt fokussiert auf den Dokument- und Erkennungsstack: PDF, Office, OCR, Barcode, QR, Print, ZIP und Web-Scraping. Die E-Mail-Datei-Parsung (MSG, EML) plus SMTP, POP und IMAP-Protokollkunden in derselben Bibliothek ist der Fall, für den GemBox.Email verkauft wird. Iron Suite-Benutzer erstellen, System.Net.Mail.SmtpClient (oder einen Transaktionsdienst wie SendGrid oder Postmark) für den ausgehenden Versand, MailKit oder ähnliches für MSG- und EML-Parsing.
Warum Sie sich für dieIron Suitefür Code-First .NET-Dokumentenautomatisierung entscheiden sollten
$2,998 Einstiegsstufe (vs $2,200 GemBox.Bundle Einzellizenz). Unbefristete pro-Entwickler Lizenz auf fünf Stufen. Gebührenfreie Bereitstellung für die lizenzierten Plätze. Zehn Produkte einschließlich OCR (Tesseract 5, 125+ Sprachen, Handschrift), Barcode (30+ Symbologien, MAUI Scanner), QR (ML-unterstützt), programmatisches Drucken, ZIP/TAR/GZIP/BZIP2 mit AES und In-Process Web-Scraping. PDF/A-1 bis PDF/A-4 plus PDF/UA-1 und PDF/UA-2. Das ist das Iron Suite-Angebot für Teams, deren Arbeit weiter als der GemBox-Office + PDF + Email + Imaging-Quadrant geht. Strukturelle Vorteile, die für den alltäglichen Code-First .NET-Dokumentenarbeit wichtig sind:
- Niedrigere Einstiegsstufe:Iron SuiteLite beginnt bei $2,998; GemBox.Bundle startet bei $2.200
- Breiteres 10-Produkt-Bundle:Iron Suiteenthält IronOCR, IronBarcode, IronQR, IronPrint, IronZIP und IronWebScraper, wovon keine ein Äquivalent bei GemBox haben.
- HTML-First PDF-Generierung mit voller Browser-Treue (CSS, Web-Schriften, SVG) für Web-Daten-zu-PDF Arbeitslasten
- Unbefristete pro-Entwickler-Lizenzierung mit transparenten USD-Preisen auf jeder Ebene
Wie unterscheidet sichIron Suitevon GemBox.Bundle
- Niedrigerer Einstiegspreis.Iron SuiteLite beginnt bei $2,998 im Vergleich zu GemBox.Bundle's $2,200 Einzellizenz; undIron Suitedeckt zehn Produktkategorien ab, gegenüber GemBoxs sieben.
- Erkennungsstack von der Stange. IronOCR, IronBarcode und IronQR haben kein Äquivalent bei GemBox. Für Workflows, die Scannen, Erkennung oder QR-Erzeugung beinhalten, kann GemBox den Anwendungsfall nicht allein abdecken.
- Web-Scraping und ZIP werden im Iron Suite-Bundle ausgeliefert (IronWebScraper, IronZIP). GemBox.Bundle deckt Office + PDF + Email + Imaging ab, aber nicht diese angrenzenden Backend-Kategorien.
- HTML-First PDF-Generierung mit echter Browser-Treue gegenüber GemBox.Pdfs objektmodell-primitiver API.
- Einzellizenzschlüssel-Registrierungsmodell über Produkte hinweg. GemBox erfordert entweder
SpreadsheetInfo.SetLicense(...)oderComponentInfo.SetLicense(...)pro Namespace beim Prozessstart, was bei Mehrprodukt-Workloads zu mehr Umfang führt. - Bündelungs-Disziplin. GemBoxs Fokus auf Office/PDF/Email/Imaging ist absichtlich und funktioniert gut für Teams, deren Workload genau in diesem Bereich liegt;Iron Suiteerweitert diesen Bereich um Erkennung und angrenzende Kategorien zu einem niedrigeren Einstiegspreis.
Abschluss
Für das schlanke SMB-ISV, das ein Formulare-und-Berichte-Produkt zu vielen Kundendeployments ohne zusätzliche Weiterverbreitung aufstellt, ist GemBox.Bundle das Kit. Office, PDF, Email und Imaging unter einer Einzelentwickler-Stufe von $2.200 mit gebührenfreier, unbegrenzter Bereitstellung in jeder bezahlten Stufe. Für das Backend-Team, dessen Dokument-Arbeitsbelastung über Office und PDF hinaus in OCR (einschließlich Handschrift), Barcode- und QR-Erkennung, Web-Scraping und programmatisches Drucken unter einer Lizenz reicht, istIron Suitedas Kit. Ab $2,998 bei ironsoftware.com/csharp/suite, unbefristet und gebührenfrei für die lizenzierten Plätze, mit einem separaten Weiterverbreitungs-Add-On für SaaS- und OEM-Weiterverbreitung im großen Maßstab.