在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
条形码是一种机器可读的数据的视觉表示形式。 条形码最早通过改变平行线的长度和间距来表示数据。 这些线性或一维(1D)条形码可以使用称为条形码阅读器的特殊光学扫描器进行扫描,条形码阅读器有多种类型。后来,二维(2D)使用矩形、圆点、六边形和其他图案的变化被开发出来,并被称为矩阵码,尽管它们并不使用条形码。 专门设计的2D光学扫描仪,有多种配置,可以读取2D条形码。 微型计算机上连接的数码相机可以拍摄条形码的照片图像,同时运行扫描二维条形码的软件--它通过分析图像解构然后解码条形码。 使用专用应用软件,带有内置摄像头的移动设备(如智能手机)可以充当这种类型的二维条码扫描器。
在本文中,我们将比较两个流行的 BarCode 库
IronBarcode
这两个库均可用于生成和识别 BarCode。 译文支持所有 .NET Framework,并可轻松保存条形码图像。
Aspose.BarCode for .NET 是一款复杂的工具,可让您从任何角度创建和识别来自各种图片源的一维和二维条形码。 开发人员可以将条形码创建和扫描功能简单地添加到 .NET 应用程序中。 它还可以将创建的条形码导出为多种高质量图片格式和 API,用于创建新条形码和从各种角度识别旧条形码。 支持 60 多种不同的一维、二维和邮政条形码符号。
Aspose.BarCode for .NET 允许您更改所创建条形码的背景颜色、条形颜色、旋转角度、X 维度、图像质量、分辨率、标题、尺寸等。 API 还支持各种识别和成像功能以及各种符号。
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 功能如下:
打开 Visual studio,进入文件菜单,选择 "新建项目",然后选择控制台应用程序/Windows 窗体/WPF 应用程序。 BarCode 也可用于各类应用程序。 您也可以使用 Webform/MVC/MVC Core 等应用程序。
在相应文本框中输入项目名称并选择文件路径。 然后,点击创建按钮,选择所需的 .NET Framework。 项目现在将为所选应用程序生成结构,如果您选择了控制台应用程序,它将打开 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 可用于创建条形码标签,并能以多种图像格式保存。 我们还可以传递需要生成的 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")
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")
上例显示,我们可以用 QRcode 内的图像生成条形码。 CreateQrCodeWithLogo 是一个允许我们执行此任务的函数。 我们还使用了函数 ChangeBarCodeColor,这将帮助我们更改条形码/二维码的颜色。 IronBarcode 中的这些功能可协助创建用于商业目的的自定义条形码。
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)
从上面的代码可以看出,BarcodeGenerator 是一个类,我们可以通过创建对象来生成条形码。 我们需要传递两个参数; 条形码有两种类型,一种是条形码类型,另一种是创建条形码所需的条形码字符串。 它将被转换为 BarcodeGenerator 对象。
条形码生成对象提供了一个名为保存的函数,通过该函数,我们可以将创建的条形码保存为图像格式,即给定代码片段中的 jpeg 格式。 不仅是 jpeg 格式,我们还能以不同的条形码属性保存,如 Jpeg tiff 等、
条形图的高度和宽度可以使用单独的功能进行调整。 BarCode 生成器对象有一个值来设置这个值:"Parameters.Barcode.XDimension.Millimeters",它允许我们指定行高和行宽。
结果
上图是这些库的性能对比。 时间以毫秒计算。
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返回,该类型是一种枚举数据类型。 IronBarcode支持总共二十二种条形码格式。 应用于提供的输入图像的条形码类型将被返回。
BarcodeResult 中可用的对象类型值也是值和文本。 字符串数据类型包括值和文本。 这些都会返回 BarCode 的字符串值。 QuicklyReadOneBarcode 可读取二维码或条形码,并将图像的字符串值转换为数值/文本。 二进制值是字节数据类型,返回图像的字节。 快速回答代码如下所示,可粘贴到任何 .NET Windows 窗体或 .NET Standard 应用程序中。
在 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 是一个类,它帮助我们使用图像路径作为参数读取条形码图像。 一旦我们传递了图像路径,它就会将图像转换为 BarCode 阅读器对象。 然后,我们可以使用该对象从图像中获取值。
BarcodeReader 对象有一个名为 ReadBarCodes 的函数。(). 这将有助于我们获得图片中的所有可用代码。 使用 "for 循环",我们可以逐个获取图像,并将其保存在 BarCodeResult 对象中。 通过该对象,我们可以读取条形码的值和类型。 这使我们能够同时读取多个 BarCode。
IronBarcode 是帮助我们生成和识别条形码的最强大的库之一。 它也是生成和识别 BarCode 最快的库之一。 该库支持多种操作系统。 它支持多种条形码格式,易于创建。 我们可以更改颜色、行高、行宽、Barcode 文本等。许可证详细信息请参见 这里.
Aspose.BarCode 也是一个功能强大的库,用于生成和读取不同图像格式的条形码。 我们可以使用各种图像格式进行阅读和创作。 Aspose 还为我们提供了一个选项,可以在高度、宽度、条形码文本等方面改变条形码的外观。我们可以找到许可详细信息 这里.
与 Aspose.Barcode 相比,IronBarcode 确实具有一些优势。 当我们比较识别和生成条形码的处理时间时,IronBarcode 的优势在于比 Aspose.Barcode 更快。 IronBarcode 还具有各种属性,不仅可以读取不同图像格式的条形码,还可以读取 PDF 文档中的条形码。 我们还可以在条形码和 QR 码内添加图片,这是其他任何库都不具备的功能。