COMPARACIóN

XFINIUM.PDF frente a IronPDF: Guía de comparación técnica

DevExpress Office File API es más económicamente atractivo cuando se envía empaquetado dentro de DXperience o suscripciones Universal, donde los motores de documentos llegan esencialmente gratis junto a los controles de interfaz de usuario. Comprado por separado a través de canales de revendedores (la página de compra de DevExpress está cerrada contra el scraping público), es una suscripción anual por desarrollador a aproximadamente $587.99 para un nuevo asiento o $1,175.99/año en renovación.Iron Suitese vende exclusivamente como SDKs de backend: diez productos deIron Softwareen un solo paquete perpetuo por desarrollador desde $2,998, libre de regalías para asientos licenciados, con la redistribución SaaS y OEM cubierta por un único Complemento de Redistribución.

Esta comparación comienza con lo que una decisión liderada por adquisiciones realmente se basa: si el equipo ya está en DevExpress UI, cómo cada suite está precificada a lo largo de un horizonte multianual, y qué es lo que realmente está en la caja. El detalle de la capacidad y el código sigue a continuación para los ingenieros que lo implementarán.

Comparación rápida

DimensiónAPI de Archivos de Oficina de DevExpressIron Suite
Posicionamiento de preciosNueva licencia desde ~$587.99 / suscripción desde ~$1,175.99 por desarrollador/año (lista de revendedores, ComponentSource), la página de compra del proveedor está cerradaLite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom); todos los 10 productos por el precio de 2
Modelo de licenciaSuscripción anual por desarrollador; implementación libre de regalías; incluido en los paquetes DXperience/UniversalPerpetuo por desarrollador; libre de regalías para los asientos licenciados; SaaS/OEM a través de Redistribución de Complemento
Componentes en el paquete7 sub-APIs (Word, Hoja de cálculo, PDF, PowerPoint, Código de barras, Firma digital, Extensiones de IA)10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper)
Cobertura de formato / capacidadDOCX, XLSX, PDF, PPTX + código de barras + firma digital + extensiones de documento IAPDF, Office, OCR, Código de barras/QR, ZIP, impresión, raspado web
Plataforma cruzada / nubeWindows, Linux, macOS, Docker, Azure, AWSWindows, Linux, macOS, Docker, Azure, AWSLambda
Soporte de tiempo de ejecución .NET.NET 8 / 9 / 10, .NET Framework 4.6.2+.NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
Mercado objetivoTiendas .NET de mediano mercado y empresas, especialmente los clientes existentes de DevExpress UI/ReportingDesarrolladores independientes, PYMES, equipos .NET de mediano mercado, ISVs
VendedorDeveloper Express Inc. (DevExpress)Iron Software

El comprador decide preguntando: ¿el equipo ya paga por DevExpress UI (suscriptores Universales, usuarios de XtraReports, compradores de controles WinForms/WPF)? Si es así, la API de archivos de Office llega empaquetada esencialmente gratis, y ese es el argumento económico más fuerte para permanecer en DevExpress. Si no,Iron Suitecomo un paquete backend independiente a un precio perpetuo plano cubre la misma superficie de Office, PDF, reconocimiento, y utilidad sin la compra del ecosistema UI.

Precios y licencias

DevExpress Office File API se vende como una suscripción anual por desarrollador. La propia página de compra del proveedor no hace visibles los precios públicos en USD a scraping, pero la lista de revendedores en ComponentSource para la última versión (v25.2.7) muestra nuevas licencias desde $587.99 y suscripción/renovación desde $1,175.99 por desarrollador/año. Cada desarrollador está cubierto en múltiples máquinas sin conteo por servidor o por dominio. La API de archivos de Office también está incluida en las suscripciones DXperience y Universal; para los equipos ya en Universal, los motores de documentos son efectivamente gratuitos de costo incremental de SKU.

Iron Suite se vende como una única licencia perpetua por desarrollador en cinco niveles (Lite, Plus, Professional, Unlimited y Enterprise) comenzando desde $2,998, con la posición de mercado de 'todos los 10 productos por el precio de 2, ahorra 75%.' La licencia base es libre de regalías para los asientos licenciados, ubicaciones o proyectos, y para SaaS, OEM o redistribución distribuida más allá de la licencia base se utiliza un Complemento de Redistribución, con un precio separado.

Los compradores ya en DevExpress Universal van al Office File API como un valor añadido paquete sin costo incremental de SKU. Los compradores sin una dependencia de UI de DevExpress van aIron Suitecomo un paquete perpetuo independiente a $2,998 para el nivel Lite, con la misma superficie de Office y PDF más reconocimiento (OCR, Barcode, QR) incluido junto.

¿Qué es API de Archivos de Oficina de DevExpress?

DevExpress Office File API es el motor de documentos no visual que potencia los controles Rich Edit, Spreadsheet y PDF Viewer de DevExpress, vendido como un SDK del lado del servidor independiente por Developer Express Inc. Es la evolución renombrada del producto anterior DevExpress Document Server y se integra limpiamente con el resto de la familia de componentes de DevExpress (XtraReports, Snap, los controles UI de WinForms/WPF). El lema de marketing en la página actual del producto es 'APIs de Archivos de Office y PDF for .NET (DOCx, XLSx, PDF, PPTx), por DevExpress (C# & VB.NET y pronto Java).' La última publicación de referencia es DevExpress.Document.Processor 25.2.7, publicada el 2026-05-06, con la próxima versión principal v26.1 prevista para junio de 2026 según la hoja de ruta pública.

Componentes clave incluidos en el paquete y capacidades:

  • API de Procesamiento de Documentos Word: lectura/escritura DOCX, combinación de correo, buscar y reemplazar
  • API de Documentos de Hoja de Cálculo: lectura/escritura XLSX con recálculo completo de fórmulas
  • API de Documentos PDF: crear, editar, fusionar, asegurar, firmar PDFs
  • API de Presentaciones PowerPoint: lectura/escritura PPTX
  • API de Generación de Códigos de Barras: representación de códigos de barras dentro del paquete
  • API de Firma Digital: firma de PDF de primera clase
  • Extensiones de Procesamiento de Documentos impulsadas por IA: nueva dirección en la hoja de ruta v26.1

¿Qué es Iron Suite?

Iron Suite es el SDK de documentos .NET independiente de Iron Software, vendido puramente como bibliotecas backend sin dependencia de controles de UI y sin suscripción de acompañamiento. Diez productos se envían juntos bajo una licencia perpetua por desarrollador en cinco niveles desde $2,998, libre de regalías para los asientos licenciados. La redistribución SaaS y OEM utiliza un complemento de redistribución separado.

Los diez componentes, agrupados por relevancia para un flujo de trabajo programático de Office y PDF:

  • Pila de Office: IronWord (DOCX con gráfico de objetos de párrafo y recorrido de texto, extracción de contenido, estilo personalizado); IronXL (XLSX con recálculo de fórmulas, gráficos, tablas dinámicas, formato condicional); IronPPT (creación y edición de PPTX).
  • Generación de PDF (IronPDF): de HTML a PDF y de URL a PDF, fusión y división nativas, PKCS#12 más HSM más TSA firmando alineado a eIDAS y ESIGN, PDF/A a través de PDF/A-4, PDF/UA-1 y PDF/UA-2, cifrado AES, relleno y aplanado de AcroForm, gestión de fuentes, rasterización, compresión y linealización.
  • Reconocimiento: IronOCR (Tesseract 5, más de 125 idiomas, escritura a mano al ~90% en inglés); IronBarcode (más de 30 simbologías, escáner MAUI); IronQR (potenciado por ML con lote ReadPdfs).
  • Utility: IronPrint, IronZIP, IronWebScraper.

Comparación de Capacidades

Procesamiento de Palabras y Combinar Correos

La combinación de correspondencia contra una plantilla DOCX usando una fuente de datos tipada es una carga de trabajo característica de DevExpress: RichEditDocumentServer es el motor que impulsa el control Rich Edit de WinForms de DevExpress. IronWord se enfoca en la creación y manipulación de DOCX con una moderna API de gráfico de objetos.

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

La combinación de correspondencia de DevExpress contra una plantilla se vincula a cualquier fuente DataTable y soporta regiones de combinación anidadas y bloques condicionales, un flujo de trabajo fuerte impulsado por plantillas. IronWord expone un gráfico de objeto de párrafo/recorrido de texto que se asigna directamente a OOXML y está construido especialmente para generar DOCX desde cero; los flujos de trabajo impulsados por plantillas en IronWord típicamente usan encontrar y reemplazar en recorridos de texto.

Procesamiento de Excel

Ambos motores cubren la carga de trabajo diaria de Excel (crear o cargar XLSX, calcular fórmulas, exportar a PDF) y ambos tienen 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 ha estado invirtiendo profundidad en tipos de gráficos, tablas dinámicas, y formato condicional desde que el mismo motor potencia el control visual DevExpress Spreadsheet. IronXL cubre el ámbito de lectura/escritura/recalcular que la mayoría del trabajo de backend con XLSX necesita, con una API de celdas al estilo indexador (sheet["B4"].Formula = …, workbook.EvaluateAll()) y una huella de dependencia más ligera.

Generación y Fusión de PDFs

PDF es donde el estilo API de DevExpress es más claramente imperativo. PdfDocumentProcessor construye y edita PDFs a través de un objeto procesador de documentos que carga, modifica y guarda. IronPDF renderiza PDF desde HTML usando un motor real de 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

DevExpress PdfDocumentProcessor expone una API granular de página a nivel bajo y una API de Firma Digital de primera clase para trabajo de modelo de objeto PDF de grano fino. El PdfDocument.Merge de IronPDF cubre las mismas operaciones de combinar/dividir/tachar/firmar directamente en el modelo de objeto PDF: el viaje redondo de HTML solo ocurre cuando se crea un PDF desde HTML, no durante la manipulación de PDFs existentes. Ambos motores editan el PDF nativamente; la superficie del API es el diferenciador.

Generación de PowerPoint

La generación de PowerPoint es una capacidad de primera clase de DevExpress.Iron Suiteincluye IronPPT para la creación y manipulación 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

La API de Presentación de DevExpress refleja el estilo imperativo de las otras APIs de Archivos de Office: carga/modificación/guardado, las formas se añaden explícitamente a una diapositiva. IronPPT enIron Suitecubre la creación de PPTX y la superficie común de manipulación con el mismo sentido idiomático que el resto del paquete. Para equipos cuyos requisitos de PPTX permanecen dentro de la generación de presentaciones estándar, cualquiera es suficiente — la edición de presentaciones en profundidad con animaciones y transiciones es el caso en el que DevExpress Presentation ha estado invirtiendo.

Por qué elegirIron Suitepara Automatización de Documentos en .NET orientada al código

Para el equipo backend .NET o ISV sin una inversión existente en UI de DevExpress,Iron Suitees la opción más limpia. Diez productos, un SKU, propiedad perpetua, precios públicos en USD, con OCR y reconocimiento incluidos junto a la salida de PDF y Office. Bordes estructurales que importan para el trabajo de documentos .NET centrado en el código:

  • Propiedad perpetua vs suscripción anual que pierde acceso a actualizaciones al vencimiento, una diferencia sustancial de TCO en 3-5 años
  • Precios públicos en USD en cada nivel sin necesidad de buscar un revendedor o cotización
  • Paquete más amplio: 10 productos que cubren creación Y reconocimiento (OCR + Código de barras + QR + WebScraper + ZIP + Print) contra las 7 sub-APIs de DevExpress
  • Sin compra en el ecosistema UI: Iron se vende puramente como SDKs backend, sin venta adicional en componentes UI
  • Implementación libre de regalías para asientos licenciados, sin contar por servidor/dominio de ninguna manera; SaaS/OEM a través de una única Redistribución de Complemento
  • Generación de PDF centrada en HTML para que el PDF coincida con el renderizado de Chrome que el usuario ve en la pantalla

Cómo es diferenteIron Suitede DevExpress Office File API

  • Perpetuo vs suscripción.Iron Suitees perpetuo por desarrollador; DevExpress es una suscripción anual donde perder el acceso significa perder el acceso a las actualizaciones. En 3-5 años la brecha de TCO importa.
  • Sin venta adicional en el ecosistema UI. La mayor ventaja de precio de DevExpress es agrupar la API de archivos de Office en la suscripción Universal. Iron se vende puramente como SDKs backend sin escalera a controles UI.
  • Pila de reconocimiento tal cual sale de la caja. IronOCR, IronBarcode, IronQR, IronWebScraper, IronZIP, IronPrint todos están dentro de Iron Suite. DevExpress tiene generación de códigos de barras pero no motor OCR en la SKU de la API de archivos de Office.
  • Precios públicos en USD vs precios de DevExpress solo a través de canales de revendedores o solicitudes de cotización.
  • Web scraper y archivador ZIP incluidos. IronWebScraper e IronZIP cubren cargas de trabajo backend adyacentes que no tienen equivalente en la API de archivos de Office de DevExpress.
  • Generación de PDF centrada en HTML con fidelidad real de navegador (CSS, fuentes web, SVG) vs la API imperativa de PdfDocumentProcessor de DevExpress.

Conclusión

DevExpress Office File API eIron Suitesirven diferentes movimientos de compra. Los motores de DevExpress son más atractivos económicamente cuando se empaquetan en una suscripción DXperience o Universal que un equipo ya posee para los controles de UI, con los motores llegando como un valor agregado.Iron Suitese vende puramente como bibliotecas backend: diez productos, una licencia perpetua por desarrollador, precios públicos en USD, con OCR y reconocimiento incluidos en el paquete junto a la salida de PDF y Office. Para equipos de .NET solo en backend que ejecutan cargas de trabajo de documentos cotidianos a un costo plano por desarrollador,Iron Suitedesde $2,998 en ironsoftware.com/csharp/suite cubre la superficie.

Por favor notaDevExpress Office File API es una marca registrada de su respectivo propietario. Este sitio no está afiliado, avalado o patrocinado por DevExpress Office File API. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son solo para fines informativos y reflejan información públicamente disponible en el momento de la redacción.