COMPARAçãO

XFINIUM.PDF vs IronPDF: Guia de Comparação Técnica

DevExpress Office File API é mais economicamente atraente quando está incluído nos assinaturas DXperience ou Universal, onde os motores de documentos chegam essencialmente 'grátis' ao lado dos controles de UI. Comprado separadamente através de canais de revendedores (a página de compra do DevExpress está bloqueada contra scraping público), é uma assinatura anual por desenvolvedor por cerca de $587,99 por um novo assento ou $1.175,99/ano durante a renovação.Iron Suiteé vendido apenas como SDKs de backend: dez produtosIron Softwareem um pacote perpétuo por desenvolvedor de $2,998, isento de royalties para assentos licenciados, com a redistribuição SaaS e OEM coberta por um único Complemento de Redistribuição.

Esta comparação começa com o que uma decisão liderada por compras realmente depende: se a equipe já está no DevExpress UI, como cada suite é precificada em um horizonte de vários anos e o que realmente está incluído. O detalhe da capacidade e o código seguem abaixo para os engenheiros que irão implementá-lo.

Comparação de relance

Dimensão DevExpress Office File API Iron Suite
Posicionamento de preço Nova licença a partir de ~$587,99 / assinatura a partir de ~$1.175,99 por desenvolvedor/ano (lista de revendedores, ComponentSource), a página de compra do próprio fornecedor está bloqueada 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; implantação livre de royalties; incluído nos pacotes DXperience/Universal Perpétuo por desenvolvedor; isento de royalties para as vagas licenciadas; SaaS/OEM através de Adicional de Redistribuição
Componentes no pacote 7 sub-APIs (Word, Planilha, PDF, PowerPoint, Código de Barras, Assinatura Digital, extensões de AI) 10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper)
Formatos / cobertura de capacidade DOCX, XLSX, PDF, PPTX + código de barras + assinatura digital + extensões de documentos AI PDF, Office, OCR, Código de Barras/QR, ZIP, Impressão, Web Scraping
Multi-platforma / nuvem Windows, Linux, macOS, Docker, Azure, AWS Windows, Linux, macOS, Docker, Azure, AWS Lambda
Suporte a runtime .NET .NET 8 / 9 / 10, .NET Framework 4.6.2+ .NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
Mercado-alvo Lojas .NET de mercado intermediário e empresarial, especialmente clientes existentes de DevExpress UI/Reporting Desenvolvedores independentes, SMB, equipes .NET de mercado intermediário, ISVs
Fornecedor Developer Express Inc. (DevExpress) Iron Software

O comprador decide perguntando: a equipe já paga pelo DevExpress UI (assinantes Universal, usuários de XtraReports, compradores de controle WinForms/WPF)? Se sim, o Office File API chega incluído essencialmente 'gratuitamente', e esse é o argumento econômico mais forte para permanecer no DevExpress. Se não,Iron Suitecomo um pacote de backend autônomo a um preço perpétuo fixo cobre a mesma superfície do Office, PDF, reconhecimento e utilidade sem a integração no ecossistema de UI.

Preços e licenciamento

DevExpress Office File API é vendido como uma assinatura anual por desenvolvedor. A página de compra do próprio fornecedor não exibe preços públicos em USD para scraping, mas o listagem de revendedor no ComponentSource para o lançamento mais recente (v25.2.7) mostra novas licenças a partir de $587,99 e assinatura/renovação a partir de $1.175,99 por desenvolvedor/ano. Cada desenvolvedor é coberto em várias máquinas, sem contagem por servidor ou por domínio. O Office File API também é incluído nas assinaturas DXperience e Universal; para equipes já no Universal, os motores de documento são efetivamente 'gratuitos' de custo incremental de SKU.

Iron Suite é vendido como uma única licença perpétua por desenvolvedor em cinco níveis de licença (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 a redistribuição SaaS, OEM ou distribuída além da licença base utiliza um único, adicional de preço separado Complemento de Redistribuição.

Compradores já no DevExpress Universal vão para o Office File API como um valor agregado empacotado sem custo incremental de SKU. Compradores sem dependência de UI DevExpress vão para oIron Suitecomo um pacote perpétuo autônomo em $2,998 para o nível Lite, com o mesmo ambiente de Office e PDF mais reconhecimento (OCR, Código de Barras, QR) incluído.

O que é o DevExpress Office File API

DevExpress Office File API é o motor de documentos não-visual que alimenta os controles Rich Edit, Planilha, e Visualizador de PDF do DevExpress, vendido como um SDK de servidor autônomo por Developer Express Inc. É a evolução renomeada do antigo produto DevExpress Document Server e se integra perfeitamente com o resto da família de componentes DevExpress (XtraReports, Snap, os controles de UI WinForms/WPF). O slogan de marketing na página atual do produto é "APIs de Arquivos Office & PDF for .NET (DOCx, XLSx, PDF, PPTx), por DevExpress (C# & VB.NET e em breve Java)." O último lançamento de referência é DevExpress.Document.Processor 25.2.7, publicado em 2026-05-06, com o próximo grande v26.1 previsto para junho de 2026 conforme o roteiro público.

Componentes-chave e capacidades incluídas no pacote:

  • API de Documentos de Processamento de Texto: Leitura/escrita de DOCX, mesclagem de correspondência, encontrar e substituir
  • API de Documentos de Planilha: leitura/escrita de XLSX com recálculo completo de fórmulas
  • API de Documentos de PDF: criar, editar, mesclar, proteger, assinar PDFs
  • API de Apresentação PowerPoint: leitura/escrita de PPTX
  • API de Geração de Código de Barras: renderização de código de barras dentro do pacote
  • API de Assinatura Digital: assinatura de PDF de primeira classe
  • Extensões de Processamento de Documentos com AI: direção mais recente no roadmap v26.1

O que é Iron Suite

Iron Suite é o SDK autônomo de documentos .NET da Iron Software, vendido puramente como bibliotecas de backend sem dependência de controles de UI e sem assinatura companheira. Dez produtos são enviados juntos sob uma licença perpétua por desenvolvedor em cinco níveis de licença a partir de $2,998, isento de royalties para os assentos licenciados. 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: IronWord (DOCX com gráfico de objetos de parágrafo e execução de texto, extração de conteúdo, estilo personalizado); IronXL (XLSX com recálculo de fórmulas, gráficos, tabelas dinâmicas, formatação condicional); IronPPT (criação e edição de PPTX).
  • Geração de PDF (IronPDF): HTML-para-PDF e URL-para-PDF, mesclagem e divisão nativa, assinaturas PKCS#12 mais HSM mais TSA alinhadas ao eIDAS e ESIGN, PDF/A até PDF/A-4, PDF/UA-1 e PDF/UA-2, criptografia AES, 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 (potencializado por ML com lote ReadPdfs).
  • Utility: IronPrint, IronZIP, IronWebScraper.

Comparação de Capacidade

Processamento de Texto e Mesclagem de Correspondência

A mesclagem de correspondência em um modelo DOCX usando uma fonte de dados tipada é uma carga de trabalho característica do DevExpress: RichEditDocumentServer é o mecanismo que alimenta o controle Rich Edit do DevExpress's WinForms. IronWord tem como alvo a criação e manipulação de DOCX com uma API de gráfico de objetos moderna.

// DevExpress RichEditDocumentServer is the non-visual Word engine powering the DevExpress Rich Edit control.
// NuGet: Install-Package DevExpress.Document.Processor
using DevExpress.XtraRichEdit;

class Program
{
    static void Main()
    {
        using RichEditDocumentServer server = new RichEditDocumentServer();
        server.LoadDocument("welcome-template.docx", DocumentFormat.OpenXml);

        server.Options.MailMerge.DataSource = new[]
        {
            new { CustomerName = "Acme Corp", OrderId = "44213", Total = "$1,498.00" }
        };

        using RichEditDocumentServer output = new RichEditDocumentServer();
        server.MailMerge(output.Document);
        output.SaveDocument("welcome.pdf", DocumentFormat.Pdf);
    }
}
// DevExpress RichEditDocumentServer is the non-visual Word engine powering the DevExpress Rich Edit control.
// NuGet: Install-Package DevExpress.Document.Processor
using DevExpress.XtraRichEdit;

class Program
{
    static void Main()
    {
        using RichEditDocumentServer server = new RichEditDocumentServer();
        server.LoadDocument("welcome-template.docx", DocumentFormat.OpenXml);

        server.Options.MailMerge.DataSource = new[]
        {
            new { CustomerName = "Acme Corp", OrderId = "44213", Total = "$1,498.00" }
        };

        using RichEditDocumentServer output = new RichEditDocumentServer();
        server.MailMerge(output.Document);
        output.SaveDocument("welcome.pdf", DocumentFormat.Pdf);
    }
}
Imports DevExpress.XtraRichEdit

Class Program
    Shared Sub Main()
        Using server As New RichEditDocumentServer()
            server.LoadDocument("welcome-template.docx", DocumentFormat.OpenXml)

            server.Options.MailMerge.DataSource = New Object() {
                New With {
                    .CustomerName = "Acme Corp",
                    .OrderId = "44213",
                    .Total = "$1,498.00"
                }
            }

            Using output As New RichEditDocumentServer()
                server.MailMerge(output.Document)
                output.SaveDocument("welcome.pdf", DocumentFormat.Pdf)
            End Using
        End Using
    End Sub
End Class
$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

Class Program
    Shared 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 Class
$vbLabelText   $csharpLabel

A mesclagem de correspondência do DevExpress em um modelo vincula-se a qualquer fonte DataTable e suporta regiões de mesclagem aninhadas e blocos condicionais, um fluxo de trabalho forte dirigido por modelos. IronWord expõe um gráfico de objetos de parágrafo/execução de texto que mapeia diretamente para OOXML e é construído especialmente para gerar DOCX do zero; fluxos de trabalho dirigidos por modelo no IronWord tipicamente usam encontrar e substituir em execuções de texto.

Processamento de Excel

Ambos os motores cobrem a carga de trabalho diária do Excel (criar ou carregar XLSX, calcular fórmulas, exportar para PDF) e ambos têm modos automáticos de recálculo de fórmulas.

// DevExpress.Spreadsheet provides the non-visual Excel engine with full formula support.
using DevExpress.Spreadsheet;

class Program
{
    static void Main()
    {
        using Workbook book = new Workbook();
        Worksheet sheet = book.Worksheets[0];

        sheet["A1"].Value = "Region";
        sheet["B1"].Value = "Revenue";
        sheet["A2"].Value = "EMEA";
        sheet["B2"].Value = 120000;
        sheet["B4"].Formula = "=SUM(B2:B3)";

        book.CalculationOptions.Mode = CalculationMode.Automatic;
        book.SaveDocument("revenue.xlsx", DocumentFormat.OpenXml);
        book.ExportToPdf("revenue.pdf");
    }
}
// DevExpress.Spreadsheet provides the non-visual Excel engine with full formula support.
using DevExpress.Spreadsheet;

class Program
{
    static void Main()
    {
        using Workbook book = new Workbook();
        Worksheet sheet = book.Worksheets[0];

        sheet["A1"].Value = "Region";
        sheet["B1"].Value = "Revenue";
        sheet["A2"].Value = "EMEA";
        sheet["B2"].Value = 120000;
        sheet["B4"].Formula = "=SUM(B2:B3)";

        book.CalculationOptions.Mode = CalculationMode.Automatic;
        book.SaveDocument("revenue.xlsx", DocumentFormat.OpenXml);
        book.ExportToPdf("revenue.pdf");
    }
}
Imports DevExpress.Spreadsheet

Module Program
    Sub Main()
        Using book As New Workbook()
            Dim sheet As Worksheet = book.Worksheets(0)

            sheet("A1").Value = "Region"
            sheet("B1").Value = "Revenue"
            sheet("A2").Value = "EMEA"
            sheet("B2").Value = 120000
            sheet("B4").Formula = "=SUM(B2:B3)"

            book.CalculationOptions.Mode = CalculationMode.Automatic
            book.SaveDocument("revenue.xlsx", DocumentFormat.OpenXml)
            book.ExportToPdf("revenue.pdf")
        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

DevExpress.Spreadsheet tem investido na profundidade em tipos de gráficos, tabelas dinâmicas e formatação condicional desde que o mesmo motor alimenta o control visual do DevExpress Spreadsheet. O IronXL cobre o escopo de leitura/escrita/recalculo que a maioria dos trabalhos de XLSX de backend necessita, com uma API de célula em estilo indexador (sheet["B4"].Formula = …, workbook.EvaluateAll()) e um impacto de dependência mais leve.

Criação e Fusão de PDF

PDF é onde o estilo de API do DevExpress é mais claramente imperativo. PdfDocumentProcessor constrói e edita PDFs por meio de um objeto processador de documentos que carrega, modifica e salva. IronPDF renderiza PDFs a partir de HTML usando um motor real do Chrome.

// PdfDocumentProcessor merges, splits, and signs PDFs without Adobe.
using DevExpress.Pdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<PdfDocumentProcessor> parts = new List<PdfDocumentProcessor>();
        foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
        {
            PdfDocumentProcessor part = new PdfDocumentProcessor();
            part.LoadDocument(path);
            parts.Add(part);
        }

        using PdfDocumentProcessor combined = new PdfDocumentProcessor();
        combined.CreateEmptyDocument("merged.pdf");

        foreach (PdfDocumentProcessor part in parts)
        {
            combined.AppendDocument(part.Document);
            part.Dispose();
        }

        combined.SaveDocument();
    }
}
// PdfDocumentProcessor merges, splits, and signs PDFs without Adobe.
using DevExpress.Pdf;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<PdfDocumentProcessor> parts = new List<PdfDocumentProcessor>();
        foreach (string path in new[] { "invoice.pdf", "terms.pdf", "appendix.pdf" })
        {
            PdfDocumentProcessor part = new PdfDocumentProcessor();
            part.LoadDocument(path);
            parts.Add(part);
        }

        using PdfDocumentProcessor combined = new PdfDocumentProcessor();
        combined.CreateEmptyDocument("merged.pdf");

        foreach (PdfDocumentProcessor part in parts)
        {
            combined.AppendDocument(part.Document);
            part.Dispose();
        }

        combined.SaveDocument();
    }
}
Imports DevExpress.Pdf
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim parts As New List(Of PdfDocumentProcessor)()
        For Each path As String In {"invoice.pdf", "terms.pdf", "appendix.pdf"}
            Dim part As New PdfDocumentProcessor()
            part.LoadDocument(path)
            parts.Add(part)
        Next

        Using combined As New PdfDocumentProcessor()
            combined.CreateEmptyDocument("merged.pdf")

            For Each part As PdfDocumentProcessor In parts
                combined.AppendDocument(part.Document)
                part.Dispose()
            Next

            combined.SaveDocument()
        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

O PdfDocumentProcessor do DevExpress expõe uma API de página de baixo nível granular e uma API de Assinatura Digital de primeira classe para trabalho no modelo de objeto PDF detalhado. O PdfDocument.Merge do IronPDF cobre as mesmas operações de mesclagem/divisão/edição/assinatura diretamente no modelo de objeto PDF: a ida e volta do HTML só acontece ao criar um PDF a partir de HTML, não durante a manipulação de PDFs existentes. Ambos os motores editam o PDF nativamente; a superfície da API é o diferencial.

Geração de PowerPoint

A geração de PowerPoint é uma capacidade de primeira classe do DevExpress.Iron Suiteinclui o IronPPT para criação e manipulação de PPTX.

// DevExpress PowerPoint Presentation API creates and edits PPTX server-side.
using DevExpress.Office.Drawing;
using DevExpress.Presentation;

class Program
{
    static void Main()
    {
        using Presentation pres = new Presentation();
        Slide slide = pres.Slides.Add();

        Shape title = slide.Shapes.AddTextBox(50, 50, 600, 60);
        title.TextFrame.Text = "Quarterly Update";

        Shape body = slide.Shapes.AddTextBox(50, 140, 600, 80);
        body.TextFrame.Text = "Generated from .NET — no PowerPoint dependency.";

        pres.SaveDocument("update.pptx", PresentationDocumentFormat.OpenXml);
    }
}
// DevExpress PowerPoint Presentation API creates and edits PPTX server-side.
using DevExpress.Office.Drawing;
using DevExpress.Presentation;

class Program
{
    static void Main()
    {
        using Presentation pres = new Presentation();
        Slide slide = pres.Slides.Add();

        Shape title = slide.Shapes.AddTextBox(50, 50, 600, 60);
        title.TextFrame.Text = "Quarterly Update";

        Shape body = slide.Shapes.AddTextBox(50, 140, 600, 80);
        body.TextFrame.Text = "Generated from .NET — no PowerPoint dependency.";

        pres.SaveDocument("update.pptx", PresentationDocumentFormat.OpenXml);
    }
}
Imports DevExpress.Office.Drawing
Imports DevExpress.Presentation

Class Program
    Shared Sub Main()
        Using pres As New Presentation()
            Dim slide As Slide = pres.Slides.Add()

            Dim title As Shape = slide.Shapes.AddTextBox(50, 50, 600, 60)
            title.TextFrame.Text = "Quarterly Update"

            Dim body As Shape = slide.Shapes.AddTextBox(50, 140, 600, 80)
            body.TextFrame.Text = "Generated from .NET — no PowerPoint dependency."

            pres.SaveDocument("update.pptx", PresentationDocumentFormat.OpenXml)
        End Using
    End Sub
End Class
$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 API de Apresentação do DevExpress espelha o estilo imperativo das outras APIs de Arquivo do Office: carregar/modificar/salvar, formas são adicionadas explicitamente a um slide. IronPPT noIron Suitecobre a criação de PPTX e a superfície de manipulação comum com a mesma sensação idiomática do resto do pacote. Para equipes cujos requisitos de PPTX ficam dentro da geração de decks de relatório padrão, qualquer um é suficiente — edição profunda de deck com animações e transições é o caso em que a Apresentação DevExpress tem investido.

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

Para a equipe de backend .NET ou ISV sem um investimento existente em DevExpress UI, oIron Suiteé o ajuste mais limpo. Dez produtos, um SKU, posse perpétua, preços públicos em USD, com OCR e reconhecimento incluídos junto com PDF e Office. Bordas estruturais que importam para o trabalho com documentos .NET baseado em código:

  • Posse perpétua vs assinatura anual que perde acesso a atualizações em caso de vencimento, uma diferença material no TCO em 3-5 anos
  • Preços públicos em USD em cada nível sem necessidade de procurar um revendedor ou cotação
  • Pacote mais amplo: 10 produtos cobrindo criação E reconhecimento (OCR + Código de Barras + QR + WebScraper + ZIP + Impressão) vs 7 sub-APIs do DevExpress
  • Sem integração no ecossistema de UI: Iron é vendido puramente como SDKs de backend, sem aumento de venda para componentes de UI
  • Implantação livre de royalties para assentos licenciados, sem contagem por servidor/domínio em qualquer uma das direções; SaaS/OEM via um único Adicional de Redistribuição
  • Geração de PDF com HTML em primeiro lugar para que o PDF corresponda à renderização do Chrome que o usuário vê na tela

How isIron SuiteDifferent from DevExpress Office File API

  • Perpétuo vs assinatura.Iron Suiteé perpétuo por desenvolvedor; DevExpress é uma assinatura anual onde a interrupção significa perder o acesso a atualizações. Ao longo de 3-5 anos, a diferença no TCO importa.
  • Sem venda adicional do ecossistema de UI. O ponto forte de precificação do DevExpress é adicionar o Office File API à assinatura Universal. Iron é vendido puramente como SDKs backend sem caminho para controles de UI.
  • Pilha de reconhecimento pronta para uso. IronOCR, IronBarcode, IronQR, IronWebScraper, IronZIP, IronPrint estão todos dentro do Iron Suite. O DevExpress tem geração de código de barras, mas nenhum motor OCR na SKU do Office File API.
  • Preço público em USD vs preço do DevExpress apenas através de canais de revendedores ou solicitações de orçamento.
  • Web scraper e arquivador ZIP incluídos. IronWebScraper e IronZIP cobrem cargas de trabalho backend adjacentes que não têm equivalente no Office File API do DevExpress.
  • Geração de PDF com HTML em primeiro lugar com fidelidade real de navegador (CSS, fontes web, SVG) vs API imperativa do PdfDocumentProcessor do DevExpress.

Conclusão

DevExpress Office File API eIron Suiteatendem a diferentes movimentos de compra. Os motores do DevExpress são mais atraentes economicamente quando incluídos em uma assinatura DXperience ou Universal que uma equipe já possui para os controles de UI, com os motores chegando como um valor agregado.Iron Suiteé vendido puramente como bibliotecas backend: dez produtos, uma licença perpétua por desenvolvedor, preço público em USD, com OCR e reconhecimento incluídos no pacote ao lado de saída para PDF e Office. Para equipes de .NET somente de backend executando cargas de trabalho de documentos do dia a dia a um custo por desenvolvedor uniforme,Iron Suitede $2,998 em ironsoftware.com/csharp/suite cobre a superfície.

ObserveDevExpress Office File API é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo DevExpress Office File API. 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.