COMPARACIóN

Elección de una biblioteca de generación de documentos para .NET 8

Spire.Office eIron Suiteson ambos paquetes perpetuos por desarrollador con un año de actualizaciones, por lo que una decisión de compra comparativa a menudo se reduce a dos preguntas: ¿qué licencia cubre realmente tu forma de despliegue, y a qué precio publicado? Spire.Office agrupa doce bibliotecas de E-iceblue en nombres de nivel público (Desarrollador Pequeña Empresa, Desarrollador OEM, Sitio Pequeña Empresa, Sitio OEM), pero las cifras exactas en USD se encuentran detrás del contacto de ventas, y SaaS, Docker, y cualquier despliegue de cara al público están confinados al nivel OEM.Iron Suiteagrupa diez productos deIron Softwareen cinco niveles de precios públicos desde $2,998, libre de regalías para asientos licenciados, con un Complemento de Redistribución para SaaS y OEM en lugar de un nivel superior bloqueado.

Esta comparación comienza con lo que realmente cuelga de una decisión liderada por la compra: cómo está valorado cada paquete, cómo su licencia maneja el despliegue SaaS y Docker, y qué hay realmente 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ónSpire.Office for .NETIron Suite
Posicionamiento de preciosNombres de nivel público (Desarrollador/Sitio, Pequeña Empresa/OEM); Cifras exactas en USD no se pueden rastrearLite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom). Los 10 productos por el precio de 2, ahorra 75%
Modelo de licenciaPerpetuo por desarrollador con 1 año de actualizaciones gratuitas; los niveles limitan SaaS/Docker a OEM; nivel "Gratis Spire" con límites por documentoPerpetuo por desarrollador; libre de regalías para los asientos licenciados; SaaS/OEM a través de Redistribución de Complemento
Componentes en el paquete12 bibliotecas (Doc, XLS, Hoja de cálculo, Presentación, PDF, DataExport, OfficeViewer, PDFViewer, DocViewer, Código de barras, OCR, Correo electrónico)10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper)
Cobertura de formato / capacidadDOCX/XLSX/PPTX/PDF + Correo electrónico + Código de barras + OCR + visores agrupadosPDF, Office, OCR, Código de barras/QR, ZIP, impresión, raspado web
Plataforma cruzada / nubeWindows, Linux, macOS, Docker (Docker/SaaS solo en el nivel OEM)Windows, Linux, macOS, Docker, Azure, AWS Lambda
Soporte de tiempo de ejecución .NET.NET Framework 4.0/4.8, .NET 6, .NET 9, .NET 10.NET Framework 4.6.2+, .NET Core, .NET 6/7/8/9/10
Mercado objetivoDesarrolladores de SMB y mid-market .NET; budget-conscious teamsDesarrolladores independientes, PYMES, equipos .NET de mediano mercado, ISVs
VendedorE-iceblue Co., Ltd.Iron Software

Los precios de nivel de Spire.Office no están listados públicamente (las páginas de compra/devuelven 403 para extracción); Free Spire existe como un nivel gratuito limitado por documentos.Iron SuiteLite cuesta $2,998 por desarrollador, con el paquete completo de diez productos y precios públicos en USD en cada nivel de pago. La decisión se inclina hacia si la fuerte fidelidad de conversión DOCX/XLSX/PPTX de Spire supera al movimiento de contacto-ventas contra el modelo de precio publicado y perpetuo de Iron Suite.

Precios y licencias

Spire.Office ofrece licencias perpetuas por desarrollador con un año de actualizaciones gratuitas. La estructura de niveles públicos es bien conocida (One Developer Small Business, One Developer OEM, One Site Small Business, One Site OEM) y se requiere el nivel OEM para cualquier implementación en SaaS, sitios web de cara al público, Docker, o aplicaciones basadas en la nube. Las cifras exactas en USD para los niveles actuales de Spire.Office no son rastreables desde las páginas de compra de e-iceblue; el mejor modo de obtener el precio es directamente del proveedor o a través de canales de revendedor. Existe un nivel 'Free Spire' con límites de características por documento.

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

Los compradores que se sientan cómodos con un movimiento de contacto con ventas para los precios y una ruta con puertas OEM para el despliegue en SaaS/Docker se dirigen a Spire.Office. Los compradores que quieren cifras en USD en cada nivel público y un único Redistribución Add-On para la extensión SaaS/OEM se dirigen a Iron Suite.

¿Qué es Spire.Office for .NET

Spire.Office for .NET es el paquete maestro de E-iceblue Co., Ltd., un proveedor de componentes con sede en China con una fuerte fidelidad de conversión DOC/XLSX/PDF. El conjunto agrupa doce bibliotecas Spire en una sola licencia, y los mismos motores también se envían como paquetes independientes (Spire.Doc, Spire.XLS, Spire.PDF, etc.). Spire.Office está posicionado para equipos .NET de SMB y mid-market que buscan una alternativa a Aspose a un precio notablemente más bajo, con un nivel 'Free Spire' que permite a los desarrolladores lanzar proyectos pequeños sin costo de licencia (sujeto a límites de características por documento). El metapaquete NuGet 11.4.0, lanzado el 30 de abril de 2026, está dirigido a .NET Framework 4.0/4.8 y .NET 6/9/10 moderno.

Componentes clave incluidos en el paquete y capacidades:

  • Spire.Doc: Creación, conversión y edición de Word DOCX/DOC
  • Spire.XLS: Motor Excel XLSX con recalculación de fórmulas y exportación a PDF
  • Spire.PDF: Creación, edición y manipulación de PDF
  • Spire.Presentation: soporte para PowerPoint PPTX
  • Spire.Barcode + Spire.OCR: pila de reconocimiento dentro del paquete
  • Spire.Email + Spire.DataExport + Spire.OfficeViewer/PDFViewer/DocViewer: herramientas adyacentes que completan el conjunto

¿Qué es Iron Suite?

Iron Suite es el paquete de diez productos .NET deIron Softwaredonde la pila de Office (IronWord para DOCX, IronXL para XLSX con recálculo de fórmulas, IronPPT para PPTX) se encuentra junto a IronPDF para la generación y manipulación de PDF, la pila de reconocimiento (IronOCR, IronBarcode, IronQR) para OCR y trabajo con códigos de barras, y tres bibliotecas de utilidad (IronPrint, IronZIP, IronWebScraper) para impresión, archivos y scraping. Vendido como una licencia perpetua por desarrollador en cinco niveles (Lite, Plus, Professional, Unlimited, Enterprise) desde $2,998. Libre de regalías para los asientos con licencia. 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 (ancla): IronWord (DOCX con gráficos de objetos de párrafo y ejecución de texto que se mapean directamente al OOXML, con estilos personalizados, fuentes, encabezados, pies de página, tablas y extracción de contenido); IronXL (XLSX con recalculación de fórmulas, creación de gráficos en Área, Barra, Columna, Líneas, Pastel y Dispersión, tablas dinámicas, formato condicional, validación de datos); IronPPT (creación, edición, conversión y extracción de contenido de PPTX).
  • Generación de PDF (IronPDF): Generación de HTML a PDF y de URL a PDF con Chromium incluido, fusión y división nativa a través de PdfDocument.Merge, firma PKCS#12 más HSM más TSA, PDF/A-1 a PDF/A-4, PDF/UA-1 y PDF/UA-2, encriptación, llenado 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); IronQR (potenciado por ML con procesamiento por lotes ReadPdfs).
  • Utilidades: IronPrint (impresión silenciosa y con diálogo); IronZIP (ZIP/TAR/GZIP/BZIP2 with AES); IronWebScraper (scraping estructurado en proceso).

Comparación de Capacidades

Procesamiento de Texto

La conversión de DOCX a PDF es una carga de trabajo emblemática de Spire, y la API ha sido refinada durante muchos años para lograr fidelidad. IronWord apunta a una carga de trabajo similar diaria pero con una API moderna de gráfico de objetos.

// Spire.Doc converts and edits Word documents without Office installed.
// NuGet: Install-Package Spire.Office
using Spire.Doc;

class Program
{
    static void Main()
    {
        Document doc = new Document();
        doc.LoadFromFile("contract.docx");
        doc.SaveToFile("contract.pdf", FileFormat.PDF);
        doc.Close();
    }
}
// Spire.Doc converts and edits Word documents without Office installed.
// NuGet: Install-Package Spire.Office
using Spire.Doc;

class Program
{
    static void Main()
    {
        Document doc = new Document();
        doc.LoadFromFile("contract.docx");
        doc.SaveToFile("contract.pdf", FileFormat.PDF);
        doc.Close();
    }
}
Imports Spire.Doc

Class Program
    Shared Sub Main()
        Dim doc As New Document()
        doc.LoadFromFile("contract.docx")
        doc.SaveToFile("contract.pdf", FileFormat.PDF)
        doc.Close()
    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 convención SaveToFile de Spire.Doc es consistente en todos los productos Spire (Spire.XLS, Spire.PDF, Spire.Presentation utilizan el mismo patrón), lo que hace que la suite sea predecible pero estilísticamente anticuada. El gráfico de objetos de párrafo/ejecución de texto de IronWord se mapea directamente a la estructura OOXML y se lee como moderno C#. La conversión de ida y vuelta de DOCX a PDF pura con fuerte fidelidad en casos límite de formato heredado es un área en la que Spire ha estado invirtiendo; para la generación de DOCX basada en código, IronWord requiere menos ceremonia.

Procesamiento de Excel

Ambos paquetes cubren la carga de trabajo diaria de Excel (crear o cargar XLSX, escribir datos, recalcular fórmulas, exportar a PDF) y ambos tienen un motor de cálculo fuerte.

// Spire.XLS handles XLSX read/write, formula recalculation, and PDF export.
using Spire.Xls;

class Program
{
    static void Main()
    {
        Workbook book = new Workbook();
        book.LoadFromFile("financials.xlsx");
        book.CalculateAllValue();
        book.ConverterSetting.SheetFitToPage = true;
        book.SaveToFile("financials.pdf", FileFormat.PDF);
    }
}
// Spire.XLS handles XLSX read/write, formula recalculation, and PDF export.
using Spire.Xls;

class Program
{
    static void Main()
    {
        Workbook book = new Workbook();
        book.LoadFromFile("financials.xlsx");
        book.CalculateAllValue();
        book.ConverterSetting.SheetFitToPage = true;
        book.SaveToFile("financials.pdf", FileFormat.PDF);
    }
}
Imports Spire.Xls

Class Program
    Shared Sub Main()
        Dim book As New Workbook()
        book.LoadFromFile("financials.xlsx")
        book.CalculateAllValue()
        book.ConverterSetting.SheetFitToPage = True
        book.SaveToFile("financials.pdf", FileFormat.PDF)
    End Sub
End Class
$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

La combinación de book.CalculateAllValue() + SheetFitToPage de Spire.XLS le da un flujo fuerte de libro de trabajo existente → PDF pulido. El acceso a las celdas de estilo indexador de IronXL (sheet["A1"].Value = …, sheet["B4"].Formula = …, workbook.EvaluateAll()) se siente más como .NET de la era LINQ cotidiana y es lo que la mayoría de los desarrolladores buscan al generar XLSX desde cero. Ambos motores manejan la superficie común de fórmulas; la fidelidad de conversión de libros de trabajo existentes complejos (peculiaridades del XLS heredado, manejo de objetos gráficos) es un área en la que Spire ha seguido invirtiendo.

Generación de PDF

PDF es donde el estilo de API más diverge. Spire.PDF construye documentos primitivos por primitivos en un lienzo de página, superponiendo texto, imágenes y formas a través de PdfPageBase.Canvas. IronPDF renderiza el mismo contenido desde HTML utilizando un motor Chrome real.

// Spire.PDF builds PDFs primitive-by-primitive on a page canvas.
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

class Program
{
    static void Main()
    {
        PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.Pages.Add();

        PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Arial", 20f, FontStyle.Bold), true);
        page.Canvas.DrawString("Statement of Account", titleFont, PdfBrushes.Black, 50, 50);

        PdfTrueTypeFont body = new PdfTrueTypeFont(new Font("Arial", 11f), true);
        page.Canvas.DrawString("Generated 2026-05-26", body, PdfBrushes.DarkSlateGray, 50, 90);

        pdf.SaveToFile("statement.pdf");
        pdf.Close();
    }
}
// Spire.PDF builds PDFs primitive-by-primitive on a page canvas.
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

class Program
{
    static void Main()
    {
        PdfDocument pdf = new PdfDocument();
        PdfPageBase page = pdf.Pages.Add();

        PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Arial", 20f, FontStyle.Bold), true);
        page.Canvas.DrawString("Statement of Account", titleFont, PdfBrushes.Black, 50, 50);

        PdfTrueTypeFont body = new PdfTrueTypeFont(new Font("Arial", 11f), true);
        page.Canvas.DrawString("Generated 2026-05-26", body, PdfBrushes.DarkSlateGray, 50, 90);

        pdf.SaveToFile("statement.pdf");
        pdf.Close();
    }
}
Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing

Class Program
    Shared Sub Main()
        Dim pdf As New PdfDocument()
        Dim page As PdfPageBase = pdf.Pages.Add()

        Dim titleFont As New PdfTrueTypeFont(New Font("Arial", 20.0F, FontStyle.Bold), True)
        page.Canvas.DrawString("Statement of Account", titleFont, PdfBrushes.Black, 50, 50)

        Dim body As New PdfTrueTypeFont(New Font("Arial", 11.0F), True)
        page.Canvas.DrawString("Generated 2026-05-26", body, PdfBrushes.DarkSlateGray, 50, 90)

        pdf.SaveToFile("statement.pdf")
        pdf.Close()
    End Sub
End Class
$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

Spire.PDF es la elección correcta cuando necesitas ubicación precisa de píxeles de primitivas en una página existente (formularios, estampado, redacción). IronPDF es la elección correcta cuando el PDF proviene de datos de aplicación web: el mismo HTML/CSS que se renderiza en el navegador se transforma en el PDF, incluyendo CSS moderno, fuentes web, SVG y contenido renderizado con JavaScript.

Procesamiento de PowerPoint

La conversión de PowerPoint a PDF es una fortaleza de Spire en el paquete.Iron Suiteincluye IronPPT para la generación y manipulación de PowerPoint, aunque el conjunto de referencia deIron Suiteposiciona IronPPT como un producto enfocado en la creación más que en un motor de conversión de alta fidelidad.

// Spire.Presentation reads/writes PPTX and exports to PDF or image without PowerPoint installed.
using Spire.Presentation;

class Program
{
    static void Main()
    {
        Presentation pres = new Presentation();
        pres.LoadFromFile("kickoff-deck.pptx");
        pres.SaveToFile("kickoff-deck.pdf", FileFormat.PDF);
        pres.Dispose();
    }
}
// Spire.Presentation reads/writes PPTX and exports to PDF or image without PowerPoint installed.
using Spire.Presentation;

class Program
{
    static void Main()
    {
        Presentation pres = new Presentation();
        pres.LoadFromFile("kickoff-deck.pptx");
        pres.SaveToFile("kickoff-deck.pdf", FileFormat.PDF);
        pres.Dispose();
    }
}
Imports Spire.Presentation

Class Program
    Shared Sub Main()
        Dim pres As New Presentation()
        pres.LoadFromFile("kickoff-deck.pptx")
        pres.SaveToFile("kickoff-deck.pdf", FileFormat.PDF)
        pres.Dispose()
    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

El patrón de carga/guarda de Spire.Presentation coincide con el resto de la familia Spire y cubre la conversión a PDF e imagen con inversión continua en fidelidad de maestro de diapositivas, tema y SmartArt. IronPPT cubre la creación de PowerPoint y la superficie de manipulación común (diapositivas, texto, imágenes, figuras básicas), la conversión de alta fidelidad de mazos de terceros existentes con preservación profunda de tema y animación es un área en la que el motor de Spire ha estado creciendo.

Generación y Lectura de Códigos de Barras

Ambos paquetes envían generación y lectura de códigos de barras. Iron divide la carga de trabajo entre IronBarcode (1D/2D) e IronQR (específico para QR), dando a los equipos un camino dedicado para flujos de trabajo intensivos en QR. El fragmento de Spire a continuación demuestra generación; el fragmento de IronBarcode demuestra el camino de lectura.

// Spire.Barcode generates and decodes 1D/2D symbologies; bundled into Spire.Office.
using Spire.Barcode;

class Program
{
    static void Main()
    {
        BarcodeSettings settings = new BarcodeSettings
        {
            Type = BarCodeType.QRCode,
            Data = "https://example.com/inv/2026-44213",
            Data2D = "https://example.com/inv/2026-44213",
            X = 1.5f
        };

        BarCodeGenerator generator = new BarCodeGenerator(settings);
        System.Drawing.Image image = generator.GenerateImage();
        image.Save("invoice-qr.png");
    }
}
// Spire.Barcode generates and decodes 1D/2D symbologies; bundled into Spire.Office.
using Spire.Barcode;

class Program
{
    static void Main()
    {
        BarcodeSettings settings = new BarcodeSettings
        {
            Type = BarCodeType.QRCode,
            Data = "https://example.com/inv/2026-44213",
            Data2D = "https://example.com/inv/2026-44213",
            X = 1.5f
        };

        BarCodeGenerator generator = new BarCodeGenerator(settings);
        System.Drawing.Image image = generator.GenerateImage();
        image.Save("invoice-qr.png");
    }
}
Imports Spire.Barcode
Imports System.Drawing

Class Program
    Shared Sub Main()
        Dim settings As New BarcodeSettings With {
            .Type = BarCodeType.QRCode,
            .Data = "https://example.com/inv/2026-44213",
            .Data2D = "https://example.com/inv/2026-44213",
            .X = 1.5F
        }

        Dim generator As New BarCodeGenerator(settings)
        Dim image As Image = generator.GenerateImage()
        image.Save("invoice-qr.png")
    End Sub
End Class
$vbLabelText   $csharpLabel
// NuGet: Install-Package IronBarcode
using IronBarCode;

class Program
{
    static void Main()
    {
        var results = BarcodeReader.Read("shipment-label.png");
        foreach (var barcode in results)
        {
            Console.WriteLine($"Value: {barcode.Value}");
            Console.WriteLine($"Format: {barcode.BarcodeType}");
        }
    }
}
// NuGet: Install-Package IronBarcode
using IronBarCode;

class Program
{
    static void Main()
    {
        var results = BarcodeReader.Read("shipment-label.png");
        foreach (var barcode in results)
        {
            Console.WriteLine($"Value: {barcode.Value}");
            Console.WriteLine($"Format: {barcode.BarcodeType}");
        }
    }
}
Imports IronBarCode

Class Program
    Shared Sub Main()
        Dim results = BarcodeReader.Read("shipment-label.png")
        For Each barcode In results
            Console.WriteLine($"Value: {barcode.Value}")
            Console.WriteLine($"Format: {barcode.BarcodeType}")
        Next
    End Sub
End Class
$vbLabelText   $csharpLabel

Spire.Barcode agrupa 1D/2D y QR en un generador impulsado por configuraciones, que es conciso pero requiere leer los documentos de configuración para descubrir todas las opciones disponibles. IronBarcode + IronQR ofrecen puntos de entrada dedicados (BarcodeReader.Read, BarcodeWriter, además de un lector/escritor específico de QR en IronQR) que se autocompletan más limpiamente en el IDE.

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

EligeIron Suitecuando SaaS, Docker y despliegues de cara al público deben caer bajo la licencia base en lugar de bloquearse detrás de un nivel OEM. Las API de Iron se leen como .NET moderno basado en código, los diez productos comparten un estilo consistente en todo el paquete, y los precios son públicos y perpetuos en cinco niveles desde $2,998. Aspectos estructurales que importan para la automatización documental .NET diaria:

  • Precios perpetuos transparentes con cantidades en USD en cada nivel
  • SaaS, Docker y despliegues de cara al público no están bloqueados en el nivel OEM: la licencia base cubre asientos licenciados y un único Redistribución Add-On cubre escenarios de redistribución
  • Despliegue libre de regalías para asientos licenciados, sin tasas en tiempo de ejecución, sin medición por documento
  • Superficie de API de .NET basada en código en todos los 10 productos, sin patrones de legado SaveToFile para aprender
  • Creación y reconocimiento (PDF/Word/Excel/PPT + OCR/Código de barras/QR) en un paquete
  • Generación de PDF orientada a HTML con total fidelidad de navegador

¿En qué se diferenciaIron Suitede Spire.Office?

  • Precios públicos en USD en cada nivel. Las páginas de compra de Spire están bloqueadas contra el scraping y el precio requiere contactar a ventas; Iron publica una cifra en cada nivel.
  • SaaS / Docker / despliegues de cara al público están en territorio de licencia base en Iron (con el Redistribución Add-On como una SKU separada limpia). Spire confina esas formas de despliegue al nivel OEM, un paso de precio más agudo para cualquier aplicación desplegada en la web.
  • Consistencia de API en los productos. Los 10 productos de Iron comparten la nomenclatura y estructura idiomática de .NET; Las APIs de Spire son útiles pero variables en los componentes (Spire.DataExport vs Spire.Spreadsheet vs Spire.Doc todos se sienten ligeramente diferentes).
  • Reconocimiento + scraping + ZIP + Print + QR. IronWebScraper, IronZIP y IronPrint se encuentran en el lado de Iron sin equivalente en Spire; IronQR es una biblioteca dedicada a QR separada de IronBarcode.
  • Generación de PDF orientada a HTML con fidelidad de navegador real frente a la API de lienzo de página primitiva de Spire.PDF.
  • Modelo de registro de licencia-clave única frente al configurador de licencia por espacio de nombres de Spire y las formas de despliegue con puertas OEM.

Conclusión

Spire.Office es una alternativa a Aspose largamente establecida, capaz y amigable para el presupuesto, cuyas cartas más fuertes son la fidelidad de conversión de DOCX/XLSX/PPTX a PDF y una generosa rampa de acceso 'Free Spire'.Iron Suitees un paquete estructuralmente más simple cuyas cartas más fuertes son la claridad de licencias, precios perpetuos transparentes, una superficie API .NET idiomática orientada a código en todos los diez productos y un paquete de creación más reconocimiento que no bloquea SaaS o Docker detrás de un nivel OEM. Los equipos cuyo principal necesidad es la fidelidad de conversión para documentos de Office existentes encontrarán el motor de Spire excelente. Los equipos cuyo principal necesidad es una única licencia perpetua que cubra PDF, Office, OCR, Código de barras/QR y herramienta adyacente, sin contactar al servicio de ventas para un precio, encontraránIron Suitela opción más limpia. Explore Iron Suite, including the $2,998 entry tier, at ironsoftware.com/csharp/suite.

Por favor notaSpire.Office es una marca registrada de su respectivo propietario. Este sitio no está afiliado, respaldado ni patrocinado por Spire.Office. Todos los nombres de productos, 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.