Iron Suite a GemBox.Bundle
Za $2 200 per developer dla tieru wejściowego, GemBox.Bundle ustawia wyraźny wskaźnik zakupu: siedem bibliotek dokumentów (Arkusz kalkulacyjny, Dokument, PDF, Prezentacja, Email, Obrazowanie, PdfViewer) pod jedną wieczystą licencją z bezpłatnym nieograniczonym wdrożeniem zawartym na każdym płatnym poziomie. Iron Suite ustanawia inny znacznik: dziesięć produktów pod jedną licencją wieczystą zaczynając od $2,998, z redystrybucją bez opłat licencyjnych dla licencjonowanych miejsc i oddzielnym dodatkiem do redystrybucji dla SaaS lub OEM poza bazą. Oba są bez zależności od Office, oba działają cross-platform na nowoczesnym .NET, oba dostarczają licencje wieczyste.
Ten artykuł zaczyna się od tego, na co faktycznie opiera się decyzja o udzieleniu zamówienia: jak wyceniana jest każda paczka, co jest w pakiecie i jak SaaS redystrybucja jest obsługiwana. Powierzchnia na poziomie dewelopera i przykłady kodu są podane poniżej dla inżynierów integrujących.
Porownanie na pierwszy rzut oka
| Wymiary | GemBox.Bundle | Iron Suite |
|---|---|---|
| Pozycjonowanie cenowe | Pojedynczy deweloper $2 200; Mały Zespół (10 dev) $11 000; Duży Zespół (50 devs) $33 000. Odnowienia 40% zniżki (60%, jeśli przed wygaśnięciem). | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (niestandardowe Enterprise); wszystkie 10 produktów w cenie 2 |
| Model licencji | Wieczysty per-developer z 1 rok darmowych aktualizacji i 1 rok profesjonalnego wsparcia; bezpłatne nieograniczone wdrożenie na każdym płatnym poziomie; Darmowy-Ograniczony poziom z limitami per-plik | Wieczyste na dewelopera; bez oplat licencyjnych dla licencjonowanych miejsc; SaaS/OEM poprzez Dodatek Redystrybucyjny |
| Komponenty w zestawie | 7 bibliotek (Arkusz kalkulacyjny, Dokument, PDF, Prezentacja, Email, Obrazowanie, PdfViewer) | 10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper) |
| Zasięg formatu/możliwości | XLSX, DOCX, PDF, PPTX, MSG/EML + SMTP/POP/IMAP, obrazy rastrowe | PDF, Office, OCR, Kod kreskowy/QR, ZIP, Druk, Web Scraping |
| Wsparcie międzyplatformowe/chmurowe | Windows, Linux, macOS. Tylko .NET wymagany do wdrożenia | Windows, Linux, macOS, Docker, Azure, AWS Lambda |
| Wsparcie dla uruchamiania .NET | .NET Framework 3.5+, .NET Standard 2.0/2.1, modern .NET 6/7/8/9 (per-component, verify on NuGet) | .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10 |
| Rynek docelowy | SMB i średnio-rynkowi deweloperzy .NET; kupujący chude toolkity Office/PDF/Email | Niezależni deweloperzy, SMB, zespoły .NET średniej wielkości, ISVs |
| Dostawca | GemBox Software | "Iron Software" |
Jeśli najważniejsze jest bezpłatne nieograniczone wdrożenie na każdym płatnym poziomie (ISV wysyłający do wielu miejsc klientów bez oddzielnego SKU OEM), GemBox.Bundle ma to wbudowane za $2 200 dla pojedynczego dewelopera. Jeśli niższa cena wejściowa i szerszy pakiet (OCR z pismem ręcznym, kod kreskowy, QR, web scraping, drukowanie programowe) mają największe znaczenie,Iron Suitepokrywa tę powierzchnię za $2,998 dla poziomu Lite.
Ceny i licencje
GemBox.Bundle jest sprzedawany jako wieczysta licencja per-developer na trzech poziomach: Pojedynczy Developer za $2 200, Mały Zespół (do 10 developerów) za $11 000, i Duży Zespół (do 50 developerów) za $33 000. Każdy poziom obejmuje jeden rok profesjonalnego wsparcia i jeden rok darmowych aktualizacji. Co najważniejsze, każdy płatny poziom obejmuje bezpłatne nieograniczone wdrożenia. Nie ma oddzielnego SKU OEM lub serwerowego do negocjacji. Odnowienia są z rabatem 40% od stawki standardowej (60% zniżki, jeśli odnowiono przed wygaśnięciem). Istnieje poziom Bezpłatny-Ograniczony do prototypowania i małych projektów, ograniczony przez limity funkcji na dokument i wymaga dosłownego klucza licencyjnego "FREE-LIMITED-KEY".
Iron Suite jest sprzedawany jako jedna wieczysta licencja na programistę na pięciu poziomach (Lite, Plus, Professional, Unlimited i Enterprise) zaczynając od $2,998, z pozycjonowaniem marketingowym "wszystkie 10 produktów w cenie 2. oszczędź 75%." Podstawowa licencja jest bezpłatna dla licencjonowanych miejsc, lokalizacji lub projektów, a SaaS, OEM lub rozprowadzanie redystrybucji poza podstawową licencją wykorzystuje jednorazowy, oddzielnie ceniony Dodatek do Redystrybucji.
Na horyzoncie 3-5 letnim, GemBox.Bundle działa jako wieczyste miejsce z rocznymi aktualizacjami wliczonymi w pierwszy rok, a następnie odnowieniem 40% zniżki od stawki standardowej (60% zniżki, jeśli odnowiono przed wygaśnięciem) dla kontynuowanych aktualizacji.Iron Suiteto jednorazowy zakup wieczysty w cenie $2,998 na programistę dla poziomu Lite (wyższe poziomy skalują się według liczby programistów); wdrożenie jest bez opłat dla licencjonowanych miejsc pracy pod podstawową licencją, z dodatkiem do redystrybucji jako jedynym osobno cenionym elementem dla rozszerzenia SaaS/OEM na skalę.
Czym jest GemBox.Bundle
GemBox.Bundle to główna wiązka od GemBox Software, skoncentrowanego, skomponowanego dostawcy komponentów znanej ze swojej małej zależności śladu swoich bibliotek. Pakiet zawiera siedem bibliotek GemBox w jednej wieczystej licencji z 40% zniżką w porównaniu do zakupu komponentów osobno i oferuje Darmowy-Ograniczony poziom z ograniczeniami funkcji na dokument, który pozwala zespołom na prototypowanie i wysyłanie małych projektów bez kosztów licencji. Najnowsza wersja referencyjna to GemBox.Bundle meta-pakiet wersja 2026.5.101, opublikowana 2026-05-05 na NuGet. GemBox jest pozycjonowany jako lekka, zorientowana na wydajność alternatywa dla Aspose i Spire dla zespołów, których obciążenie znajduje się w kategorii Office/PDF/Email.
Kluczowe komponenty i możliwości w zestawie:
- GemBox.Spreadsheet: XLSX/XLS/XLSB/CSV/HTML/ODS odczyt/zapis z przeliczeniem formuł
- GemBox.Document: Tworzenie i edycja Word DOCX/DOC/PDF/RTF/HTML/MD/ODT
- GemBox.Pdf: odczyt/zapis/edycja/łączenie PDF
- GemBox.Presentation: wsparcie PPTX/PPT/PPSX PowerPoint
- GemBox.Email: obsługa MSG/EML z protokołami SMTP, POP, IMAP
- GemBox.Imaging + GemBox.PdfViewer: przetwarzanie obrazów i wbudowane wyświetlanie PDF
Co to jest Iron Suite
Iron Suite to pakiet dziesięciu produktów .NET firmy Iron Software. Stos Office (IronWord, IronXL, IronPPT) obsługuje programowo DOCX, XLSX i PPTX; IronPDF obsługuje powierzchnię PDF w zakresie generacji, podpisywania, redakcji i rasteryzacji; stos rozpoznawania (IronOCR, IronBarcode, IronQR) dodaje rozpoznawanie tekstu, kodów kreskowych i QR; a IronPrint, IronZIP i IronWebScraper uzupełniają drukowanie, archiwizację i scraping. Sprzedawana jako jedna wieczysta licencja na programistę na pięciu poziomach zaczynając od $2,998, bez opłat licencyjnych dla licencjonowanych miejsc. SaaS i OEM redystrybucja używają oddzielnego Dodatku do Redystrybucji.
Dziesięć komponentów, pogrupowanych według znaczenia dla programowego przepływu pracy Office i PDF:
- Stos Office (anchor): IronWord (DOCX z obiektowymi grafikami akapitów i łańcuchów tekstowych, niestandardowe stylizowanie, wyodrębnianie treści); IronXL (XLSX z przeliczaniem formuł, wykresami, tabelami przestawnymi, formatowaniem warunkowym); IronPPT (tworzenie, edycja, wyodrębnianie treści z PPTX).
- Generowanie PDF (IronPDF): renderowanie HTML-na-PDF i URL-na-PDF, natywne łączenie i dzielenie, podpisywanie PKCS#12 plus HSM plus TSA, PDF/A do PDF/A-4, PDF/UA-1 i PDF/UA-2, szyfrowanie, wypełnianie i spłaszczanie formularzy AcroForm, zarządzanie czcionkami, rasteryzacja, kompresja i linearizacja.
- Rozpoznawanie: IronOCR (Tesseract 5, 125+ języków, odręczne pismo w ~90% angielskim); IronBarcode (ponad 30 symbologii); IronQR (zasilany ML z partią
ReadPdfs). - Utility: IronPrint (ciche i z dialogiem drukowanie); IronZIP (ZIP/TAR/GZIP/BZIP2 with AES); IronWebScraper (zorganizowane przetwarzanie scrapingowe w trakcie procesu).
Porównanie funkcjonalności
Przetwarzanie Excela
Oba pakiety obejmują tworzenie Excel, przeliczanie formuł i eksport PDF. GemBox.Spreadsheet to jedna z najdłużej działających bibliotek Excel .NET i ma szczególnie małe wymagania dotyczące zależności.
// 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 wymaga wywołania SpreadsheetInfo.SetLicense(...) przed jakimkolwiek użyciem API, nawet w darmowym poziomie, co dodaje linię konfiguracyjną, ale jest zgodne we wszystkich bibliotekach GemBox. IronXL używa idiomatycznego API komórki w stylu indeksatora (sheet["A1"].Value = …, sheet["B4"].Formula = …, workbook.EvaluateAll()) i może zapisywać bezpośrednio do formatów XLSX i PDF. Oba silniki obejmują zakres odczyt/zapis/przeliczanie w czysty sposób — surowa przepustowość odczytu/zapisu na dużych skoroszytach to obszar, w którym GemBox inwestował, podczas gdy IronXL koncentrował się na zwięzłości API do ad-hoc generowania XLSX.
Przetwarzanie tekstu
GemBox.Document wyróżnia się wśród bibliotek GemBox, ma szerokie wsparcie formatów (DOCX, DOC, PDF, RTF, HTML, MD, ODT) i czysty model obiektowy. IronWord koncentruje się na tworzeniu i manipulacji DOCX przy użyciu podobnego nowoczesnego API z grafami obiektów.
// 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 ModuleStyl wyrażeniowy GemBox.Document, przekazywanie Sekcji/Akapitów do konstruktorów, jest zwięzły i pozwala programiście budować drzewo dokumentu w linii. IronWord używa wzorca AddParagraph, który mapuje bezpośrednio do OOXML i czyta się jak proste C#. GemBox.Document inwestuje w głębię konwersji formatów (szczególnie Markdown i ODT) — IronWord pozostaje w ramach DOCX, PDF i HTML, które obejmują większość przepływów pracy zaplecza.
Generowanie i scalanie PDF
Oba pakiety obejmują odczyt/zapis/łączenie PDF. GemBox.Pdf buduje i edytuje PDF-y na poziomie modelu obiektowego. IronPDF renderuje PDF-y z HTML przy użyciu prawdziwego silnika Chrome.
// 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 ModuleOba silniki łączą się bezpośrednio z modelem obiektowym PDF. GemBox.Pdf udostępnia Pages.AddClone do precyzyjnej manipulacji drzewa stron; Funkcja PdfDocument.Merge w IronPDF akceptuje tablicę i zachowuje metadane, zakładki oraz adnotacje. Okresowy round-trip w IronPDF ma miejsce tylko przy tworzeniu PDF z HTML; łączenie, dzielenie, podpisywanie i redagowanie wszystkie operują na natywnej strukturze PDF.
Email (MSG/EML/SMTP/IMAP)
GemBox.Email to jeden z wyróżniających się komponentów w GemBox.Bundle. Obsługuje formaty plików MSG i EML oraz klientów protokołów SMTP, POP i IMAP.Iron Suitenie zawiera równoważnej biblioteki protokołów e-mail.
// 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 ModulePakietIron Suiteskupia się na stosie dokumentów i rozpoznawania: PDF, Office, OCR, Barcode, QR, druk, ZIP i web scraping. Parsing plików e-mail (MSG, EML) plus klienci protokołów SMTP, POP i IMAP w tej samej bibliotece to przypadek dla którego sprzedawana jest GemBox.Email. UżytkownicyIron Suitekomponują, System.Net.Mail.SmtpClient (lub usługę transakcyjną taką jak SendGrid lub Postmark) do wysyłki, MailKit lub podobne do analizy MSG i EML.
Dlaczego warto wybraćIron Suitedo automatyzacji dokumentów .NET zatytułowanej przez kod
Poziom wejściowy $2,998 (w porównaniu do $2 200 GemBox.Bundle Single Developer). Wieczysta na programistę na pięciu poziomach. Dystrybucja bez opłat licencyjnych dla licencjonowanych miejsc. Dziesięć produktów, w tym OCR (Tesseract 5, 125+ języków, pismo odręczne), kod kreskowy (ponad 30 symbologii, skaner MAUI), QR (zasilany przez ML), programowe drukowanie, ZIP/TAR/GZIP/BZIP2 z AES i web scraping w ramach procesu. PDF/A-1 do PDF/A-4 plus PDF/UA-1 i PDF/UA-2. To jest propozycjaIron Suitedla zespołów, których działalność wykracza poza kwadrant GemBox Office + PDF + Email + Imaging. Stukturalne krawędzie, które mają znaczenie dla codziennej pracy z dokumentami .NET opartymi na kodzie:
- Niższy poziom wejściowy:Iron SuiteLite zaczyna się od $2,998; GemBox.Bundle zaczyna się od $2,200
- Szerszy pakiet 10 produktów:Iron Suitezawiera IronOCR, IronBarcode, IronQR, IronPrint, IronZIP i IronWebScraper, z których żaden nie ma odpowiednika GemBox
- Generowanie PDF z priorytetem HTML z pełną zgodnością z przeglądarką (CSS, czcionki webowe, SVG) dla obciążeń web-data-to-PDF
- Wieczysta licencja na programistę z przezroczystym cennikiem w USD na każdym poziomie
JakIron SuiteRóżni się od GemBox.Bundle
- Niższa cena wejściowa.Iron SuiteLite zaczyna się od $2,998 w porównaniu do $2 200 pojedynczego poziomu dewelopera GemBox.Bundle; aIron Suiteobejmuje dziesięć kategorii produktów w porównaniu do siedmiu GemBox'a.
- Stos rozpoznawania gotowy od razu. IronOCR, IronBarcode i IronQR nie mają odpowiednika GemBox. Dla przepływów pracy, które obejmują skanowanie, rozpoznawanie lub generowanie QR, GemBox nie może pokryć tego samodzielnie.
- Skaperowanie webowe i ZIP są dostarczane w ramachIron Suite(IronWebScraper, IronZIP). GemBox.Bundle obejmuje Office + PDF + Email + Imaging, ale nie te przyległe kategorie zaplecza.
- Generowanie PDF z priorytetem HTML z rzeczywistą zgodnością z przeglądarką w porównaniu do "prymitywnego" API modelu obiektowego GemBox.Pdf.
- Model rejestracji za pomocą jednego klucza licencyjnego w produktach. GemBox wymaga albo
SpreadsheetInfo.SetLicense(...), alboComponentInfo.SetLicense(...)na przestrzeń nazw przy starcie procesu, co dodaje rozwlekłości w obciążeniach wieloproduktowych. - Dyscyplina zakresu pakietu. Ścisła koncentracja GemBox na Office/PDF/Email/Imaging jest celowa i działa dobrze dla zespołów, których obciążenie robocze znajduje się dokładnie w tej przestrzeni;Iron Suiterozszerza tę przestrzeń, aby obejmować rozpoznawanie i przyległe kategorie przy niższej początkowej cenie.
Wnioski
Dla szczupłego SMB ISV wysyłającego produkt z formularzami i raportami do wielu wdrożeń klientów bez dodatkowej opłaty licencyjnej, GemBox.Bundle to zestaw. Office, PDF, Email i Imaging pod jedną kategorią Single Developer w wysokości $2,200 z wliczoną bezpłatną nieograniczoną dystrybucją na każdym płatnym poziomie. Dla zespołu zaplecza, którego obciążenie robocze związane z dokumentami wykracza poza Office i PDF do OCR (w tym pisma odręcznego), rozpoznawania kodów kreskowych i QR, web scraping'u i programowego drukowania pod jedną licencją,Iron Suitejest zestawem. Od $2,998 na ironsoftware.com/csharp/suite, wieczyście i bez opłat licencyjnych dla licencjonowanych miejsc, z oddzielnym dodatkiem do redystrybucji dla SaaS i OEM na dużą skalę.
