비교

2026년 문서 생성에 적합한 C# 라이브러리 선택하기

개발자 당 $2,200으로 하위 계층이 시작하는 GemBox.Bundle은 명확한 조달 표식을 설정합니다: 하나의 영구 라이센스 하에 7개의 문서 라이브러리 (스프레드시트, 문서, PDF, 프레젠테이션, 이메일 및 이미징, PdfViewer)와 모든 유료 계층에 포함된 로열티 프리 무제한 배포. Iron Suite는 다른 마커를 설정합니다: 10개의 제품이 하나의 영구 라이선스 아래에서 $2,998부터 시작하며, 라이선스 좌석에 대해 로열티 무료 배포 및 SaaS 또는 OEM 시나리오를 위한 별도의 재배포 애드온을 제공합니다. 둘 다 Office 의존성이 없으며, 모두 최신 .NET에서 크로스 플랫폼에서 작동하며, 모두 영구 라이센스를 제공합니다.

이 기사에서는 실제로 조달 주도 결정이 어떻게 매달려 있는지에 대해 우선시 합니다: 각 스위트의 가격 책정 방식, 번들에 있는 항목, SáA 재배포 방식. 아래는 엔지니어들이 이를 통합하는 데 사용할 수 있는 개발자 수준의 표면 및 코드 샘플이 제공됩니다.

간단한 비교

차원GemBox.BundleIron Suite
가격 위치단일 개발자 $2,200; 소규모 팀 (10명 개발자) $11,000; 대규모팀 (50명 개발자) $33,000. 갱신은 표준 요금의 40% (만료 전에 갱신 시 60%) 할인.Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); 2개의 가격으로 10개의 모든 제품 제공
라이선스 모델개발자 당 영구적이며 1년간의 무료 업데이트 및 1년간의 전문 지원; 모든 유료 계층에서 로열티 프리 무제한 배포; Free-Limited 계층은 파일당 한도가 있음영구 개발자당; 라이센스 좌석에 대해 로열티가 없음; 재배포 추가 기능을 통한 SaaS/OEM
번들 내 구성 요소7개 라이브러리 (스프레드시트, 문서, Pdf, 프레젠테이션, 이메일, 이미징, PdfViewer)10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper)
형식/기능 범위XLSX, DOCX, PDF, PPTX, MSG/EML + SMTP/POP/IMAP, 래스터 이미지PDF, Office, OCR, Barcode/QR, ZIP, Print, 웹 스크래핑
크로스 플랫폼 / 클라우드Windows, Linux, macOS. 배포에 .NET만 필요윈도우, 리눅스, 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 툴킷 구매자독립 개발자, SMB, 중간 시장 .NET 팀, ISV
공급업체GemBox SoftwareIron Software

모든 유료 계층에서 로열티 프리 무제한 배포가 가장 중요하다면 (별도의 OEM SKU 없이 여러 고객 사이트로 배송하는 ISV의 경우), GemBox.Bundle은 $2,200에 개발자를 위한 기본적으로 가지고 있습니다. 더 낮은 입장 가격과 더 넓은 번들(OCR과 필기 인식, 바코드, QR, 웹 스크래핑, 프로그램 적 프린팅)이 가장 중요하다면, Iron Suite는 Lite 티어에 대해 $2,998에 그 표면을 다룹니다.

가격 및 라이선스

GemBox.Bundle은 개발자당 세 가지 계층에서 영구 라이센스로 판매됩니다: 단일 개발자는 $2,200, 소규모 팀 (최대 10명의 개발자)은 $11,000, 대규모 팀 (최대 50명의 개발자)은 $33,000. 각 계층은 1년간의 전문 지원과 1년간의 무료 업데이트를 포함합니다. 가장 중요한 것은, 모든 유료 계층에 로열티 프리 무제한 배포가 포함되어 있다는 것입니다. 협상할 별도의 OEM 또는 서버 SKU가 없습니다. 갱신은 표준 요금의 40% 할인된 요금으로 진행됩니다 (만료 전 갱신 시 60% 할인). 프리-리미티드 티어가 있으며, 프로토타이핑 및 소규모 프로젝트를 위해 존재합니다. 문서별 기능 제한에 의해 제한되며, 문자 그대로의 라이선스 키 "FREE-LIMITED-KEY"가 필요합니다.

Iron Suite는 "2개의 가격에 10개의 모든 제품"이라는 마케팅 포지셔닝과 함께 $2,998부터 시작하여 5개의 티어 레벨(Lite, Plus, Professional, Unlimited, Enterprise)에서 하나의 영구 개발자별 라이선스로 판매됩니다. 75% 절약." 기본 라이센스는 라이센스된 좌석, 위치 또는 프로젝트에 대해 로열티 프리이며, SaaS, OEM 또는 배포형 재배포는 개인적으로 가격이 매겨진 Redistribution Add-On을 사용합니다.

3-5년의 시간 수평에서 GemBox.Bundle은 첫 해에 연간 업데이트가 포함된 영구 좌석으로 운영되며, 갱신은 표준 요금에서 40% 할인 (만료 전 갱신 시 60% 할인)으로 계속해서 업데이트를 받을 수 있도록 합니다. Iron Suite는 개발자당 Lite 티어에 대해 $2,998의 일회 영구 구매이며, 상위 티어는 개발자 수에 따라 확장됩니다; 배포는 기본 라이센스 하의 라이센스된 좌석에 대해 로열티 프리이며, 대규모로 SaaS/OEM 확장을 위한 유일한 별도의 가격이 매겨진 항목은 Redistribution Add-On입니다.

GemBox.Bundle이란 무엇입니까

GemBox.Bundle은 GemBox Software의 마스터 번들로, 의존성 풋프린트가 작은 컴포넌트 벤더로 알려져 있는 공급업체입니다. 번들은 7개의 GemBox 라이브러리를 단일 영구 라이센스로 통합하여 개별 구성 요소를 구매할 때보다 40% 할인된 가격을 제공하며, 팀이 프로토타입을 만들고 소규모 프로젝트를 무료로 제공할 수 있는 문서당 기능 제한이 있는 Free-Limited 계층을 제공합니다. 최신 참조 릴리스는 2026-05-05에 NuGet에 게시된 GemBox.Bundle 메타 패키지 버전 2026.5.101입니다. GemBox는 Office/PDF/Email 범주에 정확히 위치하고 있는 팀을 위해 Aspose 및 Spire의 경량 성능 지향 대안으로 자리 잡았습니다.

주요 번들 구성 요소 및 기능:

  • 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의 10개 제품 .NET 번들입니다. Office 스택 (IronWord, IronXL, IronPPT)은 프로그래밍적으로 DOCX, XLSX 및 PPTX를 처리합니다; IronPDF는 PDF 표면에서 생성, 서명, 삭제, 래스터화 등을 처리합니다; 인식 스택 (IronOCR, IronBarcode, IronQR)은 OCR 및 바코드, QR을 추가합니다; 그리고 IronPrint, IronZIP, IronWebScraper는 인쇄, 압축 및 스크래핑을 보완합니다. 5개의 티어 레벨에서 하나의 영구 개발자별 라이선스로 $2,998부터 판매되며, 라이선스 좌석에 대해 로열티 무료입니다. SaaS 및 OEM 재배포는 별도의 재배포 추가 기능을 사용합니다.

각각의 프로그래밍 Office 및 PDF 워크플로와의 관련성에 따라 그룹화된 10개 구성 요소:

  • Office 스택 (앵커): IronWord (단락 및 텍스트 실행 객체 그래프, 맞춤 스타일, 콘텐츠 추출을 지원하는 DOCX); IronXL (수식 재계산, 차트, 피벗 테이블, 조건부 서식을 가진 XLSX); IronPPT (PPTX 생성, 편집, 콘텐츠 추출).
  • PDF 생성 (IronPDF): HTML-to-PDF 및 URL-to-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 (배치 ReadPdfs이 포함된 ML 기반).
  • 유틸리티: IronPrint (무음 및 대화형 인쇄); IronZIP (AES를 사용하는 ZIP/TAR/GZIP/BZIP2); IronWebScraper (인 프로세스 구조 스크래핑).

기능 비교

엑셀 처리

두 스위트 모두 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
$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는 무료 티어에서도 모든 API 사용 전에 명시적인 SpreadsheetInfo.SetLicense(...) 호출이 필요하며, 이는 설정 줄을 추가하지만 모든 GemBox 라이브러리에서 일관성을 유지합니다. IronXL은 관례적인 인덱서 스타일 셀 API (sheet["A1"].Value = …, sheet["B4"].Formula = …, workbook.EvaluateAll())를 사용하며, XLSX와 PDF로 직접 저장할 수 있습니다. 양쪽 엔진 모두 읽기/쓰기/재계산 범위를 깔끔하게 다룹니다 — 대규모 워크북에서의 원시 읽기/쓰기 처리량은 GemBox가 투자해온 분야이며, IronXL은 임시 XLSX 생성을 위한 API 간결성에 중점을 두고 있습니다.

워드 프로세싱

GemBox.Document은 GemBox 라이브러리 중 가장 두드러지며, 폭 넓은 형식 지원 (DOCX, DOC, PDF, RTF, HTML, MD, ODT) 및 깔끔한 객체 모델을 가집니다. IronWord는 유사한 현대적 객체 그래프 API로 DOCX 생성 및 조작을 겨냥합니다.

// 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

GemBox.Document의 표현 스타일은 섹션/문단을 생성자에 전달하여 간결하며, 개발자가 문서 트리를 인라인으로 빌드할 수 있게 합니다. IronWord는 OOXML에 직접 매핑되고 간단한 C#으로 읽히는 AddParagraph 패턴을 사용합니다. GemBox.Document는 포맷 변환 깊이에 투자해 왔으며 (특히 Markdown과 ODT) — IronWord는 대부분의 백엔드 워크플로우를 커버하는 DOCX, PDF, HTML 차선 내에 머무릅니다.

PDF 생성 및 병합

두 스위트 모두 PDF 읽기/쓰기/병합을 커버합니다. GemBox.Pdf는 객체 모델 수준에서 PDF를 생성하고 편집합니다. IronPDF는 HTML에서 실시간 Chrome 엔진을 사용하여 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
$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

양쪽 엔진은 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 Module
$vbLabelText   $csharpLabel

Iron Suite의 번들은 PDF, Office, OCR, 바코드, QR, 인쇄, ZIP 및 웹 스크래핑으로 구성된 문서 및 인식 스택에 집중됩니다. 동일한 라이브러리에서 이메일 파일 파싱(MSG, EML) 및 SMTP, POP, IMAP 프로토콜 클라이언트를 GemBox.Email은 판매됩니다.Iron Suite사용자는, System.Net.Mail.SmtpClient (또는 SendGrid나 Postmark 같은 트랜잭션 서비스를 통해) 발신 이메일을 구성하고, MailKit 또는 유사 프로그램을 통해 MSG 및 EML을 파싱합니다.

Code-First .NET 문서 자동화를 위한Iron Suite선택 이유

$2,998 엔트리 티어 (vs $2,200 GemBox.Bundle 단일 개발자). 다섯 가지 계층에서 개발자당 영구 라이센스: 라이센스된 좌석에 대한 로열티 프리 배포. OCR (Tesseract 5, 125개 이상의 언어, 필기), 바코드 (30개 이상의 심볼로지, MAUI 스캐너), QR (ML 기반), 프로그래밍 인쇄, ZIP/TAR/GZIP/BZIP2와 AES, 인-프로세스 웹 스크래핑을 포함한 10개 제품. PDF/A-1 에서 PDF/A-4까지와 PDF/UA-1 및 PDF/UA-2까지 제공합니다. 이는 GemBox의 Office + PDF + 이메일 + 이미징 사분면을 초과하는 워크를 가진 팀을 위한 Iron Suite의 제안입니다. 일상적인 코드 우선 .NET 문서 작업을 위한 구조적 장점:

  • Lower entry tier:Iron SuiteLite는 $2,998에서 시작합니다; GemBox.Bundle은 $2,200에서 시작합니다
  • 더 넓은 10개 제품 번들: Iron Suite에는 GemBox에 해당하는 것이 없는 Iron OCR, IronBarcode, IronQR, IronPrint, IronZIP 및 IronWebScraper가 포함되어 있습니다
  • HTML 기반 PDF 생성: 웹 데이터에서 PDF 작업 부하에 맞추어 완벽한 브라우저 충실도(CSS, 웹 글꼴, SVG)를 제공
  • 투명한 미국 달러 가격이 있는 영구적 개발자당 라이센싱

Iron Suite가 GemBox.Bundle과 다른 점

  • Lower entry price.Iron SuiteLite는 GemBox.Bundle의 $2,200 단일 개발자 티어와 비교하여 $2,998에서 시작합니다; Iron Suite는 GemBox의 일곱 개와 비교하여 10개 제품 카테고리를 포함합니다.
  • 즉시 사용할 수 있는 인식 스택. IronOCR, IronBarcode 및 IronQR은 GemBox에 해당하는 것이 없습니다. 스캔, 인식 또는 QR 생성을 포함하는 워크플로의 경우, GemBox는 단독으로 용도를 충족할 수 없습니다.
  • 웹 스크래핑 및 ZIP은Iron Suite내에 포함되어 있으며 (IronWebScraper, IronZIP). GemBox.Bundle은 Office + PDF + Email + Imaging을 다루지만 이들 인접 백엔드 범주는 다루지 않습니다.
  • 실제 브라우저 충실도로 HTML 기반 PDF 생성과 GemBox.Pdf의 객체 모델 기본 API 비교.
  • 제품 간 단일 라이센스 키 등록 모델. GemBox는 프로세스 시작 시 네임스페이스별로 SpreadsheetInfo.SetLicense(...) 또는 ComponentInfo.SetLicense(...)이 필요하며, 이는 다중 제품 작업량에서 장황함을 추가합니다.
  • 번들 범위 규율. GemBox의 Office/PDF/Email/Imaging에 대한 타이트한 초점은 의도적이며, 그 차선 내에 정확히 위치한 팀에게 잘 맞습니다; Iron Suite는 인식 및 인접 범주를 포함하여 더 낮은 시작 가격으로 그 차선을 확장합니다.

결론

간결한 SMB ISV가 많은 고객 배치에 가격이 없고 양도할 수 없는 서류 및 보고서 제품을 출시할 때, GemBox.Bundle은 키트입니다. Office, PDF, Email 및 Imaging이 $2,200의 Single Developer 계층에 포함되어 있으며 모든 유료 계층에 포함된 로열티 프리 무제한 배포가 포함되어 있습니다. 백엔드 팀에서 문서 워크로드가 Office 및 PDF를 넘어 OCR(필기 포함), 바코드 및 QR 인식, 웹 스크래핑, 프로그래밍 인쇄로 확장되는 경우, Iron Suite는 키트입니다. From $2,998 at ironsoftware.com/csharp/suite, 라이선스 좌석에 대해 영구적이며 로열티 무료, SaaS 및 OEM 대규모 재배포를 위한 별도의 재배포 애드온을 제공합니다.

참고해 주세요GemBox.Bundle은 그 소유자의 등록 상표입니다. 이 사이트는 GemBox.Bundle과 관련이 없으며, 지지받거나 후원받지 않습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.