COMPARAçãO

Os custos ocultos das bibliotecas PDF gratuitas em C#

A escolha entreSyncfusion Document SDKeIron Suitegeralmente se resume a uma pergunta limiar: o comprador se qualifica para a Licença Comunitária da Syncfusion? Se a empresa tiver receita abaixo de $1M com cinco ou menos desenvolvedores e dez ou menos funcionários, o Document SDK é enviado por $0 para uso comercial completo, uma chegada que a Iron não tem equivalente. Acima desses limites, a história de aquisição muda: o SDK de Documentos pago da Syncfusion é sob cotação apenas em uma assinatura anual por desenvolvedor, enquanto aIron Suiteé vendida como um pacote perpétuo fixo por desenvolvedor de dez produtosIron Softwaredo $2,998, isento de royalties para assentos licenciados, com SaaS e redistribuição OEM cobertos por um único Complemento de Redistribuição.

Esta comparação começa com base na decisão conduzida por aquisição que realmente está em jogo: se a elegibilidade para a Licença Comunitária se aplica, como cada suíte é precificada além desses limites, e o que está realmente na caixa. O detalhe da capacidade e o código seguem abaixo para os engenheiros que irão implementá-lo.

Comparação de relance

Dimensão Syncfusion Document SDK Iron Suite
Posicionamento de preço Apenas cotação; Document SDK e Suite UI ambos roteiam para "Obter uma Cotação Personalizada" na página de preços pública; Licença Comunitária gratuita Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); todos os 10 produtos pelo preço de 2
Modelo de licença Assinatura anual por desenvolvedor (níveis Starter / Growth / Business team); implantação livre de royalties; Licença Comunitária gratuita para receita <$1M / ≤5 desenvolvedores / ≤10 funcionários Perpétuo por desenvolvedor; isento de royalties para as vagas licenciadas; SaaS/OEM através de Adicional de Redistribuição
Componentes no pacote 4 bibliotecas principais (PDF, DocIO, XlsIO, Apresentação); OCR/Código de Barras/Compressão estão na plataforma adjacente Essential Studio 10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper)
Formatos / cobertura de capacidade PDF, Word, Excel, PowerPoint principais; OCR/Código de Barras/HTML/Visio via Essential Studio PDF, Office, OCR, Código de Barras/QR, ZIP, Impressão, Web Scraping
Multi-platforma / nuvem Windows, Linux, macOS, Azure, AWS Windows, Linux, macOS, Docker, Azure, AWS Lambda
Suporte a runtime .NET .NET Standard 2.0, .NET 8, .NET 9, .NET 10 .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
Mercado-alvo PME a enterprise; forte com equipes elegíveis para a Licença Comunitária e clientes Syncfusion UI existentes Desenvolvedores independentes, SMB, equipes .NET de mercado intermediário, ISVs
Fornecedor Syncfusion, Inc. Iron Software

Para o desenvolvedor independente ou startup com receita abaixo de $1M elegível para a Licença Comunitária (5 ou menos desenvolvedores, 10 ou menos funcionários), o SDK de Documentos da Syncfusion é realmente $0 para uso comercial completo, uma rampa de entrada inigualável. Para a equipe .NET além desses limites, ou para qualquer equipe que prefira propriedade perpétua a uma assinatura renovável, o pacote de dez produtos daIron Suiteno $2,998 cobre a superfície sem uma operação de vendas sob cotação.

Preços e licenciamento

OSyncfusion Document SDKexecuta um modelo de assinatura anual por desenvolvedor com três níveis de licença da equipe (Starter <25 devs, Growth 25–100 devs, Business >100 devs), 1 ano de prazo mínimo, e inclui atualizações e suporte durante o prazo. A implantação é isenta de royalties. A Licença Comunitária é o diferenciador principal: uso comercial gratuito para empresas com receita anual abaixo de $1M, cinco ou menos desenvolvedores e dez ou menos funcionários (com um limite de $3M se financiado por VC). Os preços pagos são apenas cotação na página pública da Syncfusion. Ambos o Document SDK e o Suite UI roteiam para "Obter uma Cotação Personalizada".

AIron Suiteé vendida como uma única licença perpétua por desenvolvedor em cinco níveis de tiers (Lite, Plus, Professional, Unlimited e Enterprise) começando a partir de $2,998, com o posicionamento de marketing de "todos os 10 produtos pelo preço de 2; economize 75%." A licença base é isenta de royalties para os assentos, locais ou projetos licenciados, e SaaS, OEM, ou redistribuição distribuída além da licença base usam um Complemento de Redistribuição único e precificado separadamente.

Ao longo de um horizonte de 3 a 5 anos, equipes elegíveis para Licença Comunitária pagam $0 durante o período e possuem o pacote enquanto a elegibilidade se mantiver. Equipes acima dos limites enfrentam um ciclo de renovação de assinatura anual no preço cotado da Syncfusion. A licença perpétua por desenvolvedor daIron Suiteé comprada uma vez no preço do nível; a versão adquirida é propriedade para sempre, com renovação opcional e aplicável apenas para atualizações e suporte contínuo.

O que é Syncfusion Document SDK

Syncfusion Document SDK é o SKU apenas de documentos dentro da plataforma Essential Studio da Syncfusion, publicado pelaSyncfusion, Inc.Os mesmos motores que enviam dentro dos controles de UI do Essential Studio (Rich Edit, Planilha, Visualizador de PDF) são vendidos separadamente como bibliotecas de back-end sem cabeça. O Document SDK é posicionado para equipes de .NET de PMEs até enterprise que desejam um kit de ferramentas de documentos multiplataforma amigável ao desenvolvedor, e é exclusivamente atraente por causa da Licença Comunitária, que oferece uso comercial completo por $0 para pequenas organizações elegíveis. A versão de referência mais recente é o Volume 33.2 (Syncfusion.Pdf.Net.Core 33.2.7, lançado em 2026-05-19) e as bibliotecas se direcionam ao .NET Standard 2.0 mais .NET 8/9/10.

Componentes-chave e capacidades incluídas no pacote:

  • Biblioteca de PDF: criar, editar, assinar, preencher formulários, comprimir, mesclar, dividir
  • Biblioteca de Word (DocIO): manipulação de DOCX com mesclagem de correspondência, encontrar e substituir, mesclagem de documentos
  • Biblioteca de Excel (XlsIO): motor de XLSX com 80+ tipos de gráfico, fórmulas, formatação condicional, tabelas dinâmicas
  • Biblioteca de PowerPoint (Apresentação): slides, formas, gráficos, tabelas, animações
  • Bibliotecas adjacentes na plataforma mais ampla Essential Studio: OCR, Código de Barras, Compressão/ZIP, Conversor de HTML, Visio
  • Licença Comunitária: gratuita para empresas com receita <$1M, ≤5 desenvolvedores, ≤10 funcionários

O que é Iron Suite

Iron Suite é o pacote .NET de dez produtos daIron Softwareonde a pilha Office cobre DOCX, XLSX, e PPTX programaticamente: IronWord com um grafo de objeto de parágrafo e corre-executa, IronXL com recálculo de fórmula e suporte a gráfico e tabela dinâmica, IronPPT para criação de slides e extração de conteúdo. IronPDF carrega a superfície de PDF, a pilha de reconhecimento (IronOCR, IronBarcode, IronQR) realiza trabalhos de OCR e código de barras, e IronPrint, IronZIP, e IronWebScraper completam as utilidades. Vendido sob uma licença perpétua por desenvolvedor em cinco níveis de tiers a partir de $2,998, sem necessidade de renovação anual para manter a versão comprada. Isento de royalties para as cadeiras licenciadas. A redistribuição SaaS e OEM usa um Adicional de Redistribuição separado.

Os dez componentes, agrupados por relevância para um fluxo de trabalho programático de Office e PDF:

  • Pilha de Office (âncora): IronWord(DOCX com grafo de objeto de corre-executa mapeando diretamente para OOXML, estilos personalizados, fontes, cabeçalhos, rodapés, extração de conteúdo); IronXL (XLSX com recálculo de fórmula, gráficos, tabelas dinâmicas, formatação condicional, validação de dados); IronPPT (criação, edição, extração de conteúdo de PPTX).
  • Geração de PDF (IronPDF): renderização de HTML-para-PDF e URL-para-PDF, mesclagem e divisão nativos, assinatura PKCS#12 mais HSM mais TSA alinhadas a eIDAS e ESIGN, PDF/A até PDF/A-4, PDF/UA-1 e PDF/UA-2, criptografia, preenchimento e achatamento de AcroForm, gerenciamento de fontes, rasterização, compressão e linearização.
  • Reconhecimento: IronOCR (Tesseract 5, 125+ idiomas, escrita à mão a ~90% em inglês); IronBarcode (30+ simbologias, scanner MAUI); IronQR (alimentado por ML, em lote ReadPdfs).
  • Utility: IronPrint, IronZIP, IronWebScraper.

Comparação de Capacidade

Geração de PDF

A geração de PDF é uma carga de trabalho emblemática para ambas as suítes. Syncfusion constrói PDFs primitiva por primitiva em uma superfície de PdfPage.Graphics; IronPDF renderiza o mesmo conteúdo a partir de HTML usando um motor Chrome real.

// Syncfusion PDF Library creates and edits PDFs with no external dependency.
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;

class Program
{
    static void Main()
    {
        // Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-KEY");
        using PdfDocument doc = new PdfDocument();
        PdfPage page = doc.Pages.Add();

        PdfFont title = new PdfStandardFont(PdfFontFamily.Helvetica, 20, PdfFontStyle.Bold);
        page.Graphics.DrawString("Statement of Account", title, PdfBrushes.Black, new PointF(40, 40));

        PdfFont body = new PdfStandardFont(PdfFontFamily.Helvetica, 11);
        page.Graphics.DrawString("Generated 2026-05-26", body, PdfBrushes.DarkSlateGray, new PointF(40, 80));

        using FileStream stream = new FileStream("statement.pdf", FileMode.Create);
        doc.Save(stream);
    }
}
// Syncfusion PDF Library creates and edits PDFs with no external dependency.
// NuGet: Install-Package Syncfusion.Pdf.Net.Core
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;
using Syncfusion.Drawing;
using System.IO;

class Program
{
    static void Main()
    {
        // Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-KEY");
        using PdfDocument doc = new PdfDocument();
        PdfPage page = doc.Pages.Add();

        PdfFont title = new PdfStandardFont(PdfFontFamily.Helvetica, 20, PdfFontStyle.Bold);
        page.Graphics.DrawString("Statement of Account", title, PdfBrushes.Black, new PointF(40, 40));

        PdfFont body = new PdfStandardFont(PdfFontFamily.Helvetica, 11);
        page.Graphics.DrawString("Generated 2026-05-26", body, PdfBrushes.DarkSlateGray, new PointF(40, 80));

        using FileStream stream = new FileStream("statement.pdf", FileMode.Create);
        doc.Save(stream);
    }
}
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics
Imports Syncfusion.Drawing
Imports System.IO

Module Program
    Sub Main()
        ' Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR-KEY")
        Using doc As New PdfDocument()
            Dim page As PdfPage = doc.Pages.Add()

            Dim title As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 20, PdfFontStyle.Bold)
            page.Graphics.DrawString("Statement of Account", title, PdfBrushes.Black, New PointF(40, 40))

            Dim body As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 11)
            page.Graphics.DrawString("Generated 2026-05-26", body, PdfBrushes.DarkSlateGray, New PointF(40, 80))

            Using stream As New FileStream("statement.pdf", FileMode.Create)
                doc.Save(stream)
            End Using
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = @"<h1>Invoice 2026-0428</h1><p>Customer: Acme Corp</p><p>Total due: $1,240.00</p>";
        using var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("invoice.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = @"<h1>Invoice 2026-0428</h1><p>Customer: Acme Corp</p><p>Total due: $1,240.00</p>";
        using var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("invoice.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim html As String = "<h1>Invoice 2026-0428</h1><p>Customer: Acme Corp</p><p>Total due: $1,240.00</p>"
        Using pdf = renderer.RenderHtmlAsPdf(html)
            pdf.SaveAs("invoice.pdf")
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

A API da Syncfusion expõe uma superfície de recurso de PDF profunda (assinaturas digitais, preenchimento de AcroForm, PDFs aumentados por OCR, conformidade com PDF/A e PDF/UA) em nível primitivo. IronPDF abstrai o modelo de canvas de página e permite que os desenvolvedores reutilizem o mesmo HTML/CSS usado em seu aplicativo web, o que reduz a contagem de linhas de código para PDFs que se originam de dados da web. IronPDF suporta toda a família de conformidade PDF/A (A-1a, A-1b, A-2a, A-2b, A-3a, A-3b, além da família PDF/A-4/4E/4F conforme ISO 19005-4:2020 adicionada na linha de lançamento de 2026) via o enum PdfAVersions, e possui saída dedicada de acessibilidade PDF/UA via RenderHtmlAsPdfUA e PdfDocument.SaveAsPdfUA (PDF/UA-1 padrão, PDF/UA-2 via parâmetro; documentado para atender a Seção 508 e WCAG 2.0 AA).

Processamento de Texto e Mesclagem de Correspondência

Mescla de correspondência contra um modelo é uma das cargas de trabalho características do Syncfusion DocIO. IronWord visa a geração e manipulação de DOCX com uma API de grafo de objeto moderna.

// Syncfusion DocIO performs Word read/write plus mail merge against a template.
// NuGet: Install-Package Syncfusion.DocIO.Net.Core
using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
using System.IO;

class Program
{
    static void Main()
    {
        using WordDocument doc = new WordDocument("welcome-template.docx", FormatType.Docx);
        string[] fields = { "CustomerName", "OrderId", "Total" };
        string[] values = { "Acme Corp", "44213", "$1,498.00" };
        doc.MailMerge.Execute(fields, values);

        using FileStream output = new FileStream("welcome.docx", FileMode.Create);
        doc.Save(output, FormatType.Docx);
    }
}
// Syncfusion DocIO performs Word read/write plus mail merge against a template.
// NuGet: Install-Package Syncfusion.DocIO.Net.Core
using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
using System.IO;

class Program
{
    static void Main()
    {
        using WordDocument doc = new WordDocument("welcome-template.docx", FormatType.Docx);
        string[] fields = { "CustomerName", "OrderId", "Total" };
        string[] values = { "Acme Corp", "44213", "$1,498.00" };
        doc.MailMerge.Execute(fields, values);

        using FileStream output = new FileStream("welcome.docx", FileMode.Create);
        doc.Save(output, FormatType.Docx);
    }
}
Imports Syncfusion.DocIO
Imports Syncfusion.DocIO.DLS
Imports System.IO

Module Program
    Sub Main()
        Using doc As New WordDocument("welcome-template.docx", FormatType.Docx)
            Dim fields As String() = {"CustomerName", "OrderId", "Total"}
            Dim values As String() = {"Acme Corp", "44213", "$1,498.00"}
            doc.MailMerge.Execute(fields, values)

            Using output As New FileStream("welcome.docx", FileMode.Create)
                doc.Save(output, FormatType.Docx)
            End Using
        End Using
    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

Syncfusion DocIO envia mescla de correspondência contra um DOCX de modelo como uma capacidade de primeira classe com variantes dirigidas por campo nomeado e conjunto de dados. IronWord expõe um grafo de objeto de parágrafo/corre-executa que está mais próximo do modelo OOXML e ideal para gerar DOCX do zero; Fluxos de trabalho de mesclagem de e-mail a partir de modelos no IronWord geralmente usam a busca e substituição em execuções de texto em vez de uma API dedicada MailMerge.

Processamento de Excel

Ambas as suites cobrem a criação de Excel, recálculo de fórmulas e exportação de PDF. Syncfusion XlsIO é amplamente considerado um dos motores de Excel .NET mais profundos do mercado.

// Syncfusion XlsIO creates and recalculates XLSX workbooks server-side.
// NuGet: Install-Package Syncfusion.XlsIO.Net.Core
using Syncfusion.XlsIO;
using System.IO;

class Program
{
    static void Main()
    {
        using ExcelEngine engine = new ExcelEngine();
        IApplication app = engine.Excel;
        app.DefaultVersion = ExcelVersion.Xlsx;

        IWorkbook book = app.Workbooks.Create(1);
        IWorksheet sheet = book.Worksheets[0];

        sheet.Range["A1"].Text = "Item";
        sheet.Range["B1"].Text = "Qty";
        sheet.Range["B4"].Formula = "=SUM(B2:B3)";

        book.CalculateAllValue();

        using FileStream stream = new FileStream("inventory.xlsx", FileMode.Create);
        book.SaveAs(stream);
    }
}
// Syncfusion XlsIO creates and recalculates XLSX workbooks server-side.
// NuGet: Install-Package Syncfusion.XlsIO.Net.Core
using Syncfusion.XlsIO;
using System.IO;

class Program
{
    static void Main()
    {
        using ExcelEngine engine = new ExcelEngine();
        IApplication app = engine.Excel;
        app.DefaultVersion = ExcelVersion.Xlsx;

        IWorkbook book = app.Workbooks.Create(1);
        IWorksheet sheet = book.Worksheets[0];

        sheet.Range["A1"].Text = "Item";
        sheet.Range["B1"].Text = "Qty";
        sheet.Range["B4"].Formula = "=SUM(B2:B3)";

        book.CalculateAllValue();

        using FileStream stream = new FileStream("inventory.xlsx", FileMode.Create);
        book.SaveAs(stream);
    }
}
Imports Syncfusion.XlsIO
Imports System.IO

Module Program
    Sub Main()
        Using engine As New ExcelEngine()
            Dim app As IApplication = engine.Excel
            app.DefaultVersion = ExcelVersion.Xlsx

            Dim book As IWorkbook = app.Workbooks.Create(1)
            Dim sheet As IWorksheet = book.Worksheets(0)

            sheet.Range("A1").Text = "Item"
            sheet.Range("B1").Text = "Qty"
            sheet.Range("B4").Formula = "=SUM(B2:B3)"

            book.CalculateAllValue()

            Using stream As New FileStream("inventory.xlsx", FileMode.Create)
                book.SaveAs(stream)
            End Using
        End Using
    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

Syncfusion XlsIO cobre a superfície mais profunda do Excel, 80+ tipos de gráficos, formatação condicional completa, tabelas dinâmicas e um motor de cálculo que corresponde de perto ao Excel. IronXL cobre o escopo cotidiano de leitura/escrita/recalculo com uma API de célula no estilo de indexador (sheet["B4"].Formula = …, workbook.EvaluateAll()) que precisa de menos formalidades. Workflows que dependem da superfície avançada do Excel (tabelas dinâmicas, formatação condicional complexa, mais de 80 tipos de gráficos) são o caso em que o XlsIO tem investido profundamente - para fluxos diários de dados-do-banco-para-XLSX, o IronXL chega lá em menos linhas.

Geração de PowerPoint

A criação de PowerPoint está agrupada com o Syncfusion Document SDK. OIron Suiteinclui o IronPPT para PowerPoint, embora o conjunto de referências doIron Suiteo posicione como uma biblioteca de criação em vez de uma superfície de edição profunda ou animação.

// Syncfusion Presentation creates PPTX decks without PowerPoint installed.
// NuGet: Install-Package Syncfusion.Presentation.Net.Core
using Syncfusion.Presentation;
using System.IO;

class Program
{
    static void Main()
    {
        using IPresentation pres = Presentation.Create();
        ISlide slide = pres.Slides.Add(SlideLayoutType.TitleOnly);
        IShape title = slide.Shapes[0] as IShape;
        title.TextBody.AddParagraph("Quarterly Update");

        IShape body = slide.Shapes.AddTextBox(60, 180, 600, 80);
        body.TextBody.AddParagraph("Generated from .NET — no PowerPoint dependency.");

        using FileStream stream = new FileStream("update.pptx", FileMode.Create);
        pres.Save(stream);
    }
}
// Syncfusion Presentation creates PPTX decks without PowerPoint installed.
// NuGet: Install-Package Syncfusion.Presentation.Net.Core
using Syncfusion.Presentation;
using System.IO;

class Program
{
    static void Main()
    {
        using IPresentation pres = Presentation.Create();
        ISlide slide = pres.Slides.Add(SlideLayoutType.TitleOnly);
        IShape title = slide.Shapes[0] as IShape;
        title.TextBody.AddParagraph("Quarterly Update");

        IShape body = slide.Shapes.AddTextBox(60, 180, 600, 80);
        body.TextBody.AddParagraph("Generated from .NET — no PowerPoint dependency.");

        using FileStream stream = new FileStream("update.pptx", FileMode.Create);
        pres.Save(stream);
    }
}
Imports Syncfusion.Presentation
Imports System.IO

Module Program
    Sub Main()
        Using pres As IPresentation = Presentation.Create()
            Dim slide As ISlide = pres.Slides.Add(SlideLayoutType.TitleOnly)
            Dim title As IShape = TryCast(slide.Shapes(0), IShape)
            title.TextBody.AddParagraph("Quarterly Update")

            Dim body As IShape = slide.Shapes.AddTextBox(60, 180, 600, 80)
            body.TextBody.AddParagraph("Generated from .NET — no PowerPoint dependency.")

            Using stream As New FileStream("update.pptx", FileMode.Create)
                pres.Save(stream)
            End Using
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronPPT
// Docs: https://ironsoftware.com/csharp/ppt/docs/
using IronPPT;
using IronPPT.Models;

class Program
{
    static void Main()
    {
        // PresentationDocument is the entry point for PPTX creation in IronPPT.
        // No Microsoft PowerPoint or Office Interop required.
        PresentationDocument document = new PresentationDocument();

        Slide titleSlide = new Slide();
        titleSlide.AddText("Quarterly Update");
        document.AddSlide(titleSlide);

        Slide bodySlide = new Slide();
        bodySlide.AddText("Generated from .NET, no PowerPoint dependency.");
        document.AddSlide(bodySlide);

        document.Save("update.pptx");
    }
}
// NuGet: Install-Package IronPPT
// Docs: https://ironsoftware.com/csharp/ppt/docs/
using IronPPT;
using IronPPT.Models;

class Program
{
    static void Main()
    {
        // PresentationDocument is the entry point for PPTX creation in IronPPT.
        // No Microsoft PowerPoint or Office Interop required.
        PresentationDocument document = new PresentationDocument();

        Slide titleSlide = new Slide();
        titleSlide.AddText("Quarterly Update");
        document.AddSlide(titleSlide);

        Slide bodySlide = new Slide();
        bodySlide.AddText("Generated from .NET, no PowerPoint dependency.");
        document.AddSlide(bodySlide);

        document.Save("update.pptx");
    }
}
Imports IronPPT
Imports IronPPT.Models

Module Program
    Sub Main()
        ' PresentationDocument is the entry point for PPTX creation in IronPPT.
        ' No Microsoft PowerPoint or Office Interop required.
        Dim document As New PresentationDocument()

        Dim titleSlide As New Slide()
        titleSlide.AddText("Quarterly Update")
        document.AddSlide(titleSlide)

        Dim bodySlide As New Slide()
        bodySlide.AddText("Generated from .NET, no PowerPoint dependency.")
        document.AddSlide(bodySlide)

        document.Save("update.pptx")
    End Sub
End Module
$vbLabelText   $csharpLabel

A apresentação Syncfusion tem se destacando em layouts de slides, slides mestres, animações, transições e conversão para PDF e imagem, uma ampla superfície de recursos PPTX. O IronPPT cobre a criação de PowerPoint e a superfície comum de manipulação (slides, texto, imagens, formas básicas) com a mesma sensação idiomática do resto do Iron Suite. As conversões complexas de deck e os workflows de fidelidade a animação são os casos que a Syncfusion tem posicionado a Presentation para — a geração padrão de decks de relatório a partir de dados .NET é bem servida por ambos.

Por que escolher oIron Suitepara automação de documentos .NET orientada por código

Para equipes .NET que não se qualificam para a Licença Comunitária da Syncfusion e preferem uma licença perpétua por desenvolvedor com um número na página pública, oIron Suiteé o pacote estruturalmente mais simples. Dez produtos, um SKU, um arquivo de licença, preços transparentes em USD. Vantagens estruturais que importam para o trabalho diário com documentos .NET código primeiro:

  • Preços públicos em USD em cada nível: sem solicitação de cotação, sem negociação liderada por vendas
  • Propriedade perpétua: você possui a versão que compra; a renovação é para atualizações e suporte, não para uso contínuo
  • Pacote mais amplo pelo preço: 10 produtos cobrindo criação e reconhecimento versus as 4 principais bibliotecas do Syncfusion Document SDK
  • Implantação livre de royalties para assentos licenciados fora da caixa; SaaS/OEM via um único Adicional de Redistribuição
  • Geração de PDF a partir de HTML como prioridade para que o PDF corresponda ao mesmo render do Chrome que o usuário vê na tela
  • Pilha de reconhecimento no mesmo pacote: OCR, Barcode, QR, sem precisar recorrer à plataforma Essential Studio mais ampla

How isIron SuiteDifferent from Syncfusion Document SDK

  • Preços públicos em USD. Uma vez que um comprador excede os limites da Licença Comunitária, a Syncfusion é apenas por cotação, com reputação de upsell liderado por vendas. OIron Suitepublica um número fixo em cada nível.
  • Perpétuo vs assinatura.Iron Suiteé perpétuo por desenvolvedor; Syncfusion é uma assinatura temporizada que deve ser renovada para receber atualizações e suporte. Ao longo de um período de 3–5 anos, a diferença no TCO importa.
  • Pacote mais amplo no nível pago. OIron Suiteagrupa 10 produtos cobrindo criação E reconhecimento (OCR, Barcode, QR, WebScraper, ZIP, Print). OSyncfusion Document SDKdestaca 4; OCR, Barcode e Compression estão em SKUs Essential Studio adjacentes.
  • Geração de PDF com HTML em primeiro lugar com fidelidade real do navegador em comparação com a API primitiva PdfPage/Graphics da Syncfusion.
  • Não é necessário registro de chave de licença para testes de desenvolvimento, ao contrário do requisito SyncfusionLicenseProvider.RegisterLicense da Syncfusion para implantações pagas.
  • Perfil do comprador. Os clientes pagos da Syncfusion tendem a ser empresas que já compram Essential Studio para UI; A Iron tem como alvo equipes apenas de backend que não precisam (e não querem pagar por) uma dependência de controles de UI.

Conclusão

Sua equipe atende aos limites da Licença Comunitária (receita inferior a $1M, cinco ou menos desenvolvedores, dez ou menos funcionários, financiamento de VC inferior a $3M)? Então, oSyncfusion Document SDKé o ajuste técnico mais forte a $0 para uso comercial completo, com a integração UI do Essential Studio como um bônus para equipes que já estão lá. Esses limites não se aplicam ou sua aquisição prefere propriedade perpétua em vez de uma assinatura renovável? Então, aIron Suitea $2,998 por desenvolvedor é a compra mais limpa: dez produtos que cobrem PDF (com o trabalho completo em PDF/A e PDF/UA), geração de Office, OCR e reconhecimento de código de barras e QR, e utilitários adjacentes, sem uma operação de vendas sob cotação. Available at ironsoftware.com/csharp/suite.

ObserveOSyncfusion Document SDKé uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado por, ou patrocinado por Syncfusion Document SDK. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.