与其他组件比较

IronBarcode与Aspose.Barcode的比较

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2022年四月27日
分享:

介绍

条形码是一种机器可读的数据的视觉表示形式。 条形码最早通过改变平行线的长度和间距来表示数据。 这些线性或一维(1D)条形码可以用称为条码读取器的特殊光学扫描仪扫描,这些扫描仪有多种类型。后来,使用矩形、点、六边形和其他图案的二维(2D)变体被开发出来,并被称为矩阵码,尽管它们不使用条。 专门设计的2D光学扫描仪,有多种配置,可以读取2D条形码。 微型计算机上连接的数码相机可以拍摄条形码的照片图像,同时运行扫描二维条形码的软件--它通过分析图像解构然后解码条形码。 使用专用应用软件,带有内置摄像头的移动设备(如智能手机)可以充当这种类型的二维条码扫描器。

在本文中,我们将比较两个流行的 BarCode 库

  • Aspose.Barcode
  • IronBarcode

    这两个库均可用于生成和识别 BarCode。 译文支持所有 .NET Framework,并可轻松保存条形码图像。

特点

Aspose.Barcode

Aspose.BarCode for .NET 是一款复杂的工具,可让您从任何角度创建和识别来自各种图片源的一维和二维条形码。 开发人员可以将条形码创建和扫描功能简单地添加到 .NET 应用程序中。 它还可以将创建的条形码导出为多种高质量图片格式和 API,用于创建新条形码和从各种角度识别旧条形码。 支持 60 多种不同的一维、二维和邮政条形码符号。

Aspose.BarCode for .NET 允许您更改所创建条形码的背景颜色、条形颜色、旋转角度、X 维度、图像质量、分辨率、标题、尺寸等。 API 还支持各种识别和成像功能以及各种符号。

  • Aspose 使我们只需几行代码就能生成和识别 40 多种条形码符号。
  • 从任何角度读取 BarCode。
  • 轻松将 BarCode 标签打印到物理或虚拟打印机上。
  • 支持校验和及 BarCode 补充数据。
  • 改进了 Code128 编码。
  • 设置扫描 BarCode 的图像区域。
  • 根据设备的分辨率创建图像。
  • 识别格式和图像:JPEG、TIFF、PNG、BMP、GIF、EXIF 将条形码标签保存为图像:EMF、SVG 平台独立性、二维和邮政条形码。

IronBarcode

IronBarcode for .NET 允许程序员在 .NET 应用程序和网站内读取和写入条形码和二维码。 IronBarcode只需一行代码即可读取或写入条形码。 大多数条形码和 QR 标准都可以使用 .NET 条形码库读取和编写。 Code 39/93/128、UPC A/E、EAN 8/13、ITF、RSS 14 / Expanded、Databar、CodaBar、Aztec、Data Matrix、MaxiCode、PDF417、MSI、Plessey、USPS 和 QR 是一些最常见的编码。 条形码结果数据包括类型、文本、二进制数据、页面和图片文件。 IronBarcode 的 API 功能如下:

  • IronBarcode 可读写大多数条形码类型和 QR 标准,包括 UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar、CodaB 等。
  • 这些工具包括:Ar、QR、Styled QR、Data Matrix、MaxiCode、PDF417、Plessey 和 Aztec。 结果中提供的条码数据、类型、页面、文本和条码图片非常适合存档或索引系统。
  • 图像预处理提高了读取速度和准确性——IronBarcode 自动预处理条码图片以增加读取速度和准确性。 它可以读取扫描或实时视频帧,还可以纠正旋转、噪音、失真和倾斜。 批处理服务器应用程序可以利用多个内核和线程。 在单页和多页文档中自动查找一个或多个 BarCode。 无需使用复杂的 API,即可搜索特定的 BarCode 种类或文档位置。
  • 为 .NET 项目设计 — 只需几行代码即可在几分钟内启动。 为 .NET 框架构建的单个 DLL,无任何依赖项; 该工具支持 32 位和 64 位,可用于任何 .NET 和 dot net core 语言。 支持在网页、云端、桌面和控制台应用程序中的移动设备和桌面设备。
  • 为各种文件格式创建条形码和 QR 码--以 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML 等各种文件和流格式保存并打印到文件或流中。 颜色、质量、旋转、大小和文本都可以更改。

1.创建新项目

打开 Visual studio,进入文件菜单,选择 "新建项目",然后选择控制台应用程序/Windows 窗体/WPF 应用程序。 BarCode 也可用于各类应用程序。 您也可以使用 Webform/MVC/MVC Core 等应用程序。

Aspose Barcode Generator Alternative 1 related to 1.创建新项目

在相应文本框中输入项目名称并选择文件路径。 然后,点击创建按钮,选择所需的 .NET Framework。 项目现在将为所选应用程序生成结构,如果您选择了控制台应用程序,它将打开 program.cs 文件,您可以在其中输入代码并构建/运行应用程序。

Aspose Barcode Generator Alternative 1 related to 1.创建新项目

2.安装条码库

2.1 使用 IronBarcode

IronBarcode 库可以通过四种方式下载和安装。

它们是

  • 使用 Visual Studio
  • 使用 Visual Studio 命令行
  • 直接从 NuGet 网站下载。
  • 直接从 IronBarcode 网站下载。

2.1.1 使用 Visual Studio

Visual Studio 软件提供了 NuGet 软件包管理器选项,可直接将软件包安装到解决方案中。 下面的截图显示了如何打开 NuGet 包管理器。

Aspose Barcode Generator Alternative 1 related to 2.1.1 使用 Visual Studio

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

Aspose Barcode Generator Alternative 4 related to 2.1.1 使用 Visual Studio

从上面的图片中,我们将获得相关搜索结果的列表。 我们需要选择所需的选项,将软件包安装到解决方案中。

2.1.2 使用 Visual Studio 命令行

在 Visual Studio 中,转到工具 -> NuGet 包管理器 -> 包管理器控制台

在控制台选项卡中输入以下行:

Install-Package BarCode

现在,软件包将下载/安装到当前项目中,并可随时使用。

2.1.3 从 NuGet 网站直接下载

第三种方法是直接从网站下载软件包。

  • 导航到[链接](https://www.nuget.org/packages/barcode" target="_blank" rel="nofollow)
  • 从右侧菜单中选择下载软件包选项。
  • 双击下载的软件包。 它将自动安装。
  • 接下来,重新加载解决方案并开始在项目中使用。

2.1.4 从 IronBarcode 网站直接下载

点击链接“[https://ironsoftware.com/csharp/barcode/packages/IronBarCode.zip](https://ironsoftware.com/csharp/barcode/packages/IronBarCode.zip" target="_blank)”从网站直接下载最新的包。下载后,按照以下步骤将包添加到项目中。

  • 右键单击解决方案窗口中的项目。
  • 接下来,选择选项参考文献,然后浏览下载参考文献的位置。
  • 然后,单击 "确定 "添加引用。

2.2 使用 Aspose.BarCode

Aspose.BarCode 库可以通过四种方式下载和安装。

它们是

  • 使用 Visual Studio
  • 使用 Visual Studio 命令行
  • 直接从 NuGet 网站下载。
  • 直接从 IronBarcode 网站下载。

2.2.1 使用 Visual Studio

这种方法与上述 IronBarcode 的方法类似。 我们唯一需要改变的是搜索条件,如下图所示。

Aspose Barcode Generator Alternative 4 related to 2.2.1 使用 Visual Studio

选择第一个选项,下载 Aspose.Barcode 库。

2.2.2 使用 Visual Studio 命令行

在 Visual Studio 中,转到工具 > NuGet 包管理器 > 包管理器控制台

在软件包管理器控制台选项卡中输入以下一行。

Install-Package Aspose.BarCode

现在,软件包将下载/安装到当前项目中,并可随时使用。

2.2.3 从 NuGet 网站直接下载

第三种方法是直接从网站下载软件包。

只需点击[这里](https://www.nuget.org/packages/Aspose.BarCode/" target="_blank" rel="nofollow),它将重定向到NuGet网站,您可以在该网站下载软件包。

2.2.4 从 Aspose 网站直接下载

点击[此链接](https://downloads.aspose.com/barcode/net" target="_blank" rel="nofollow),将重定向到软件包版本列表,我们可以从中选择所需的版本进行下载。 下载完成后,请按照以下步骤将软件包添加到项目中。

  • 右键单击解决方案窗口中的项目。
  • 下一步,选择参考文献选项,然后浏览下载参考文献的位置。
  • 然后,单击 "确定 "添加引用。

3.生成 BarCode

使用 IronBarcode 和 Aspose.Barcode 可以轻松生成条形码。 让我们举例说明。

3.1 使用 IronBarcode

IronBarcode 可用于创建条形码标签,并能以多种图像格式保存。 我们还可以传递需要生成的 BarCode 类型。 以下是生成 BarCode 的片段:

var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128) 
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
var MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128) 
MyBarCode.AddAnnotationTextBelowBarcode("123456");
MyBarCode.SaveAsImage("MyBarCode.jpeg");
Dim MyBarCode = BarcodeWriter.CreateBarcode("123456", BarcodeEncoding.Code128) MyBarCode.AddAnnotationTextBelowBarcode("123456")
MyBarCode.SaveAsImage("MyBarCode.jpeg")
$vbLabelText   $csharpLabel

Barcodewriter.createbarcode 是 IronBarcode 命名空间中的一个静态类。 我们需要在创建条形码函数中传递两个参数,这两个参数都是字符串值,以便转换和条形码类型。我们还可以使用 CreateBarcode 函数指定条形码的高度和宽度,但这是可选项,生成条形码时并不需要。

在发送参数后,它会返回条形码对象,而条形码对象又会返回不同的条形码属性,我们能够使用这些属性添加属性,就像上面的示例代码一样。 AddAnnotationTextBelowBarcode 是允许我们在条形码标签下方或上方添加文本的属性之一。 如果需要,我们还可以隐藏 BarCode 文本。 在上述代码中,ipeg 生成器帮助条形码保存为 jpeg 图像格式。

除了图像格式,我们还可以导出 HTML 格式的 BarCode。 我们生成了不同类型的图像,以保存为不同的图像格式。 此外,我们还能从给定的条形码图像中读取多个条形码。

var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png",500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
var QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png",500);
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
QRWithLogo.SaveAsJpeg("Logoqr.jpeg");
Dim QRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png",500)
QRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
QRWithLogo.SaveAsJpeg("Logoqr.jpeg")
$vbLabelText   $csharpLabel

上例显示,我们可以用 QRcode 内的图像生成条形码。 CreateQrCodeWithLogo 是一个允许我们执行此任务的函数。 我们还使用了函数 ChangeBarCodeColor,这将帮助我们更改条形码/二维码的颜色。 IronBarcode 中的这些功能可协助创建用于商业目的的自定义条形码。

3.2 使用 Aspose.BarCode

Aspose.BarCode 可用于生成条形码。 我们可以生成不同类型的 BarCode。以下代码片段可用于创建条形码:

BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "123456");
generator.Save("output.jpg", BarCodeImageFormat.Jpeg);
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "123456");
generator.Save("output.jpg", BarCodeImageFormat.Jpeg);
Dim generator As New BarcodeGenerator(EncodeTypes.Code128, "123456")
generator.Save("output.jpg", BarCodeImageFormat.Jpeg)
$vbLabelText   $csharpLabel

从上面的代码可以看出,BarcodeGenerator 是一个类,我们可以通过创建对象来生成条形码。 我们需要传递两个参数; 条形码有两种类型,一种是条形码类型,另一种是创建条形码所需的条形码字符串。 它将被转换为 BarcodeGenerator 对象。

条形码生成对象提供了一个名为保存的函数,通过该函数,我们可以将创建的条形码保存为图像格式,即给定代码片段中的 jpeg 格式。 不仅是 jpeg 格式,我们还能以不同的条形码属性保存,如 Jpeg tiff 等、

条形图的高度和宽度可以使用单独的功能进行调整。 BarCode 生成器对象有一个值来设置这个值:"Parameters.Barcode.XDimension.Millimeters",它允许我们指定行高和行宽。

结果

Aspose Barcode Generator Alternative 8 related to 3.2 使用 Aspose.BarCode

上图是这些库的性能对比。 时间以毫秒计算。

4 识别 BarCode

IronBarcode 和 Aspose.Barcodes 可让我们识别不同图像格式的条形码及其所属类型。 让我们来详细了解一下。

4.1 使用IronBarcode

IronBarcode 可帮助读取不同图像格式的条形码,并可通过三种方式进行定义:字符串、流或图像,如 jpeg、tiff、Bitmap 等。以下示例使用字符串方式从图像中读取条形码。

BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{               
    Console.WriteLine(QRResult.Value);                
    Console.WriteLine(QRResult.BarcodeType);            
}
BarcodeResult QRResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg");
if (QRResult != null)
{               
    Console.WriteLine(QRResult.Value);                
    Console.WriteLine(QRResult.BarcodeType);            
}
Dim QRResult As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("MyBarCode.jpg")
If QRResult IsNot Nothing Then
	Console.WriteLine(QRResult.Value)
	Console.WriteLine(QRResult.BarcodeType)
End If
$vbLabelText   $csharpLabel

以上描述了我们正在使用一个具有不同属性的类 BarcodeReader。 其中一个属性是QuicklyReadOneBarcode,它帮助我们从图像格式中读取条形码。 它还能帮助我们将它们转换为BarcodeResult对象。 通过该对象,我们可以从图像中获取条形码值和正在读取的条形码类型。

BarcodeResult 具有以下值:

  • 条形码类型
  • 价值
  • 文本
  • 二进制值

    提供的输入图像中的条形码类型由BarcodeType返回,该类型是一种枚举数据类型。 IronBarcode支持总共二十二种条形码格式。 应用于提供的输入图像的条形码类型将被返回。

    BarcodeResult 中可用的对象类型值也是值和文本。 字符串数据类型包括值和文本。 这些都会返回 BarCode 的字符串值。 QuicklyReadOneBarcode 可读取二维码或条形码,并将图像的字符串值转换为数值/文本。 二进制值是字节数据类型,返回图像的字节。 快速回答代码如下所示,可粘贴到任何 .NET Windows 窗体或 .NET Standard 应用程序中。

4.2 使用 Aspose.BarCode

在 BarCode for .NET 中,条形码识别的来源可以通过三种方式定义:图像文件、流或位图。可以用于从文件中读取条形码的五种图片格式是 BMP、PNG、JPEG、GIF 和 TIFF。 并且提供了三种不同模式的实现细节。 以下是使用字符串方法的示例。

using (BarCodeReader reader = new BarCodeReader(@"MyBarCode.jpg"))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("Type: " + result.CodeType);
        Console.WriteLine("CodeText: " + result.CodeText);
    }
}
using (BarCodeReader reader = new BarCodeReader(@"MyBarCode.jpg"))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("Type: " + result.CodeType);
        Console.WriteLine("CodeText: " + result.CodeText);
    }
}
Using reader As New BarCodeReader("MyBarCode.jpg")
	For Each result As BarCodeResult In reader.ReadBarCodes()
		Console.WriteLine("Type: " & result.CodeType)
		Console.WriteLine("CodeText: " & result.CodeText)
	Next result
End Using
$vbLabelText   $csharpLabel

上述代码显示我们正在从jpeg格式读取条形码。 BarcodeReader 是一个类,它帮助我们使用图像路径作为参数读取条形码图像。 一旦我们传递了图像路径,它就会将图像转换为 BarCode 阅读器对象。 然后,我们可以使用该对象从图像中获取值。

BarcodeReader 对象有一个名为 ReadBarCodes() 的函数。 这将有助于我们获得图片中的所有可用代码。 使用 "for 循环",我们可以逐个获取图像,并将其保存在 BarCodeResult 对象中。 通过该对象,我们可以读取条形码的值和类型。 这使我们能够同时读取多个 BarCode。

结论

IronBarcode 是帮助我们生成和识别条形码的最强大的库之一。 它也是生成和识别 BarCode 最快的库之一。 该库支持多种操作系统。 它支持多种条形码格式,易于创建。 我们可以更改颜色、行高、宽度、条形码文本等。许可详情可以在[此处](/csharp/barcode/licensing/" target="_blank)找到。

Aspose.BarCode 也是一个功能强大的库,用于生成和读取不同图像格式的条形码。 我们可以使用各种图像格式进行阅读和创作。 Aspose还为我们提供了更改条形码外观的选项,包括高度、宽度、条形码文本等。我们可以在[这里](https://purchase.aspose.com/pricing/barcode/net" target="_blank" rel="nofollow)找到许可详情。

与 Aspose.Barcode 相比,IronBarcode 确实具有一些优势。 当我们比较识别和生成条形码的处理时间时,IronBarcode 的优势在于比 Aspose.Barcode 更快。 IronBarcode 还具有各种属性,不仅可以读取不同图像格式的条形码,还可以读取 PDF 文档中的条形码。 我们还可以在条形码和 QR 码内添加图片,这是其他任何库都不具备的功能。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
IronBarcode和ZXing.NET的比较
下一步 >
IronBarcode与Spire Barcode的比较