PORóWNANIE

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

WymiaryGemBox.BundleIron Suite
Pozycjonowanie cenowePojedynczy 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 licencjiWieczysty 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-plikWieczyste na dewelopera; bez oplat licencyjnych dla licencjonowanych miejsc; SaaS/OEM poprzez Dodatek Redystrybucyjny
Komponenty w zestawie7 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ściXLSX, DOCX, PDF, PPTX, MSG/EML + SMTP/POP/IMAP, obrazy rastrowePDF, Office, OCR, Kod kreskowy/QR, ZIP, Druk, Web Scraping
Wsparcie międzyplatformowe/chmuroweWindows, Linux, macOS. Tylko .NET wymagany do wdrożeniaWindows, 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 docelowySMB i średnio-rynkowi deweloperzy .NET; kupujący chude toolkity Office/PDF/EmailNiezależni deweloperzy, SMB, zespoły .NET średniej wielkości, ISVs
DostawcaGemBox 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
$vbLabelText   $csharpLabel
// 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
$vbLabelText   $csharpLabel

GemBox.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
$vbLabelText   $csharpLabel
// 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
$vbLabelText   $csharpLabel

Styl 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
$vbLabelText   $csharpLabel
// 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
$vbLabelText   $csharpLabel

Oba 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 Module
$vbLabelText   $csharpLabel

PakietIron 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(...), albo ComponentInfo.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ę.

Zwróć uwagęGemBox.Bundle jest zarejestrowanym znakiem towarowym swojego właściciela. Ta strona nie jest powiązana z, autoryzowana przez lub sponsorowana przez GemBox.Bundle. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.