Como escolher uma biblioteca de geração de documentos para .NET 8
Spire.Office eIron Suitesão ambos pacotes perpétuos por desenvolvedor com um ano de atualizações, então uma decisão de aquisição lado a lado geralmente se resume a duas perguntas: qual licença realmente cobre a forma de implantação e a que preço publicado? Spire.Office pacotes doze bibliotecas E-iceblue em nomes de níveis públicos (Developer Small Business, Developer OEM, Site Small Business, Site OEM), mas números exatos em USD estão atrás do contato de vendas, e SaaS, Docker e qualquer implantação voltada para o público são restritos ao nível OEM. OIron Suiteagrupa dez produtosIron Softwareem cinco níveis de preço público a partir de $2,998, isento de royalties para assentos licenciados, com um Complemento de Redistribuição para SaaS e OEM em vez de um nível mais alto bloqueado.
Esta comparação começa com base em que uma decisão liderada por aquisição realmente depende: como cada suíte é precificada, como sua licença lida com a implantação SaaS e Docker, 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 | Spire.Office for .NET | Iron Suite |
|---|---|---|
| Posicionamento de preço | Nomes de níveis públicos (Developer/Site, Small Business/OEM); valores exatos em USD não rastreáveis | Lite $2,998 / Plus $4,498 / Professional $8,998 / Unlimited $17,998 (Enterprise custom). Todos os 10 produtos pelo preço de 2, economize 75% |
| Modelo de licença | Perpétua por desenvolvedor com 1 ano de atualizações gratuitas; níveis limitam SaaS/Docker ao OEM; "Free Spire" nível com limites por documento | Perpétuo por desenvolvedor; isento de royalties para as vagas licenciadas; SaaS/OEM através de Adicional de Redistribuição |
| Componentes no pacote | 12 bibliotecas (Doc, XLS, Planilha, Apresentação, PDF, DataExport, OfficeViewer, PDFViewer, DocViewer, Código de Barras, OCR, Email) | 10 products (IronPDF, IronWord, IronXL, IronPPT, IronOCR, IronBarcode, IronQR, IronPrint, IronZIP, IronWebScraper) |
| Formatos / cobertura de capacidade | DOCX/XLSX/PPTX/PDF + Email + Código de Barras + OCR + visualizadores incluídos | PDF, Office, OCR, Código de Barras/QR, ZIP, Impressão, Web Scraping |
| Multi-platforma / nuvem | Windows, Linux, macOS, Docker (Docker/SaaS apenas no nível OEM) | Windows, Linux, macOS, Docker, Azure, AWS Lambda |
| Suporte a runtime .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-alvo | Desenvolvedores de SMB e mid-market .NET; budget-conscious teams | Desenvolvedores independentes, SMB, equipes .NET de mercado intermediário, ISVs |
| Fornecedor | E-iceblue Co., Ltd. | Iron Software |
Os preços de nível da Spire.Office não estão listados publicamente (páginas Comprar/retornam 403 para raspagem); "Free Spire" existe como um nível gratuito com limite por documento. OIron SuiteLite é $2,998 por desenvolvedor, com o pacote completo de dez produtos e preços públicos em dólares americanos em cada nível pago. A decisão se inclina para saber se a forte fidelidade de conversão de DOCX/XLSX/PPTX da Spire supera o movimento de contato de vendas contra o modelo perpétuo de preço publicado da Iron Suite.
Preços e licenciamento
Spire.Office oferece licenciamento perpétuo por desenvolvedor com um ano de atualizações gratuitas. A estrutura de nível público é bem conhecida (One Developer Small Business, One Developer OEM, One Site Small Business, One Site OEM) e o nível OEM é necessário para qualquer implantação para SaaS, sites voltados para o público, Docker ou aplicativos baseados em nuvem. Valores exatos em USD para os níveis atuais da Spire.Office não são rastreáveis nas páginas Comprar/do e-iceblue; os preços são obtidos melhor diretamente do fornecedor ou por meio de canais de revendedores. Um nível "Free Spire" existe com limites de recursos por documento.
OIron Suiteé vendido como uma única licença perpétua por desenvolvedor em cinco níveis de tier (Lite, Plus, Professional, Unlimited e Enterprise) começando de $2,998, com o posicionamento de marketing de "todos os 10 produtos pelo preço de 2, economize 75%". A licença básica é isenta de royalties para os assentos, locais ou projetos licenciados, e SaaS, OEM ou redistribuição distribuída além da licença básica usa um único Complemento de Redistribuição com preço separado em vez de bloquear o SaaS em um nível OEM mais caro.
Compradores confortáveis com um movimento de contato de vendas para preços e um caminho limitado por OEM para implantação SaaS/Docker vão para Spire.Office. Compradores que desejam números em USD em cada nível público e um único complemento de Redistribuição para extensão SaaS/OEM vão para Iron Suite.
O que é Spire.Office for .NET
Spire.Office for .NET é o pacote mestre da E-iceblue Co., Ltd., um fornecedor de componentes com sede na China com forte fidelidade em conversão DOC/XLSX/PDF. A suíte agrega doze bibliotecas Spire em uma única licença, e os mesmos motores também são enviados como pacotes independentes (Spire.Doc, Spire.XLS, Spire.PDF, etc.). Spire.Office é posicionado para equipes .NET de PMEs e médio mercado que procuram uma alternativa do Aspose a um preço significativamente mais baixo, com um nível "Free Spire" que permite que os desenvolvedores enviem pequenos projetos sem custo de licença (sujeito a limites de recursos por documento). O metapacote NuGet 11.4.0, lançado em 30 de abril de 2026, é direcionado ao .NET Framework 4.0/4.8 e moderno .NET 6/9/10.
Componentes-chave e capacidades incluídas no pacote:
- Spire.Doc: criação, conversão e edição de Word DOCX/DOC
- Spire.XLS: motor Excel XLSX com recálculo de fórmula e exportação para PDF
- Spire.PDF: criação, edição e manipulação de PDF
- Spire.Presentation: PowerPoint PPTX support
- Spire.Barcode + Spire.OCR: pilha de reconhecimento dentro do pacote
- Spire.Email + Spire.DataExport + Spire.OfficeViewer/PDFViewer/DocViewer: ferramentas adjacentes completando o conjunto
O que é Iron Suite
Iron Suite é o pacote .NET de dez produtos daIron Softwareonde a pilha do Office (IronWord para DOCX, IronXL para XLSX com recálculo de fórmula, IronPPT para PPTX) fica ao lado de IronPDF para geração e manipulação de PDF, a pilha de reconhecimento (IronOCR, IronBarcode, IronQR) para trabalho de OCR e código de barras, e três bibliotecas de utilidade (IronPrint, IronZIP, IronWebScraper) para impressão, arquivos e raspagem. Vendido como uma licença perpétua única por desenvolvedor em cinco níveis de tier (Lite, Plus, Professional, Unlimited, Enterprise) a partir de $2,998. 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 do Office (âncora): IronWord (DOCX com grafos de objeto de parágrafo e corre-executa que mapeiam diretamente para OOXML, com estilos personalizados, fontes, cabeçalhos, rodapés, tabelas e extração de conteúdo); IronXL (XLSX com recálculo de fórmulas, criação de gráficos em Área, Barra, Coluna, Linhas, Setor e Dispersão, tabelas dinâmicas, formatação condicional, validação de dados); IronPPT (criação, edição, conversão e extração de conteúdo PPTX).
- Geração de PDF (IronPDF): Renderização de HTML para PDF e URL para PDF com Chromium incorporado, mesclagem e divisão nativas via
PdfDocument.Merge, assinatura PKCS#12 mais HSM mais TSA, PDF/A-1 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+ symbologies); IronQR (potencializado por ML com lote
ReadPdfs). - Utilitário: IronPrint (impressão silenciosa e de diálogo); IronZIP (ZIP/TAR/GZIP/BZIP2 with AES); IronWebScraper (scraping estruturado em processo).
Comparação de Capacidade
Processamento de Word
Conversão de DOCX-para-PDF é uma carga de trabalho emblemática da Spire, e a API foi refinada ao longo de muitos anos para fidelidade. IronWord direciona uma carga de trabalho diária similar, mas com uma API de grafo de objeto moderna.
// 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
// 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
A convenção SaveToFile do Spire.Doc é consistente em todos os produtos Spire (Spire.XLS, Spire.PDF, Spire.Presentation usam o mesmo padrão), o que torna a suíte previsível, mas estilisticamente datada. O grafo de objeto de parágrafo/corre-executa da IronWord mapeia diretamente para a estrutura OOXML e lê como C# moderno. A conversão pura DOCX-para-PDF com forte fidelidade em casos de borda de formato legados é uma área em que a Spire tem investido — para geração code-first de DOCX, IronWord requer menos cerimônia.
Processamento de Excel
Ambas as suítes cobrem a carga de trabalho do Excel diária (criar ou carregar XLSX, escrever dados, recalcular fórmulas, exportar para PDF) e ambas possuem um forte motor de cálculo.
// 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
// 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
O book.CalculateAllValue() + SheetFitToPage do Spire.XLS proporciona um fluxo forte de planilha de trabalho existente → PDF polido. O acesso a células no estilo indexador do IronXL (sheet["A1"].Value = …, sheet["B4"].Formula = …, workbook.EvaluateAll()) se parece mais com o .NET da era LINQ e é o que a maioria dos desenvolvedores procura ao gerar XLSX do zero. Ambos os motores lidam com a superfície comum de fórmulas — a fidelidade de conversão de caderno de trabalho existente complexa (peculiaridades do XLS legado, manipulação de objetos gráficos) é uma área que a Spire continua a investir.
Geração de PDF
PDF é onde o estilo da API diverge mais. O Spire.PDF constrói documentos primitivo por primitivo em um canvas de página, sobrepondo texto, imagens e formas via PdfPageBase.Canvas. IronPDF renderiza o mesmo conteúdo a partir de HTML usando um 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
// 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
Spire.PDF é a escolha certa quando você precisa de posicionamento preciso de pixel de primitivos em uma página existente (formulários, carimbos, redação). IronPDF é a escolha certa quando o PDF se origina de dados de aplicativos da web: o mesmo HTML/CSS que renderiza no navegador torna-se o PDF, incluindo CSS moderno, fontes da web, SVG e conteúdo renderizado por JavaScript.
Processamento de PowerPoint
A conversão de PowerPoint para PDF é uma força da Spire dentro do pacote.Iron Suiteinclui IronPPT para criação e manipulação de PowerPoint, embora o conjunto de referênciaIron Suiteposicione o IronPPT como um produto voltado para a criação em vez de um motor de conversão de fidelidade profunda.
// 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
// 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
O padrão de carregar/salvar do Spire.Presentation coincide com o resto da família Spire e cobre a conversão para PDF e imagem com investimento contínuo em fidelidade de slide-master, tema e SmartArt. IronPPT cobre a criação de PowerPoint e a superfície comum de manipulação (slides, texto, imagens, formas básicas) — a conversão de alta fidelidade de decks de terceiros existentes com preservação profunda de tema e animação é uma área que o motor da Spire está se expandindo.
Geração e Leitura de Código de Barras
Ambas as suítes enviam geração e leitura de código de barras. Iron divide a carga de trabalho entre IronBarcode (1D/2D) e IronQR (QR-específico), dando às equipes um caminho dedicado para fluxos de trabalho pesados de QR. O trecho Spire abaixo demonstra geração; o trecho IronBarcode demonstra o caminho de leitura.
// 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
// 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
Spire.Barcode agrupa 1D/2D e QR em um gerador orientado por configurações, que é conciso, mas requer a leitura dos documentos de configuração para descobrir todas as opções disponíveis. IronBarcode + IronQR oferecem pontos de entrada dedicados (BarcodeReader.Read, BarcodeWriter, além de um leitor/escritor específico para QR no IronQR) que são autocompletados de forma mais limpa no IDE.
Por que escolher oIron Suitepara automação de documentos .NET orientada por código
EscolhaIron Suitequando SaaS, Docker e implantação voltada para o público devem estar sob a licença básica em vez de serem limitados a um nível OEM. As APIs da Iron são lidas como código moderno first .NET, os dez produtos compartilham um estilo consistente em todo o pacote, e o preço é público e perpétuo em cinco níveis de tier a partir de $2,998. Lados estruturais que importam para a automação cotidiana de documentos .NET:
- Preços perpétuos transparentes com valores em USD em cada nível
- SaaS, Docker e implantação voltada para o público não são limitados ao nível OEM: a licença básica cobre assentos licenciados, e um único complemento de Redistribuição cobre cenários de redistribuição
- Implantação isenta de royalties para assentos licenciados, sem taxas de tempo de execução, sem medição por documento
- Superfície de API no estilo code-first .NET em todos os 10 produtos, sem padrões legados
SaveToFilepara aprender. - Criação e reconhecimento (PDF/Word/Excel/PPT + OCR/Código de Barras/QR) em um único pacote
- Geração de PDF com HTML-primeiro com fidelidade total do navegador
Como aIron Suiteé Diferente do Spire.Office
- Preços em USD públicos em todos os níveis. As páginas Comprar/do Spire são limitadas contra raspagem e o preço requer contato com vendas; Iron publica um número em cada nível.
- Implantação SaaS / Docker / voltada para o público está no território da licença básica na Iron (com o suplemento de Redistribuição como um SKU separado e limpo). Spire limita essas formas de implantação ao nível OEM, um passo de preço mais acentuado para qualquer aplicativo implantado na web.
- Consistência de API entre produtos. Os 10 produtos da Iron compartilham nomes idiomáticos e estrutura .NET; as APIs do Spire são úteis, mas variáveis entre componentes (Spire.DataExport vs Spire.Spreadsheet vs Spire.Doc cada um se sente um pouco diferente).
- Reconhecimento + raspagem + ZIP + Impressão + QR. IronWebScraper, IronZIP e IronPrint estão no lado da Iron, sem equivalente Spire; IronQR é uma biblioteca de QR dedicada separada do IronBarcode.
- Geração de PDF com HTML-primeiro com fidelidade real do navegador vs API de canvas de página primitivo por primitivo da Spire.PDF.
- Modelo de registro de chave de licença única contra configurador de licença por namespace do Spire e formas de implantação limitadas por OEM.
Conclusão
Spire.Office é uma alternativa do Aspose econômica, capaz e de longa data, cujas cartas mais fortes são a fidelidade de conversão de DOCX/XLSX/PPTX-para-PDF e uma "Free Spire" generosa na chegada.Iron Suiteé um pacote estruturalmente mais simples cujas cartas mais fortes são a clareza de licenciamento, preços transparentes e perpétuos, uma superfície de API .NET code-first idiomática em todos os dez produtos, e um pacote de criação mais reconhecimento que não limita SaaS ou Docker por trás de um nível OEM. Equipes cuja principal necessidade é a fidelidade de conversão de documentos do Office existentes encontrarão o motor da Spire excelente. Equipes cuja principal necessidade é uma única licença perpétua cobrindo PDF, Office, OCR, Código de Barras/QR e ferramentas adjacentes, sem contatar vendas para um preço, encontrarãoIron Suiteum ajuste mais limpo. Explore Iron Suite, including the $2,998 entry tier, at ironsoftware.com/csharp/suite.