跳至页脚内容
与其他组件比较

BarcodeScanning.MAUI 与 IronBarcode:C# 条码库比较

DevExpress 条形码 vs IronBarcode:UI 控件 vs 独立库

DevExpress 是一款备受好评的.NET UI 工具包。 网格、计划表、图表和数据透视表控件广泛用于企业团队。 然而,条形码支持的情况则有所不同。 DevExpress 提供了一个 BarCodeControl—一个 WinForms 控件和一个 Blazor DxBarCode 标签—可以让您在表单上渲染条形码。 DevExpress 支持已确认不存在读取功能,并且当前没有添加计划。 如果您的条形码位于后台作业、Web API、PDF 文档或任何没有 UI 表单的环境中,则此控件不适用。

这一限制将 DevExpress 条形码产品的功能缩小到一个特定的领域:在 DevExpress WinForms 或Blazor UI 中以可视方式呈现条形码。 对于特定应用场景,它完全够用。但对于其他任何应用——例如服务器端生成、读取图像或 PDF 文件、在 Azure Functions 或 Docker 容器中进行无头处理——都需要使用不同的工具。

了解 DevExpress 条码控件

DevExpress BarCodeControl 位于 DevExpress.XtraEditors,其符号生成器类位于 DevExpress.XtraPrinting.BarCode 中。 它不是一个独立的库。 它包含在 DXperience 套件中,起价为每年 $1,699.99(Universal 订阅为 $2,299.99)。 没有单独的仅包含条形码的NuGet包可供安装。

BarCodeControl 是一个 WinForms 控件。 您可以使用符号系统对象对其进行配置,设置属性,然后它会在屏幕上呈现。 将该渲染保存到文件需要调用 DrawToBitmap,它需要一个预分配的合适大小的 Bitmap

// DevExpress WinForms: UI control, not a library
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // Code128Generator, etc.
using System.Drawing;
using System.Drawing.Imaging;

var barCode = new BarCodeControl();
var symbology = new Code128Generator();
symbology.CharacterSet = Code128CharacterSet.CharsetAuto;
barCode.Symbology = symbology;
barCode.Text = "ITEM-12345";
barCode.Module = 0.02f;  // document units, not pixels
barCode.ShowText = true;

// File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400;
barCode.Height = 100;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("barcode.png", ImageFormat.Png);
bitmap.Dispose();
// DevExpress WinForms: UI control, not a library
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // Code128Generator, etc.
using System.Drawing;
using System.Drawing.Imaging;

var barCode = new BarCodeControl();
var symbology = new Code128Generator();
symbology.CharacterSet = Code128CharacterSet.CharsetAuto;
barCode.Symbology = symbology;
barCode.Text = "ITEM-12345";
barCode.Module = 0.02f;  // document units, not pixels
barCode.ShowText = true;

// File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400;
barCode.Height = 100;
var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("barcode.png", ImageFormat.Png);
bitmap.Dispose();
Imports DevExpress.XtraEditors
Imports DevExpress.XtraPrinting.BarCode
Imports System.Drawing
Imports System.Drawing.Imaging

Dim barCode As New BarCodeControl()
Dim symbology As New Code128Generator()
symbology.CharacterSet = Code128CharacterSet.CharsetAuto
barCode.Symbology = symbology
barCode.Text = "ITEM-12345"
barCode.Module = 0.02F ' document units, not pixels
barCode.ShowText = True

' File output requires DrawToBitmap — you must size the Bitmap manually
barCode.Width = 400
barCode.Height = 100
Dim bitmap As New Bitmap(barCode.Width, barCode.Height)
barCode.DrawToBitmap(bitmap, New Rectangle(0, 0, barCode.Width, barCode.Height))
bitmap.Save("barcode.png", ImageFormat.Png)
bitmap.Dispose()
$vbLabelText   $csharpLabel

请注意这里存在几个摩擦点。 首先,barCode.Module 使用的是文档单位而不是像素,如果您考虑的是像素尺寸,这会导致不匹配。 其次,您必须在分配 Bitmap 之前知道最终的像素大小。 第三,该控件需要加载 WinForms 程序集——这意味着ASP.NET Core最小 API 或控制台后台服务必须加载 Windows Forms 基础结构才能生成条形码图像。

Blazor DxBarCode 标签在概念上类似,但它是用于 UI 渲染的 Razor 组件,而不是服务器端生成 API。

无读取功能

DevExpress 的官方立场是,他们不提供条形码识别或扫描功能。 DevExpress 支持中心声明:"DevExpress 条形码控件仅用于条形码生成。 我们不提供条形码识别/扫描功能。"目前无添加计划。

对于那些最初使用 DevExpress WinForms 应用程序开发,之后又需要扫描上传图片中的条形码或读取 PDF 附件中的二维码的团队来说,DevExpress 工具箱无法提供帮助。您需要引入一个单独的库来处理读取操作,这就引出了一个问题:为了保持 API 的一致性,生成端是否也应该迁移到该库?

IronBarcode可以处理双向通信:

//IronBarcodereading — works on images, PDFs, and byte arrays
// NuGet: dotnet add package IronBarcode
using IronBarCode;

var results = BarcodeReader.Read("scanned-label.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
//IronBarcodereading — works on images, PDFs, and byte arrays
// NuGet: dotnet add package IronBarcode
using IronBarCode;

var results = BarcodeReader.Read("scanned-label.png");
foreach (var result in results)
{
    Console.WriteLine($"Format: {result.Format}");
    Console.WriteLine($"Value: {result.Value}");
}
Imports IronBarCode

' IronBarcode reading — works on images, PDFs, and byte arrays
' NuGet: dotnet add package IronBarcode

Dim results = BarcodeReader.Read("scanned-label.png")
For Each result In results
    Console.WriteLine($"Format: {result.Format}")
    Console.WriteLine($"Value: {result.Value}")
Next
$vbLabelText   $csharpLabel

读取PDF文件不需要任何额外的库:

// Reading barcodes from a PDF — no PdfiumViewer or similar required
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page barcode: {result.Value}");
}
// Reading barcodes from a PDF — no PdfiumViewer or similar required
var pdfResults = BarcodeReader.Read("shipping-manifest.pdf");
foreach (var result in pdfResults)
{
    Console.WriteLine($"Page barcode: {result.Value}");
}
Imports System

' Reading barcodes from a PDF — no PdfiumViewer or similar required
Dim pdfResults = BarcodeReader.Read("shipping-manifest.pdf")
For Each result In pdfResults
    Console.WriteLine($"Page barcode: {result.Value}")
Next
$vbLabelText   $csharpLabel

Suite捆绑问题

DevExpress 条形码组件不作为独立产品出售。 要在任何项目中使用 BarCodeControl,您的团队需要一个 DevExpress 订阅—ASP.NET & Blazor 层起始价为 $1,099.99/年,DXperience (WinForms + WPF) 为 $1,699.99/年,Universal 为 $2,299.99/年。 该Suite包括网格、图表、日程安排器、透视表和许多其他控件——如果您正在构建完整的 DevExpress WinForms 或Blazor应用程序,这是合理的。 如果您只需要为后端服务生成条形码,那么您实际上是在为整个 UI 工具包付费,而该服务永远不会使用这个工具包。

IronBarcode是一个独立软件包:

dotnet add package IronBarcode
dotnet add package IronBarcode
SHELL

永久Lite许可证起价为 749 美元(适用于一位开发者)。 未捆绑任何用户界面工具包。 您将获得条形码生成和读取功能、跨平台支持,以及其他您未要求的功能。

无头模式使用限制

在服务器端场景中,BarCodeControl 的根本问题在于它是一个 WinForms 控件。 在.NET 6+ ASP.NET Core最小 API 项目中,默认情况下不引用 WinForms 程序集。 要实例化 BarCodeControl,您的 API 项目必须明确针对 Windows 并加载 Windows Forms 运行时,或添加引用以解决您的 API 从未渲染的 UI 基础设施。

在 Azure 函数消耗计划中,完全没有 UI 层。 在运行 Linux 基础镜像的 Docker 容器中,Windows Forms GDI+ 依赖项可能完全缺失。 DevExpress 不在这些无头环境中正式支持使用 BarCodeControl

IronBarcode使用完全程序化的静态 API:

// IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
// NuGet: dotnet add package IronBarcode
using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128)
    .SaveAsPng("barcode.png");
// IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
// NuGet: dotnet add package IronBarcode
using IronBarCode;

BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128)
    .SaveAsPng("barcode.png");
Imports IronBarCode

' IronBarcode: works in WinForms, ASP.NET Core, Azure Function, console — same code
' NuGet: dotnet add package IronBarcode

BarcodeWriter.CreateBarcode("ITEM-12345", BarcodeEncoding.Code128) _
    .SaveAsPng("barcode.png")
$vbLabelText   $csharpLabel

这个调用可以在控制台应用程序、 ASP.NET Core控制器、由服务总线消息触发的 Azure 函数或在 Linux 上运行的 Docker 容器中正常工作。 API在不同环境下不会改变。 没有用户界面程序集依赖项。

返回条形码(PNG 文件响应)的 ASP.NET Core端点如下所示:

app.MapGet("/barcode/{sku}", (string sku) =>
{
    var bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 100)
        .ToPngBinaryData();

    return Results.File(bytes, "image/png");
});
app.MapGet("/barcode/{sku}", (string sku) =>
{
    var bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128)
        .ResizeTo(400, 100)
        .ToPngBinaryData();

    return Results.File(bytes, "image/png");
});
Imports Microsoft.AspNetCore.Builder
Imports Microsoft.AspNetCore.Http

app.MapGet("/barcode/{sku}", Function(sku As String)
                                Dim bytes = BarcodeWriter.CreateBarcode(sku, BarcodeEncoding.Code128) _
                                    .ResizeTo(400, 100) _
                                    .ToPngBinaryData()

                                Return Results.File(bytes, "image/png")
                             End Function)
$vbLabelText   $csharpLabel

如果没有显著的解决方法,BarCodeControl 没有等价的模式。

了解IronBarcode

IronBarcode是一个独立的.NET库,用于生成和读取条形码。 API 是完全静态的——无需管理实例,无需控制生命周期,也无需依赖 UI。 生成和读取操作都在同一个调用中完成:

// NuGet: dotnet add package IronBarcode
using IronBarCode;

// Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .SaveAsPng("order-label.png");

// Generate and get bytes (for HTTP responses, blob storage, etc.)
byte[] pngBytes = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .ToPngBinaryData();

// Read from an image file
var results = BarcodeReader.Read("order-label.png");
Console.WriteLine(results.First().Value); // ORDER-9921
// NuGet: dotnet add package IronBarcode
using IronBarCode;

// Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .SaveAsPng("order-label.png");

// Generate and get bytes (for HTTP responses, blob storage, etc.)
byte[] pngBytes = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128)
    .ResizeTo(450, 120)
    .ToPngBinaryData();

// Read from an image file
var results = BarcodeReader.Read("order-label.png");
Console.WriteLine(results.First().Value); // ORDER-9921
Imports IronBarCode

' Generate Code 128
BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128) _
    .ResizeTo(450, 120) _
    .SaveAsPng("order-label.png")

' Generate and get bytes (for HTTP responses, blob storage, etc.)
Dim pngBytes As Byte() = BarcodeWriter.CreateBarcode("ORDER-9921", BarcodeEncoding.Code128) _
    .ResizeTo(450, 120) _
    .ToPngBinaryData()

' Read from an image file
Dim results = BarcodeReader.Read("order-label.png")
Console.WriteLine(results.First().Value) ' ORDER-9921
$vbLabelText   $csharpLabel

许可证激活只需在启动时执行一行命令:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY";
Imports IronBarCode

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

无网络通话。 没有错误处理样板代码。 本地验证。

并排二维码

二维码说明了用户界面控件和程序库之间的 API 差距。

DevExpress 二维码 — WinForms 控件:

// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // QRCodeGenerator + QRCodeErrorCorrectionLevel

var barCode = new BarCodeControl();
var symbology = new QRCodeGenerator();
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H;
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric;
barCode.Symbology = symbology;
barCode.Text = "https://example.com";
barCode.Width = 500;
barCode.Height = 500;

var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("qr.png", ImageFormat.Png);
bitmap.Dispose();
// DevExpress: QR via BarCodeControl + QRCodeGenerator symbology
using DevExpress.XtraEditors;              // BarCodeControl
using DevExpress.XtraPrinting.BarCode;     // QRCodeGenerator + QRCodeErrorCorrectionLevel

var barCode = new BarCodeControl();
var symbology = new QRCodeGenerator();
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H;
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric;
barCode.Symbology = symbology;
barCode.Text = "https://example.com";
barCode.Width = 500;
barCode.Height = 500;

var bitmap = new Bitmap(barCode.Width, barCode.Height);
barCode.DrawToBitmap(bitmap, new Rectangle(0, 0, barCode.Width, barCode.Height));
bitmap.Save("qr.png", ImageFormat.Png);
bitmap.Dispose();
Imports DevExpress.XtraEditors ' BarCodeControl
Imports DevExpress.XtraPrinting.BarCode ' QRCodeGenerator + QRCodeErrorCorrectionLevel
Imports System.Drawing
Imports System.Drawing.Imaging

Dim barCode As New BarCodeControl()
Dim symbology As New QRCodeGenerator()
symbology.ErrorCorrectionLevel = QRCodeErrorCorrectionLevel.H
symbology.CompactionMode = QRCodeCompactionMode.AlphaNumeric
barCode.Symbology = symbology
barCode.Text = "https://example.com"
barCode.Width = 500
barCode.Height = 500

Dim bitmap As New Bitmap(barCode.Width, barCode.Height)
barCode.DrawToBitmap(bitmap, New Rectangle(0, 0, barCode.Width, barCode.Height))
bitmap.Save("qr.png", ImageFormat.Png)
bitmap.Dispose()
$vbLabelText   $csharpLabel

IronBarcode二维码——效果相同,无需组装用户界面:

// IronBarcode: QR in one method chain
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .SaveAsPng("qr.png");
// IronBarcode: QR in one method chain
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .SaveAsPng("qr.png");
$vbLabelText   $csharpLabel

在二维码中心添加品牌标识:

QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("qr-branded.png");
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
    .AddBrandLogo("company-logo.png")
    .SaveAsPng("qr-branded.png");
QRCodeWriter.CreateQrCode("https://example.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest) _
    .AddBrandLogo("company-logo.png") _
    .SaveAsPng("qr-branded.png")
$vbLabelText   $csharpLabel

DevExpress 没有类似的嵌入式徽标功能。 该控件仅生成一个标准的二维码,没有其他功能。

功能对比

特征 DevExpress 条形码 IronBarcode
条形码生成 是的(WinForms控件, Blazor标签) 是的(程序化 API,所有环境)
条形码读取/扫描 不——已正式确认 是的——图像、PDF、字节数组
PDF条形码读取 是的——原生支持,无需额外库
独立NuGet包 不需要——需要 DXperienceSuite 是的—仅限 IronBarcode
Suite费用 从 $1,099.99/年(ASP.NET & Blazor)到 $2,299.99/年(Universal) 不适用 — 独立
许可证费用 仅限订阅 永久 749 美元起
ASP.NET Core / 最小 API 需要使用 WinForms 变通方法 本地支持
Azure Functions 不支持无头模式 全面支持
Docker / Linux Linux 基础镜像上的 GDI+ 问题 全面支持
控制台应用程序 需要加载 WinForms 程序集 本地支持
二维码生成 是的(通过 QRCodeGenerator 符号系统) 是的(二维码写入器)
带有嵌入式徽标的二维码 是的——.AddBrandLogo()
QR误差校正水平 H、Q、M、L 最高、高、中、低
代码 128
数据矩阵
PDF417
阿兹特克
文件输出 DrawToBitmap — 手动位图分配 .SaveAsPng()、.SaveAsGif()、.SaveAsSvg()
二进制输出(HTTP响应) 手动位图 → 内存流 .ToPngBinaryData()
多线程读取 不适用——无读数 最大并行线程数 = 4
多条形码读取 不适用——无读数 ExpectMultipleBarcodes = true
平台 Windows(WinForms / Blazor) Windows、Linux、macOS、Docker、Azure、AWS Lambda
.NET版本支持 .NET Framework + 现代.NET (Windows) .NET Framework 4.6.2 及当前 .NET 版本

API 映射参考

熟悉 DevExpress BarCodeControl 模式的团队会发现这些等价物很有用:

DevExpress 条形码 IronBarcode
new BarCodeControl() 静态——无需实例
new Code128Generator() + barCode.Symbology = symbology BarcodeEncoding.Code128 作为参数传递
new QRCodeGenerator() + QRCodeErrorCorrectionLevel.H QRCodeWriter.CreateQrCode("data", 500, QRCodeWriter.QrErrorCorrectionLevel.Highest)
new DataMatrixGenerator() + DataMatrixSize.Matrix26x26 BarcodeWriter.CreateBarcode("data", BarcodeEncoding.DataMatrix)
new PDF417Generator() BarcodeWriter.CreateBarcode("data", BarcodeEncoding.PDF417)
new AztecGenerator() BarcodeWriter.CreateBarcode("data", BarcodeEncoding.Aztec)
barCode.Module = 0.02f (文档单位) .ResizeTo(width, height) (像素)
barCode.ShowText = true .AddBarcodeText()
DrawToBitmap(bitmap, rect) — 手动 Bitmap 分配 .SaveAsPng(path) — 自动处理尺寸
手动 BitmapMemoryStream 用于 HTTP 响应 .ToPngBinaryData()
无读取 API BarcodeReader.Read(imagePath)
没有读取结果类型 .Value (字符串), .Format (BarcodeEncoding)
每个项目都需要 UI 程序集 适用于任何.NET项目类型
仅限套件(起价 $1,099.99/年) 独立版(永久版起价 749 美元)

当球队切换

通常有几个特定场景会触发从 DevExpress 条形码控件迁移到IronBarcode。

读取需求出现。最常见的情况是,一个 WinForms 应用程序多年来一直在生成条形码,现在收到一项新功能请求:该应用程序必须能够扫描或验证上传图像或相机拍摄图像中的条形码。 DevExpress 没有读取 API。 无论如何,团队都需要一个新的库,将生成过程整合到同一个库中也是合理的。

需要一个 Web API 端点。一个团队正在构建一个微服务,用于按需生成条形码标签——该服务可从 Web 前端、移动应用或其他服务调用。该ASP.NET Core项目不依赖 WinForms,团队也不希望添加 WinForms。IronBarcode的静态 API 可以集成到 HTTP 端点中,无需任何 UI 组装。

Azure 函数或 Lambda 部署。无服务器部署通常使用基于 Linux 的镜像和最小化的运行时环境。 BarCodeControl 并不是为此环境设计的。 IronBarcode无需任何配置更改即可在 Linux、Docker 容器、Azure Functions 和 AWS Lambda 上运行。

单个功能的套件续费成本。 当续费时间到来并且团队审核他们实际从 DXperience 套件中使用的内容时,发现特定服务中唯一的 DevExpress 组件是 BarCodeControl 引发成本讨论。 当一个独立库费用为 $749 永久时,为条形码生成支付全价 DXperience 订阅($1,699.99/年,新购,$849.99/年,续约)是很难下决心的。

从 PDF 中读取多个条形码。文档处理工作流程——从发票 PDF、发货清单或扫描表单中读取条形码——需要同时支持 PDF 和具备读取能力。 IronBarcode可以直接读取 PDF 文件,无需额外的库。 DevExpress 不具备这两种功能。

结论

DevExpress 的条形码解决方案最好理解为 UI 工具包中捆绑的一个 UI 渲染功能。 如果您的应用程序是一个已经使用 DevExpress 进行网格和图表控制的 WinForms 或 Blazor 应用程序,并且您唯一需要的条形码功能是将条形码在表单上可视化显示,那么 BarCodeControl 是一个合理的选择—您已经拥有许可证。

当您需要以下任何一项时,BarCodeControl 不再是合适的工具:读取条形码、在服务器端上下文中生成条形码、在无头环境中运行、在 Linux 上工作或无 WinForms 程序集引用操作。 DevExpress技术支持已确认目前没有读取功能,并且没有计划添加该功能。 无头模式的限制是架构问题,而不是配置问题。 UI控件就是UI控件。

IronBarcode专为程序化条形码工作而构建——通过静态 API 在任何环境、任何平台上生成和读取条形码。 这两种工具解决的是不同的问题。 DevExpress 条形码用于在表单内渲染。 IronBarcode用于处理条形码代码。

常见问题解答

什么是 DevExpress 条形码?

DevExpress Barcode 是一个 .NET 条形码库,用于在 C# 应用程序中生成和读取条形码。它是开发人员在为 .NET 项目选择条形码解决方案时评估的几个备选方案之一。

DevExpress Barcode 和 IronBarcode 的主要区别是什么?

IronBarcode 使用静态、无状态的 API,无需实例管理,而 DevExpress Barcode 通常需要在使用前创建和配置实例。IronBarcode 还提供原生 PDF 支持、自动格式检测以及跨所有环境的单密钥许可。

IronBarcode 的授权比 DevExpress Barcode 更容易吗?

IronBarcode 使用单一许可证密钥,同时涵盖开发和生产部署。与将 SDK 密钥与运行时密钥分开的许可系统相比,这简化了 CI/CD 流水线和 Docker 配置。

IronBarcode是否支持DevExpress Barcode支持的所有条形码格式?

IronBarcode 支持超过 30 种条码符号体系,包括 QR 码、Code 128、Code 39、DataMatrix、PDF417、Aztec、EAN-13、UPC-A、GS1 等等。格式自动检测功能意味着无需显式枚举格式。

IronBarcode是否支持原生PDF条码读取?

是的。IronBarcode 可以直接从 PDF 文件中读取条形码,使用 `BarcodeReader.Read("document.pdf")` 方法,无需单独的 PDF 渲染库。每页的读取结果包括页码、条形码格式、数值和置信度评分。

IronBarcode 与 DevExpress Barcode 相比,在批量处理方面有何不同?

IronBarcode 的静态方法是无状态的,并且天然线程安全,因此可以直接使用 Parallel.ForEach,而无需进行线程级实例管理。所有定价层级均无吞吐量上限。

IronBarcode支持哪些.NET版本?

IronBarcode 在单个 NuGet 包中支持 .NET Framework 4.6.2+、.NET Core 3.1 以及 .NET 5、6、7、8 和 9。平台目标包括 Windows x64/x86、Linux x64 和 macOS x64/ARM。

如何在.NET项目中安装IronBarcode?

通过 NuGet 安装 IronBarcode:在程序包管理器控制台中运行“Install-Package IronBarCode”,或在命令行界面中运行“dotnet add package IronBarCode”。无需其他 SDK 安装程序或运行时文件。

与 DevExpress 不同,我可以在购买前评估 IronBarcode 吗?

是的。IronBarcode 的试用模式会返回完整的解码条形码值——只有生成的输出图像才会带有水印。您可以在购买前,用自己的文档测试读取准确率。

DevExpress Barcode 和 IronBarcode 的价格差异是多少?

IronBarcode 的永久单开发者许可证起价为 749 美元,涵盖开发和生产环境。定价详情和批量许可选项请访问 IronBarcode 许可页面。无需单独的运行时许可证。

从 DevExpress Barcode 迁移到 IronBarcode 是否简单?

从 DevExpress Barcode 迁移到 IronBarcode 主要涉及将基于实例的 API 调用替换为 IronBarcode 的静态方法、移除许可相关的样板代码以及更新结果属性名称。大多数迁移都是减少代码,而不是增加代码。

IronBarcode 能生成带有 logo 的二维码吗?

是的。`QRCodeWriter.CreateQrCode().AddBrandLogo("logo.png")` 可以将品牌图片原生嵌入二维码中,并支持配置纠错功能。此外,它还支持通过 `ChangeBarCodeColor()` 函数创建彩色二维码。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我