IRONSOFTWAREHOME
与其他组件比较

A Comparison between IronBarcode and Spire Barcode

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

BarCode 无处不在。 BarCode 扫描实现被作者用来签署他们的产品,大多数图书签名都是由 BarCode 扫描实现驱动的。 然而,对于我们的应用程序,条码扫描仪并不总是恰当的。 您可能有条形码的数字图像和视频,希望知道它们在英文文本中代表什么。 此外,条形码扫描仪只能读取一维条形码,这种条形码只能在 Windows RT 类库中使用,且数据量有限。 二维条形码(也称为 QR 码)如今已被广泛使用,其数据矩阵中可以存储更多的数据。

ZXing (Zebra Crossing) 是一个开源的多格式一维/二维条形码图像处理库,用 Java 实现,并可移植到其他语言。 它可以读写多种不同条形码格式的数据,包括计算机上的 QR 码和 UPC 码。

IronBarcode 是一个 C# .NET 软件库,允许开发人员使用 ZXing 库读写条形码图像,用于网络应用程序测试。 它的设计简单易用,易于集成到任何 .NET 应用程序中,可与 Windows 窗体、WPF 和 ASP.NET Framework 一起使用。

IronBarcode 库为读写条形码图像提供了简单的 API,使开发人员能够轻松地在其软件中添加条形码扫描和生成功能。 IronBarcode 支持读写多种不同的条形码格式,包括 QR 码、UPC 码、UPC-A 码、EAN 码、RSS 扩展码等,这些条形码用于对产品进行标识。

A Comparison Between IronBarcode and ZXing .NET, Figure 1: 支持的条码格式

支持的条码格式

该库拥有编写完善的文档和示例代码,展示了如何开始使用 IronBarcode、如何扫描和解码条形码、如何生成和编码条形码以及如何自定义读取和写入过程。

IronBarcode 最重要的功能之一是支持从 PDF 文档或图像文件中识别条形码和二维码,并能够从文件路径或位图对象中读取条形码。

IronBarcode 易于使用、功能强大且速度快。对于任何需要在软件中添加条形码扫描或生成功能的人来说,它都是一款出色的工具。 由于它建立在流行且可靠的 ZXing 库之上,因此您可以确信它是一个可靠且高质量的解决方案。

A Comparison Between IronBarcode and ZXing .NET, Figure 2: 支持的条码格式

IronBarcode C# 库及其功能

如何从 ZXing 解码器创建 IronBarcode

IronBarcode 是一个商业第三方 .NET 库,用于在 C# 和 VB.NET 中解码条形码,它使用开源 ZXing 库作为底层引擎。该库为处理条形码提供了简化、易用的 API,还提供了其他功能,如从图像和 PDF 中读取条形码的能力,以及创建各种格式条形码的能力。

IronBarcode 是由一个开发团队创建的,他们希望为 .NET 生态系统构建一个用户更友好、功能更丰富的条码解码库。 他们利用 ZXing 库作为库的基础,该库是一个成熟的开源库,支持多种条形码格式。 随后,他们围绕 ZXing 代码库构建了自己的定制封装器,为开发人员提供了更简单、更一致的 API 供其使用,同时还提供了其他功能,如支持从图像和 PDF 中读取 BarCode。

IronBarcode 与 ZXing 解码器的比较

IronBarcode 和 ZXing 都是用于解码条形码图像的库,但它们有一些重要的区别,这使得 IronBarcode 成为更先进、功能更全面的选择。

与 ZXing 相比,IronBarcode 提供更广泛的 Web 条码格式支持。 IronBarcode 可以解码支持的格式,如 QR 码、Code 39、Code 128、EAN-8、EAN-13、UPC-A、UPC-E、Codabar、ITF、Data Matrix、PDF-417、RSS 扩展等。 不排除安卓用户; IronBarcode 可以轻松集成到移动应用程序中,使安卓用户的条形码扫描更加便捷。 ZXing 支持许多相同的格式,但不完全支持某些格式,如 ITF 和 Codabar,也不提供对某些二维条形码格式的支持,如 PDF-417。

// Example showing how to generate a simple QR Code image and save it as a PNG file
// using IronBarcode in C#.
var qrCode = IronBarCode.QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");
A Comparison Between IronBarcode and ZXing .NET, Figure 3: Generating Barcode

使用 IronBarcode 生成简单的 QR 码图像

IronBarcode的另一个优势是其更友好的Web API。 该库的设计宗旨是简单易用,易于集成到现有项目中,它提供了一个高级 Web API,抽象掉了条形码解码的许多复杂细节。

IronBarcode的性能也比ZXing更好。 该库是用 C# 开发的,能够利用并行处理技术比 ZXing 库更快地解码条形码。 此外,IronBarcode 还可以读取 ZXing 不支持的图像文件类型(如 GIF、TIFF 和 JPEG-XR)中的条形码。

A Comparison Between IronBarcode and ZXing .NET, Figure 4: Generating Barcode

使用 IronBarcode 生成简单的 QR 码图像

总而言之,IronBarcode 是一个比 ZXing 更先进、功能更全面的条形码解码库。 它支持更广泛的条形码格式,拥有更友好的 API 和更好的性能,因此对于使用 .NET Framework的开发人员来说,它是一个不错的选择。

How to use ZXing Decoder and IronBarcode in C#

ZXing .NET 是 ZXing 库的移植版,ZXing 库是一个开源库,用于处理多种格式的一维/二维条形码,最初用 Java 实现。 它已被移植到 C#,可通过 NuGet 软件包管理器获取。 IronBarcode for .NET 是一个可以读写条形码的 C# .NET 库。 它是 ZXing 库的包装器,也可通过 NuGet 获取。

In this tutorial, we will use both ZXing decoder online and IronBarcode to decode barcodes in a C# .NET Web application to decode barcodes. 本教程将使用 Visual Studio,但其概念应适用于任何 C# 开发环境。

**步骤 1:**在 Visual Studio 中创建一个新的 C# .NET项目

在 Visual Studio 中通过文件 > 新建 > 项目创建一个新的 C# 项目。 选择 "Windows 窗体应用程序 "并为您的项目命名。

**步骤 2:**安装 ZXing .NET和IronBarcode NuGet包

在解决方案资源管理器中,右键单击项目并选择 "管理 NuGet 包"。搜索 ZXing.NET 和 "IronBarcode",并将它们安装到项目中。

**步骤 3:**向窗体添加 PictureBox 和 Button

在窗体的设计视图中,向窗体添加一个ButtonButton将用于启动解码过程。

**步骤 4:**在窗体代码的顶部添加以下 using 语句:

using IronBarCode;
using ZXing;

**步骤 5:**处理按钮的点击事件

在 "设计 "视图中双击 "按钮",创建单击事件处理程序。 在处理程序中,添加以下代码以打开一个OpenFileDialog,并让用户选择要解码的图像:

private void button1_Click(object sender, EventArgs e) {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";
    ofd.FilterIndex = 1;
    if (ofd.ShowDialog() == DialogResult.OK) {
        pictureBox1.Image = Image.FromFile(ofd.FileName);
        // Decode the barcode from the image here
    }
}

**步骤 6:**从图像中解码 BarCode

在以下一行之后

pictureBox1.Image = Image.FromFile(ofd.FileName); 

在按钮单击事件处理程序中添加以下代码块,以解码图像中的 BarCode。

// Create a BarcodeReader instance from ZXing.NET and decode the image.
var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
    MessageBox.Show(Result.Text);
} else {
    MessageBox.Show("No barcode found.");
}

此代码从ZXing.NET创建一个新的Decode方法从图像中解码条形码。 Result对象,其中包含有关解码条形码的信息。

A Comparison Between IronBarcode and ZXing .NET, Figure 5: 创建带有徽标图像的 QR 代码

创建带有徽标图像的 QR 代码

IronBarcode 与 ZXIng DecoderOnline 相比的优势

IronBarcode 和 ZXing 都是 C# 编程语言的条形码和二维码读取库。 这两种库各有优缺点,如何选择取决于您项目的具体要求。

与 ZXing 相比,IronBarcode 的主要优势之一是其易用性。 IronBarcode 拥有简单直观的 API,使开发人员能够轻松快速地开始使用条形码和 QR 码。 只需几行代码,就能以最小的工作量读写条形码和 QR 码。 相比之下,ZXing 的应用程序接口更为复杂,对开发人员来说具有一定的挑战性,尤其是如果他们是读取 BarCode 和 QR 码的新手。

IronBarcode 的另一个优势是其高性能。 IronBarcode 使用先进的算法快速读取和解码条形码和二维码,因此比 ZXing 等其他库更快。 因此,对于需要快速扫描和解码条形码和 QR 码的项目来说,这是一个不错的选择。

IronBarcode 还为从各种图像格式(包括 JPEG、PNG、GIF、BMP 和 TIFF)读写条形码提供了更好的支持。 相比之下,ZXing 对图像格式的支持较为有限,可能无法从某些类型的图像中读取或写入 BarCode。

using IronBarCode;
using System;
using System.Drawing;

// Example of using IronBarcode to read barcodes with advanced options 
// such as rotation and image correction.
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte[] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
A Comparison Between IronBarcode and ZXing .NET, Figure 6: Reading a barcode from a phone camera in C#

用 C# 从手机摄像头图像读取条形码

IronBarcode 提供更多自定义选项,例如微调条形码读取、支持多页文档以及各种条形码格式,例如 DataMatrix、Aztec 和 PDF-417。如果您需要处理不同类型的条形码或有特定要求,这将非常有用。

另一方面,ZXing 是一个可以免费使用的开源库。 对于预算受限的项目来说,这可能是一个显著的优势。

总之,IronBarcode 和 ZXing 都是功能强大的 C# 条形码和二维码处理库,但 IronBarcode 比 ZXing 具有诸多优势,例如易用性、高性能、更好的图像格式支持和更多自定义选项。 最好对这两个库都进行评估,然后选择最符合您项目需求的库。

IronBarcode 和 ZXing 都是在 C# 中处理条形码和二维码的流行库。 这两种库各有优缺点,如何选择取决于您项目的具体要求。 在本文中,我们将详细介绍使用 IronBarcode 而不是 ZXing 的优势,并举例说明关键区别。

IronBarcode 的主要优势之一是其易用性。 IronBarcode 拥有简单直观的 API,使开发人员能够轻松快速地开始使用条形码和二维码。 只需几行代码,您就可以轻松读取和写入条形码和二维码。 例如,要使用 IronBarcode 从图像文件中读取条形码,可以使用以下代码:

var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);

相比之下,ZXing 的应用程序接口更为复杂,对于开发人员来说,尤其是刚接触条形码和 QR 码读取的开发人员来说,使用起来可能具有挑战性。 如果使用 ZXing,上面提供的示例需要更多行代码才能达到同样的效果。

IronBarcode 的另一个优势是其高性能。 IronBarcode 使用先进的算法快速读取和解码条形码和二维码,因此比 ZXing 等其他库更快。 因此,对于需要高速扫描和解码条形码和 QR 码的项目来说,它是一个不错的选择。 例如,IronBarcode 可以在一秒钟内从图像中读取并解码条形码,是大规模扫描和解码操作的理想选择。

IronBarcode 还为从各种图像格式(包括 JPEG、PNG、GIF、BMP 和 TIFF)读写条形码提供了更好的支持。 这样,开发人员就可以轻松处理不同图像格式的 BarCode,而不必担心兼容性问题。 相比之下,ZXing 对图像格式的支持较为有限,可能无法从某些类型的图像中读取或写入 BarCode。

using IronBarCode;
using System;
using System.Drawing;

// Example of reading multiple barcodes from a PDF using IronBarcode
PagedBarcodeResult[] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");

// Work with the results
foreach (var PageResult in PDFResults)
{
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine("Page " + PageNum + ": " + PageResult.Value);
}
A Comparison Between IronBarcode and ZXing .NET, Figure 7: 从多帧 TIFF 图像中读取 BarCode

从多帧 TIFF 图像中读取 BarCode

IronBarcode 还提供更多自定义选项,允许开发人员微调条形码读取过程以满足其特定需求。 例如,您可以使用 IronBarcode 指定不同的条形码格式,例如 DataMatrix、Aztec 和 PDF-417。如果您需要处理不同格式或具有特定要求的条形码,这将非常有用。 此外,IronBarcode 还提供多页文档支持,允许开发人员从文档的多个页面读取和提取条形码信息。

还有一点,IronBarcode 的错误处理能力更强,更适合企业级应用。

以下是如何从图像文件中解码多个条形码的示例:

var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
    Console.WriteLine(result.Text);
}

另一方面,ZXing 是一个开源库,可以免费使用。 对于预算有限的项目来说,这可能是一个重大优势。 不过,需要注意的是,使用 IronBarcode 的成本可能会被使用更友好、功能更强大的库所节省的时间和精力所抵消。

A Comparison Between IronBarcode and ZXing .NET, Figure 8: 从多帧 TIFF 图像中读取 BarCode

使用 C# 创建带注释和样式的 BarCode 图像

总之,IronBarcode 和 ZXing 都是功能强大的 C# 条形码和二维码处理库。 然而,与 ZXing 相比,IronBarcode 具有诸多优势,例如易于使用、性能高、对图像格式的支持更好以及更多的自定义选项。 如果您的项目需要快速高效的条形码扫描和解码,或者您需要对条形码读取过程进行更多控制,那么 IronBarcode 是一个绝佳的选择。

定价和许可

ZXing 根据 Apache 2.0 开放源码许可证发布,这意味着可以自由使用、分发和修改。 在软件项目中使用该库无需任何费用。 但是,如果在商业产品中使用该库,则必须遵守 Apache 2.0 许可证的条款,包括在显著位置显示许可证通知和免责声明。

IronBarcode 是一款提供免费开发者许可证的软件。 Lite 套装的起价为 LiteLicense 美元,包括永久许可证、在开发、暂存和生产环境中使用软件的能力、30 天退款保证以及一年的软件支持和升级。 有关 IronBarcode 定价和许可的更多信息,请访问公司网站。

A Comparison Between IronBarcode and ZXing .NET, Figure 9: 从多帧 TIFF 图像中读取 BarCode

IronBarcode 许可证价格

为什么选择 IronBarcode?

IronBarcode 专为 .NET 应用程序开发,基于 ZXing 库。 IronBarcode 也是完全用 C# 编写的,如果您的应用程序也是用 C# 编写的,并且您想在您的 .NET 生态系统中使用它,这将是一个优势。

IronBarcode 的目标是为条形码的解码和编码提供更友好、更易用的界面,而 ZXing 则主要侧重于提供底层算法和库。

IronBarcode 在 ZXing 库的基础上提供了一些附加功能,如自动纠正常见扫描错误的功能、支持不同类型的条形码读取和扫描,以及直接从图像文件或位图读取条形码内容的功能。

总之,如果您的应用程序是用 C# 编写的,并且您正在寻找一个易于使用、功能强大、可读写各种条形码格式的库,那么 IronBarcode 可以说是一个不错的选择。 不过,如果您正在寻找一种通用性更强、可用于多种语言的低级库,ZXing 可能是更好的选择。

结论

总之,IronBarcode 是一款灵活高效的软件库,支持多种条码格式、符号和字符。 它与各种操作系统兼容,并提供可靠的许可和支持。

IronBarcode 和 ZXing 都是在 .NET Framework 中读写条形码的库。 IronBarcode 将 ZXing 库作为执行条码读写操作的依赖库。 IronBarcode 提供了一个简单易用的 API,用于在 C# 和 VB.NET 中读写条形码,而 ZXing 则是一个低级库,提供了很大的灵活性和定制性。 IronBarcode 使用 ZXing 执行底层条码处理和解码,但为开发人员提供了更简单方便的界面。

IronBarcode 是 ZXing 库的 C# / VB.NET 封装程序,这意味着它为 ZXing 提供的功能提供了一个 C# / VB.NET 接口。 IronBarcode 通过提供更方便、更简单的 API 来读写条形码,为 ZXing 的使用提供了便利。

与 ZXing.NET 相比,IronBarcode 为条形码识别和生成提供了更多的功能和更快的处理时间,并增加了从各种图像格式和 PDF 文档中读取条形码的功能。

A Comparison Between IronBarcode and ZXing .NET, Figure 10: Iron Suite Prices

Iron Suite 许可证价格

此外,IronBarcode 可供早期开发阶段免费使用,并为商业用途提供免费试用。 凭借不同的价格档次,开发商可以选择最符合自身需求和预算的解决方案。 还提供以下优惠:5 款 Iron Software 产品套装按 2 款价格购买。总的来说,IronBarcode 比 ZXing.NET 更具有明显优势。

请注意: ZXing 是其各自所有者的注册商标。 本网站与 ZXing 无任何关联,亦未获得 ZXing 的认可或赞助。 所有产品名称、徽标和品牌均为各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。
Curtis Chau
技术作家

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

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户