A Comparison between IronBarcode and Spire Barcode
BarCode 是一种机器可读代码,以线条和空格排列的形式存储各种物品的信息。 BarCode 由一系列用于编码数据的平行条组成。 这些条形码组成了所谓的 "条形码 "或 "条形码符号",可以通过条形码扫描仪(有时也称为 "扫描仪")读取。 所有 BarCode 都有四个部分:
- 开始字符
- 公差:宽度和高度允许更改的数量,通常以百分比表示
- 数据字符:用于表示编码信息的字符
- 停止字符
BarCode 是零售环境中识别产品的最有效方法。 每件产品都有一个独特的 BarCode,可以轻松扫描,用于库存控制或价格验证。 如今,条形码已不仅仅是零售环境中识别产品的有效方式; 它们已成为我们日常生活的一个重要方面,因为它们被用来以电子方式存储信息和管理消费者身份。
在本文中,我们将比较两个流行的条形码库:
- Spire BarCode
- IronBarcode
这两个库均可用于生成和识别条形码,为所有 .NET Framework 提供支持,并允许您保存条形码图像。
IronBarcode
我们将通过一个示例来了解如何使用 IronBarcode for .NET 库在 C# .NET 中生成条形码。 我们将看到使用 IronBarcode 创建条形码、样式化条形码,然后导出条形码是多么容易。
安装
打开 Visual Studio,然后进入文件菜单。 选择一个新项目,然后选择控制台应用程序/Windows 窗体/WPF 应用程序。 IronBarcode 可用于所有类型的应用程序,包括 Webform/MVC/MVC Core。
输入项目名称,并在相应的文本框中选择文件路径。 单击 "创建 "按钮并选择所需的 .NET Framework。 现在将根据所选应用程序的结构生成项目,如果您选择了控制台应用程序,则将打开 Program.cs 文件,您可以在其中输入代码并构建/运行应用程序。
安装 IronBarcode 库
1 使用 IronBarcode
可以通过以下四种方式下载并安装 IronBarcode库:
- 使用Visual Studio
- 使用Visual Studio命令行
- 从NuGet网站直接下载
- 从 IronBarcode 网站直接下载
1.1 使用 Visual Studio
Visual Studio 软件提供了一个 NuGet 软件包管理器选项,可将软件包直接安装到解决方案中。 下图显示如何打开NuGet包管理器。

它提供了一个搜索框,显示 NuGet 网站上的软件包列表。在软件包管理器中,我们需要搜索关键词 "Barcode",如下截图所示:

从上图中,我们可以得到相关的搜索结果列表。 我们需要选择所需的选项将包安装到解决方案中。
1.2 使用 Visual Studio 命令行
在 Visual Studio 工具中,转到工具 -> NuGet 包管理器 -> 包管理器控制台。
在控制台选项卡中输入以下行:
Install-Package BarCode
现在包将下载/安装到当前项目,并可以使用了。

1.3从 NuGet 网站直接下载
第三种方法是直接从网站下载程序包。
- Navigate to the Link.
- 从右侧菜单中选择下载软件包选项。
- 双击下载后的包。 它将自动安装。
- 现在重新加载解决方案并开始在项目中使用。
1.4 从 IronBarcode 网站直接下载。
Click the link to download the latest package from the website. After the download, follow the steps below to add the package to the project.
- 在解决方案窗口中右键单击项目。 2.选择 "添加"->"参考文献 "选项并浏览到下载参考文献的位置。
- 单击确定以添加引用。
安装 Iron BarCode 库后,您可以通过 NuGet 软件包或下载 .NET Barcode DLL 将条形码功能添加到您的 .NET Framework 中。
Install-Package BarCode
添加用于浏览文件的后端代码
在下面的示例中,我们将看到如何使用 IronBarcode 通过几行代码创建包含数字或文本内容的条形码。
// Generate a Simple BarCode image and save as PNG using IronBarCode
using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");// Generate a Simple BarCode image and save as PNG using IronBarCode
using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");第一步,我们通过指定条形码的值来创建条形码,我们将使用的条形码格式来自 IronBarCode.BarcodeWriterEncoding 枚举。 我们可以将其保存为图像、System.Drawing.Image 或 Bitmap 对象。 这就是所需的全部代码! 最后一行代码将在默认图像查看器中打开条形码 PNG,以便您可以亲眼目睹。
使用 IronBarcode 的高级条形码
虽然前面的例子很有效,但在现实世界中,我们可能希望做得更多。 在下面的示例中,我们为条形码添加注释、设置字体、在其下方显示其值、添加边距、更改条形码颜色,然后保存,所有这些都非常简单,只需用 C# 就可以完成。 如果更适合我们的应用,我们还可以选择导出为 HTML 或 PDF 格式,而不是图片。
using IronBarCode;
using System.Drawing;
// Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html"); using IronBarCode;
using System.Drawing;
// Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html"); The code should be self-explanatory, but if not, we encourage you to read the GeneratedBarcode class documentation within the API Reference.
阅读条形码
Reading a barcode or QR code in .NET is incredibly easy using the IronBarcode class library with .NET Barcode Reader. 在第一个例子中,我们可以看到如何用一行代码读取这个 BarCode。

使用 C# 扫描的 BarCode 图像
我们可以提取其值、图像、编码类型、二进制数据(如果有),然后输出到控制台。
using IronBarCode;
using System;
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result != null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
Console.WriteLine("GetStarted was a success. Read Value: " + Result.Text);
}using IronBarCode;
using System;
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result != null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
Console.WriteLine("GetStarted was a success. Read Value: " + Result.Text);
}我们可以在 QuicklyReadOneBarcode 方法中添加 TryHarder 变量。 这就需要付出更多的努力,花费更多的时间,但却要更深入地扫描可能被遮挡、损坏或角度倾斜的二维码。
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode | BarcodeEncoding.Code128, true);BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode | BarcodeEncoding.Code128, true);它现在可以读取这个倾斜的 QR 码:

用 C# 扫描旋转 45 度的二维码
你会发现我们可以指定要查找的条形码编码,或者指定多种格式。 这样做可以大大提高条形码读取性能和准确性。 管道字符(|) 或"按位或"用于同时指定多种格式。 通过使用视觉方法或BarcodeReader.ReadASingleBarcode方法组件模式,也可以实现同样的效果,但精度更高。
从不规则图像中读取 BarCode.
在实际使用案例中,我们可能希望阅读的 BarCode 并不是完美的截图。 译文可能是不完美的图像、扫描件或照片,可能包含数字噪音或有偏差。 如果使用大多数传统的开源 .NET 条码生成器和阅读器库,这是不可能实现的。 However, this Barcode Reader in C# makes it incredibly straightforward. 我们将研究 QuicklyReadOneBarcode 的 TryHarder 方法。 这一单一参数会导致 Iron BarCode 尝试从不完善的数字样本中去斜并读取条形码。
我们将设置特定的条形码旋转校正和条形码图像校正,以校正数字噪声以及我们可能合理预期的手机摄像头的偏斜、透视和旋转。

用 C# 从手机摄像头读取条形码
using IronBarCode;
using System;
using System.Drawing;
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte[] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);using IronBarCode;
using System;
using System.Drawing;
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte[] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);流畅性
在最后一个示例中,我们将看到只需一行代码就能创建、样式化和导出条形码。 IronBarcode 实现了一个可选的流畅 API,类似于 System.Linq。 通过链式方法调用,我们首先创建一个 BarCode,然后设置其边距,最后单行将其导出为 Bitmap。这样做非常方便,使代码更易于阅读。
Spire BarCode
Free Spire.BarCode for .NET 是一款免费且专业的条形码 API,专为 .NET 开发人员(C#、VB.NET、ASP.NET)生成和读取一维和二维条形码而设计。 开发人员和程序员可以使用 Spire.BarCode 将企业级条形码格式快速、轻松地添加到他们的 .NET 应用程序、ASP.NET WinForms 和 Web 服务中。 Free Spire.BarCode for .NET 提供了一种非常简单的集成条形码处理的方法。 Spire.BarCode 支持各种常见的图像格式,如位图、JPG、PNG、EMF、TIFF、GIF 和 WMF。 它还提供对 QR 代码的支持。
安装
我们首先要做的是安装 Spire 库,为 .NET Framework 添加条形码功能。 我们可以通过使用 NuGet 软件包来实现这一目标。 与我们在 IronBarcode 上所做的一样,过程也是一样的--按照相同的步骤,只需输入 "Spire Barcode "并将软件包添加到项目中即可。

编写 BarCode 开发人员
该库提供了创建 BarCode 图像的方法。 这是一种重载方法。 在此,我们列出了代码中用于测试库性能的方法的定义。
using Spire.Barcode;
using System.Drawing;
namespace QRCode
{
class Program
{
static void Main(string[] args)
{
BarcodeSettings settings = new BarcodeSettings
{
Type = BarCodeType.QRCode,
Data = "Hello world",
Data2D = "Hello 123456789",
QRCodeDataMode = QRCodeDataMode.AlphaNumber,
X = 1.0f,
QRCodeECL = QRCodeECL.H
};
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}using Spire.Barcode;
using System.Drawing;
namespace QRCode
{
class Program
{
static void Main(string[] args)
{
BarcodeSettings settings = new BarcodeSettings
{
Type = BarCodeType.QRCode,
Data = "Hello world",
Data2D = "Hello 123456789",
QRCodeDataMode = QRCodeDataMode.AlphaNumber,
X = 1.0f,
QRCodeECL = QRCodeECL.H
};
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}制作的 QR 条形码图像如下。

在 C# 中创建 QR 码
// Generate the barcode based on the barcode control settings
BarCodeGenerator generator = new BarCodeGenerator(this.barCodeControl1);
Image barcode = generator.GenerateImage();
// Save the barcode as an image
barcode.Save("barcode.png");// Generate the barcode based on the barcode control settings
BarCodeGenerator generator = new BarCodeGenerator(this.barCodeControl1);
Image barcode = generator.GenerateImage();
// Save the barcode as an image
barcode.Save("barcode.png");本方法中有两个重要的类 - BarCodeControl 和 BarCodeGenerator 。 BarCodeControl 存储有关条形码的信息。 BarCodeGenerator 是生成条形码图像的类。 它的构造函数需要一个参数--一个 BarCodeControl 实例。 它有一个名为 GenerateImage() 的方法,其返回值是用于生成图像的 Image 对象。
阅读条形码图像
条形码扫描器是扫描条形码图像的类。 使用包含条形码图像的 Bitmap 对象调用其方法 Scan ; 它将返回一个 string[] 值,扫描结果将存储在该值中。 在本代码中,类 BarcodeScanner 用于扫描条形码图像。 它可以在 VB.NET 和 C# 中存储和添加企业级条形码。
这是代码:
private void btnScan_Click(object sender, EventArgs e)
{
// Scan the barcode
string[] datas = Spire.Barcode.BarcodeScanner.Scan("barcode.png");
// Show the scan result
this.TextB_ScanResult.Text = datas[0];
}private void btnScan_Click(object sender, EventArgs e)
{
// Scan the barcode
string[] datas = Spire.Barcode.BarcodeScanner.Scan("barcode.png");
// Show the scan result
this.TextB_ScanResult.Text = datas[0];
}IronBarcode 和 Spire.BarCode 许可模式和定价
IronBarcode 许可证模式和价格
30 天退款保证:购买后,如果许可证无法使用,您可以在 30 天内获得退款。
Easy integration: The integration of IronPDF with your project and environment is straightforward and can be achieved with a single line of code when using the NuGet Package. 也可通过直接下载进行整合。
永久授权:每个许可证只需购买一次,无需续订。
免费支持和产品更新:每个许可证都包含一年的免费产品更新和产品团队的支持,并且可以随时购买扩展功能。
立即发放许可证:收到付款后,注册许可证密钥将立即发送。
所有许可证都是永久性的,适用于开发、临时和生产环境。
精简包:
- 1名开发人员
- 1个地点
- 1个项目
- 永久许可证
此软件包允许单个软件开发人员在一个地点使用 Iron Software。 它可用于单个Web应用程序、内部网应用程序或桌面软件程序。 许可证不可转让,不得在组织或代理/客户关系之外共享。除非购买了额外的保险,否则分销权不包括 OEM 再分销和 SaaS。
定价:每年起价为$liteLicense。
专业许可证:
- 10名开发者
- 10个地点
- 10个项目
- 永久许可证
本软件包允许最多十名软件开发人员在单个地点使用 Iron Software。 可根据需要在网站、内网应用程序或桌面软件应用程序中使用。 许可证不可转让,不得在组织或代理/客户关系之外共享。除非购买了额外的保险,否则分销权不包括 OEM 再分销和 SaaS。
定价:每年 $999 起。
无限许可:
- 无限开发人员
- 无限地点
- 无限项目
- 永久许可证
这样,一个组织中的软件开发人员就可以在不受限制的地点使用 Iron Software。 可根据需要在网站、内网应用程序或桌面软件应用程序中使用。 许可证不可转让,不得在组织或代理/客户关系之外共享。除非购买了额外的保险,否则分销权不包括 OEM 再分销和 SaaS。
定价:每年 $2,999 起。
免版税再分发:根据基本许可涵盖的项目数量,允许将 Iron Software 作为各种商业产品的一部分进行分发(不收取版税)。 它还允许根据基本许可所涵盖的项目,在 SaaS 软件服务中进行部署。
定价:每年 $1,599 起。
不间断的产品支持和更新:提供产品更新、安全功能升级和工程团队支持。
定价:每年 $399 起。

在 C# 中创建 QR 码
Spire BarCode 许可证模式和价格:
支持是付费的,订阅是一次性付款。 只有 OEM 订阅适用于面向公众的网站和基于云的应用程序。
开发人员订阅:
- 一名开发人员
- 一个部署地点
该软件包授权一名开发人员使用该产品创建不限数量的应用程序,这些应用程序可部署在组织内的一个地理位置(仅限内部使用)。 它不允许向第三方分发或在面向公众的网站或 SaaS/PaaS/IaaS 项目上部署自定义应用程序。
定价:每年 $898 起。
开发人员 OEM 订阅:
- 一名开发人员
- 不受限制的部署地点
该软件包授权一名开发人员使用该产品创建不限数量的自定义应用程序,并允许这些应用程序以任何形式发布到任何数量的地理位置。
定价:每年 3395 美元起。
网站企业订阅:
- 最多 10 名开发人员
- 多达 10 个部署地点
这将授权多达 10 名开发人员创建不受限制的应用程序,最多可在 10 个地理位置部署。 它不允许将定制应用程序发布到面向公众的网站或 SaaS/PaaS/IaaS 项目。
定价:每年 5301 美元起。
网站 OEM 订阅:
- 最多 50 名开发人员
- 不受限制的部署地点
这将授权多达 50 名开发人员使用该产品创建数量不限的自定义应用程序,并允许这些应用程序以任何形式发布到任何数量的地理位置。
定价:每年起价 10187 美元。
IronBarcode Lite套餐包含一个开发者软件包,提供一年的支持,价格约为 $liteLicense;而 Spire Developer OEM 订阅包含一个开发者软件包,价格为 $3,395,提供一年的所有更新、主要版本和技术支持; 如果没有版本发布和技术支持,则需要 $1,695。 IronBarcode专业版套餐包含 10 个开发者软件包和一年的支持服务,价格为 $999; Spire Site OEM 订阅包含 10 个开发者软件包,价格为 $10,187,包含一年的所有更新、主要版本发布和技术支持;如果缺少版本发布和更新,价格为 $6,558。
IronBarcode Lite和Professional套餐均提供 SaaS 服务或 OEM 服务,以及五年支持选项。 Lite版本包含一个开发者软件包,提供五年支持,并提供 SaaS 和 OEM 服务,价格为 2,897 美元;而 Spire 提供 SaaS 服务或 OEM 服务,以及一年支持选项。 IronBarcode专业版包含 10 个开发人员套餐,提供五年支持以及 SaaS 和 OEM 服务,售价为 3,397 美元;而 Spire 套餐包含 10 个开发人员,提供一年支持以及 SaaS 和 OEM 服务,售价为 $10,187。
结论
IronBarcode 用于生成企业级条形码图像的条形码格式。 它使开发人员能够旋转条形码图像,以及创建条形码图像边框,以协助进一步格式化条形码图像。 与其他生成器相比,IronBarcode 可提供可靠的条码生成功能,并可生成高质量的条码图像。 我们可以通过 IronBarcode 获得所需的输出图像格式,而且生成的条形码图像质量很高,因为我们只需一行代码就可以创建、样式化和导出条形码。 条形码开发人员会发现它很容易与其他 .NET 应用程序集成,并允许识别不同的条形码类型。 该库的组件模式非常高效--对于每种组件模式,开发人员都可以生成不同风格和格式的 BarCode。 简单的代码只有一行,而 IronBarcode 的识别功能却非常优越。 API 模式使其比其他生成器更可靠。
Spire.BarCode for .NET 提供了集成条形码处理的直接方法。 只需一行代码,开发人员就可以创建和读取一维和二维条形码。 Spire.BarCode 支持各种常见的图像格式,如 Bitmap、JPG、PNG、EMF、TIFF、GIF 和 WMF。 因此,开发人员可以轻松创建条形码图像,并能用最少的代码集成条形码生成和创建功能。
与 Spire.BarCode 相比,IronBarcode 软件包提供更好的许可证和支持,价格也更高。IronBarcode 的起价为 $liteLicense,而 Spire.BarCode 的起价为 $898,因此 IronBarcode 的性价比更高。IronBarcode 还提供比 Spire.BarCode 更多的功能,以及更好的支持和退款保证。 IronBarcode 提供长期支持,并与 API 模式的 .NET 应用程序无缝集成。 它支持与新文档(C#、VB.NET)轻松集成,并可生成多种条形码格式。
那么,还等什么? 获取免费试用版! You can obtain the License here and begin straightaway.
常见问题解答
我如何在 C# 中生成条形码?
您可以使用 IronBarcode 在 C# 中生成条形码。它允许您创建、样式化和导出条形码,只需简单的 C# 代码。IronBarcode 支持各种格式,并且可以轻松集成到 .NET 应用程序中。
在 .NET 中条码库的安装选项有哪些?
对于 IronBarcode,您可以通过 Visual Studio 的 NuGet 包管理器、Visual Studio 命令行或直接从 NuGet 或 IronBarcode 网站下载进行安装。Spire.Barcode 可以通过 NuGet 类似地安装。
IronBarcode 支持哪些条码格式?
IronBarcode 支持广泛的条形码格式,包括一维和二维条形码。这允许在各种应用中实现条形码生成和识别的灵活性。
IronBarcode 能从损坏的图像中读取条形码吗?
可以,IronBarcode 能从不完美的图像中读取条形码。它包含旋转校正和数字噪声清理等功能,即使从损坏或低质量的图像中也能增强条形码识别。
是什么让 IronBarcode 成为开发人员具有成本效益的选择?
IronBarcode 提供带有退款保证的永久许可,并且起始价格比其他条形码库如 Spire.Barcode 低。它还提供强大的支持,使其成为开发人员具有成本效益的解决方案。
IronBarcode 在支持方面如何与 Spire.Barcode 相比?
与 Spire.Barcode 相比,IronBarcode 被认为提供更好的支持和许可选项。它的许可证包括一年免费的产品更新和支持,确保开发人员可以访问最新功能。
在 .NET 中使用 IronBarcode 生成条形码有哪些好处?
IronBarcode 提供可靠的条形码生成与高质量图像,易于与 .NET 应用程序集成,并支持多种条形码格式。它还提供样式化和将条形码导出到 HTML 或 PDF 等各种格式的功能。







