在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
条形码是一种机器可读的可视化数据表示。条形码最早是通过改变平行线的长度和间距来表示数据的。这些线性或一维 (1D) 条形码可以使用称为条形码阅读器的特殊光学扫描器进行扫描,条形码阅读器有多种类型。后来,二维 (2D) 尽管二维条码不使用条形码,但使用矩形、点、六边形和其他图案的二维条码仍被开发出来,并被称为矩阵码。有各种配置的专用二维光学扫描仪可以读取二维条形码。连接到微型计算机上的数码相机可以拍摄条形码的照片,同时运行扫描二维条形码的软件--通过分析图像解构条形码,然后进行解码。使用专门的应用软件,内置摄像头的移动设备(如智能手机)可以充当后一种二维条形码扫描器。
在本文中,我们将比较两种流行的条形码库
这两个库均可用于生成和识别条形码。该程序支持所有 .NET 框架,并可轻松保存条形码图像。
Aspose.BarCode for .NET是一款复杂的工具,可让您从任何角度从各种图片源创建和识别一维和二维条码。开发人员可将条码创建和扫描功能简单地添加到.NET 应用程序中。它还可以将创建的条形码导出为多种高质量图片格式,以及用于创建新条形码和从各种角度识别旧条形码的 API。它支持 60 多种不同的一维、二维和邮政条形码符号。
Aspose.BarCode for .NET允许您更改所创建条形码的背景颜色、条形颜色、旋转角度、X维度、图像质量、分辨率、标题、尺寸等。API 还支持各种识别和成像功能以及各种符号。
IronBarcode for .NET允许程序员在.NET应用程序和网站中读写条形码和QR码。IronBarcode 只需一行代码即可读写条形码。使用.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 功能如下:
专为 .NET 项目设计--只需几行代码即可在几分钟内启动并运行。为.NET框架构建,作为一个单一的DLL,没有依赖性;支持32位和64位,可用于任何.NET和dot net核心语言。支持网络、云、桌面和控制台应用程序中的移动和桌面设备。
打开 Visual studio,进入文件菜单,选择 "新建项目",然后选择控制台应用程序/Windows 窗体/WPF 应用程序。条形码也可用于所有类型的应用程序。您还可以使用 Webform/MVC/MVC Core 等应用程序。
在相应文本框中输入项目名称并选择文件路径。然后,单击创建按钮并选择所需的 dot net 框架。现在,项目将为所选应用程序生成结构,如果您选择的是控制台应用程序,它将打开 program.cs 文件,您可以在其中输入代码并构建/运行应用程序。
IronBarcode 库可通过四种方式下载和安装。
它们是
Visual Studio 软件提供了 NuGet 包管理器选项,可直接将软件包安装到解决方案中。下面的截图显示了如何打开 NuGet 包管理器。
它提供了一个搜索框,用于显示 NuGet 网站上的软件包列表。在软件包管理器中,我们需要搜索关键字 "Barcode",如下图所示:
从上图中,我们将看到相关搜索结果的列表。我们需要选择所需的选项,将软件包安装到解决方案中。
在 Visual Studio 中,转到 Tools-> NuGet Package Manager -> Package Manager Console
在控制台选项卡中输入以下一行:
Install-Package BarCode
现在,软件包将下载/安装到当前项目中,并可随时使用。
第三种方法是直接从网站下载软件包。
点击链接"https://ironsoftware.com/csharp/barcode/packages/IronBarCode.zip" 这里直接从网站下载最新软件包。下载完成后,请按照以下步骤将软件包添加到项目中。
接着,选择参考选项,然后浏览下载参考的位置。
Aspose.BarCode 库可以通过四种方式下载和安装。
它们是
这种方法与上述 IronBarcode 的方法类似。我们唯一需要更改的是搜索条件,如下图所示。
选择第一个选项,下载 Aspose.Barcode 库。
在 Visual Studio 中,转到 Tools-> NuGet Package Manager -> Package Manager Console
在软件包管理器控制台选项卡中输入以下一行。
Install-Package Aspose.BarCode
现在,软件包将下载/安装到当前项目中,并可随时使用。
第三种方法是直接从网站下载软件包。
只需点击 这里 就会重定向到 NuGet 网站,在这里你可以下载软件包。
点击 链接 在这里,它将重定向到软件包版本列表,我们可以选择需要的版本进行下载。下载完成后,按照以下步骤将软件包添加到项目中。
接着,选择选项参考,然后浏览下载参考的位置。
使用 IronBarcode 和 Aspose.Barcode 可以轻松生成条形码。让我们通过一个示例来了解一下。
IronBarcode 可用于创建条码标签,并可保存为多种图像格式。我们还可以传递需要生成的条形码类型。以下是生成条形码的片段:
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")
Barcodewriter.createbarcode 是 IronBarcode 命名空间中的一个静态类。我们需要在创建条形码函数中传递两个字符串参数,以便转换条形码类型。我们还可以使用 CreateBarcode 函数指定条形码的高度和宽度,但这是可选项,生成条形码时并不需要。
发送参数后,它将返回条形码对象,而条形码对象又将返回不同的条形码属性,我们可以使用这些属性添加属性,如上面的示例代码。AddAnnotationTextBelowBarcode 是允许我们在条形码标签下方或上方添加文本的属性之一。如果需要,我们还可以隐藏条形码文本。在上述代码中,ipeg 生成器可帮助条形码保存为 jpeg 图像格式。
除图像格式外,我们还可以导出 HTML 格式的条形码。我们可以生成不同类型的图像,并以不同的图像格式保存。此外,我们还能从给定的条形码图像中读取多个条形码。
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")
上面的示例表明,我们可以在 QR 码内生成带有图像的条形码。CreateQrCodeWithLogo 是一个允许我们执行此任务的函数。我们还使用了 ChangeBarCodeColor 函数,该函数将帮助我们更改条形码/QR 码的颜色。IronBarcode 中的这些函数可以帮助我们创建用于商业目的的自定义条形码。
Aspose.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)
上面的代码表明,BarcodeGenerator 是一个类,我们可以通过创建对象来生成条形码。我们需要传递两个参数:一个是条形码类型,另一个是创建条形码所需的条形码字符串。它将被转换为 BarcodeGenerator 对象。
条码生成器对象提供了一个名为保存的函数,允许我们将创建的条码保存为给定代码片段中的 jpeg 图像格式。不仅是 jpeg 格式,我们还可以保存为不同的条形码属性,如 Jpeg tiff 等、
条码高度和宽度可使用单独的函数进行调整。条码生成器对象有一个值用于设置:"参数.条码.XDimension.毫米 "允许我们指定行的高度和宽度。
结果:
上图是这些库的性能比较。时间以毫秒为单位计算。
通过 IronBarcode 和 Aspose.Barcodes,我们可以识别不同图像格式的条形码及其所属类型。让我们来详细了解一下。
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
以上描述了我们正在使用的 BarcodeReader 类,该类具有不同的属性。其中一个属性是 QuicklyReadOneBarcode,它可帮助我们从图像格式中读取条形码。它还能帮助我们将其转换为 BarcodeResult 对象。通过该对象,我们可以从图像中读取条码值和条码类型。
BarcodeResult 具有以下值:
输入图像中的条形码类型由 BarcodeType 返回,BarcodeType 是一种枚举数据类型。IronBarcode 总共支持 22 种条形码格式。将返回应用于所提供输入图像的条形码类型。
BarcodeResult 中可用的对象类型值也包括值和文本。字符串数据类型包括值和文本。这些类型可返回条形码的字符串值。QuicklyReadOneBarcode 读取 QR 码或条形码,并将图像的字符串值转换为值/文本。二进制值是字节数据类型,返回图像的字节。快速应答代码如下所示,可粘贴到任何 net windows 窗体或 net 标准应用程序中。
在 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
上述代码表明,我们正在从 jpeg 格式中读取条形码。BarcodeReader 是一个可以帮助我们使用图像路径作为参数读取条形码图像的类。一旦我们传递了图像路径,它就会将图像转换为条码阅读器对象。然后,我们就可以使用该对象从图像中获取值。
条码阅读器对象有一个名为 ReadBarCodes 的函数().这将有助于我们获取图像中的所有可用代码。使用 "for 循环",我们可以逐个获取图像,并将其保存在 BarCodeResult 对象中。通过该对象,我们可以读取条形码的值和类型。这样,我们就可以一次读取多个条形码。
IronBarcode 是帮助我们生成和识别条形码的最强大的库之一。它也是生成和识别条形码速度最快的库之一。该库支持多种操作系统。它支持多种条形码格式,且易于创建。我们可以更改颜色、行高、行宽、条形码文本等。许可证详细信息可参见 这里.
Aspose.BarCode 也是一个功能强大的库,用于生成和读取不同图像格式的条形码。我们可以使用各种图像格式来读取和创建。Aspose 还为我们提供了改变条形码外观的选项,如高度、宽度、条形码文本等。 这里.
与 Aspose.Barcode 相比,IronBarcode 确实具有一些优势。当我们比较识别和生成条形码的处理时间时,IronBarcode 比 Aspose.Barcode 更快。IronBarcode 还具有多种属性,不仅可以从不同的图像格式中读取条形码,还可以从 PDF 文档中读取条形码。我们还可以在条形码和 QR 码中添加图像,这是其他任何库都不具备的功能。