在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
条形码是一种机器可读的可视化数据表示。条形码最早是通过改变平行线的长度和间距来表示数据的。这些线性或一维 (1D) 条形码可以使用称为条形码阅读器的特殊光学扫描器进行扫描,条形码阅读器有多种类型。后来,二维 (2D) 尽管二维条形码不使用条形码,但使用矩形、点、六边形和其他图案的二维条形码被称为矩阵码。有各种配置的专用二维光学扫描仪可以读取二维条形码。连接到运行相关软件的微型计算机上的数码相机可以拍摄条形码的照片,也可以扫描二维条形码。它通过分析图像对二维条形码进行解构和解码。使用专门的应用软件,内置摄像头的移动设备(如智能手机)可充当后一种二维条形码扫描器。
在本文中,我们将比较两种流行的条形码库:
这两个库均可用于生成和识别条形码,支持所有 .NET 框架,并可保存条形码图像。
LEADTOOLS Barcode SDK 是全球首屈一指的工具包,适用于需要 API 来检测、读取和生成一维和二维条形码的开发人员。屡获殊荣的 LEADTOOLS 库为 .NET Framework、.NET Core、Xamarin、UWP、C++ Class Library、C#、VB、C/C++、Java、Objective-C 和 Swift 开发人员提供了快速、高度准确和可靠的条形码引擎,帮助程序员利用全功能条形码技术创建令人惊叹的应用程序。
条码 API 功能如下:
快速查找和解码条形码:LEADTOOLS 是市场上最全面的条形码工具包,支持 100 多种条形码类型的读写,包括黑白和彩色图像中所有主要的一维和二维条形码。图像或感兴趣的区域可以是黑白或彩色、低分辨率的,也可以有多种类型的条形码,这些条形码甚至可能被损坏或方向不同。解码数据的可信度始终为 100%,这使得 LEADTOOLS 成为任何涉及条形码的工作流程中的可靠组件。它还支持非英文字符,并能创建二维和邮政条形码。此外,它还可以隐藏条形码文本。
条形码 Web 服务 多个 LEADTOOLS SDK 提供 SOAP 和 RESTful Web 服务,用于在任何应用程序上检测、读取和生成图像中的一维和二维条形码,从而提供与平台无关的解决方案。RESTful 网络服务为 HTML5/JavaScript 应用程序提供了一个简单的 JSON 接口。使用 .NET 等高级环境的开发人员可以使用 RESTful Web 服务。 (C# 和 VB) 和 Java 可利用 LEADTOOLS SOAP Web Services 获得更多高级选项和功能。
在图像处理方面,条形码成像技术 LEADTOOLS BARCODE PRO SDK 和 LEADTOOLS BARCODE 应用程序对编程接口的工作有很大帮助。此外,leadtools 还支持子类型的图像压缩、屏幕捕捉以及通过扫描对某些移动设备文档进行清理。所有内容都包含在 lead technologies inc.
IronBarcode for .NET允许程序员在.NET应用程序和网站中读写条形码和QR码。IronBarcode 只需一行代码即可读写条形码。使用.NET条形码库可以读写大多数条形码和 QR 码标准。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 是其中最常见的一些。类型、文本、二进制数据、页面和图片文件都包含在条码结果数据中。条码 API 功能如下:
IronBarcode 可读写大多数条码类型和 QR 标准,包括 UPC A/E, EAN 8/13, Code 39/93/128, ITF, MSI, RSS 14/Expanded, Databar, CodaB。
AR、QR、样式 QR、数据矩阵、MaxiCode、PDF417、Plessey 和 Aztec。结果提供的条形码数据、类型、页面、文本和条形码图片非常适合存档或索引系统。
图像预处理提高读取速度和准确性 - IronBarcode 可自动对条形码图片进行预处理,以提高读取速度和准确性。它可以读取扫描或实时视频帧,纠正旋转、噪音、扭曲和倾斜。批处理服务器应用程序可利用多个内核和线程,在单页和多页文档中自动查找一个或多个条码。无需使用复杂的应用程序接口,即可搜索特定类型的条形码或文档位置、物理或虚拟打印机和设备。
专为 .NET 项目设计--只需几行代码即可在几分钟内启动并运行。专为.NET Framework设计,是一个无依赖性的单一 DLL;支持 32 位和 64 位,可用于任何 .NET 和 dot net core 语言。支持网络、云、桌面和控制台应用程序中的移动和桌面设备。它还可用于创建旋转条形码。
为多种文件格式创建条形码和 QR 码--以多种文件和流格式保存和打印到文件或流,包括 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML。颜色、质量、旋转、大小和文本都可以更改。
打开 Visual Studio,然后进入文件菜单。选择新项目,然后选择控制台应用程序/Windows 窗体/WPF 应用程序。IronBarcode 可用于所有类型的应用程序。此外,您还可以使用 Webform/MVC/MVC Core 等应用程序。
在相应的文本框中输入项目名称并选择文件路径。然后,单击创建按钮并选择所需的 .NET Framework。现在,项目将根据所选应用程序的结构生成,如果您选择的是控制台应用程序,它将打开 program.cs 文件,您可以在其中输入代码并构建/运行应用程序。
IronBarcode 库可通过四种方式下载和安装:
它们是
Visual Studio 软件提供了 NuGet 软件包管理器选项,可直接将软件包安装到解决方案中。下面的截图显示了如何打开 NuGet 包管理器。
它提供的搜索框可显示 NuGet 网站上的软件包列表。在软件包管理器中,我们需要搜索关键字 "Barcode",如下图所示:
从上图中,我们将看到相关搜索结果的列表。我们需要选择所需的选项,将软件包安装到解决方案中。
在 Visual Studio 工具中,转到工具-> NuGet 包管理器-> 包管理器控制台
在控制台选项卡中输入以下一行:
Install-Package BarCode
现在,软件包将下载/安装到当前项目,并可随时使用。
第三种方法是直接从网站下载软件包。
点击 链接 从网站下载最新软件包。下载完成后,按照以下步骤将软件包添加到项目中。
我们需要做的第一件事是安装 Iron Barcode 库,为 .NET 框架添加条形码功能。我们可以使用 NuGet 软件包 或下载 .NET Barcode DLL。
PM > 安装软件包条形码
可通过四种不同方式下载和安装该库。
它们是
这种方法与上述 IronBarcode 的方法类似。我们唯一需要更改的是搜索条件,如下图所示。
选择第一个选项,然后下载 Leadtools 条形码库。
在 Visual Studio 工具中,转到工具-> NuGet 包管理器-> 包管理器控制台
在软件包管理器控制台选项卡中输入以下一行。
安装软件包 Leadtools 条形码
现在,软件包将下载/安装到当前项目中,并可随时使用。
第三种方法是直接从网站下载软件包。
只需点击 >这里 以重定向到 NuGet 网站,在那里可以下载软件包。
点击 链接 在此跳转到软件包版本列表,选择需要下载的版本。下载完成后,按照以下步骤将软件包添加到项目中。
在解决方案窗口中右键单击项目。
然后,选择参考选项并浏览下载参考的位置。
然后,单击 "确定 "添加引用。
使用 IronBarcode 和 Leadtools 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.create barcode 是 IronBarcode 命名空间中的一个静态类。创建条形码需要两个参数。我们还可以使用 CreateBarcode 函数选择性地指定高度和宽度。
发送参数后,它将返回条形码对象;这将返回不同的条形码属性,通过这些属性,我们可以添加类似上述示例代码的属性。AddAnnotationTextBelowBarcode 是其中一个属性,它允许我们在条形码标签下方或上方添加文本。如果需要,我们还可以隐藏条形码文本。在上述代码中,jpeg 生成器可帮助条形码保存为 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 中的这些函数可为商业目的创建自定义条形码。
Leadtools 条码可用于生成条码。我们可以生成不同类型的条形码。以下代码段可用于创建条形码。
// Figure out how big to make the image
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions);
imageHeight = qrData.Bounds.Height;
imageWidth = qrData.Bounds.Width;
// Create an empty image
barcodeImage = new RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength);
// Make the image all white
FillCommand fillCmd = new FillCommand(RasterColor.White);
fillCmd.Run(barcodeImage);
// Write the barcode
barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions);
// Save the results
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel);
// Figure out how big to make the image
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions);
imageHeight = qrData.Bounds.Height;
imageWidth = qrData.Bounds.Width;
// Create an empty image
barcodeImage = new RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength);
// Make the image all white
FillCommand fillCmd = new FillCommand(RasterColor.White);
fillCmd.Run(barcodeImage);
// Write the barcode
barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions);
// Save the results
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel);
' Figure out how big to make the image
barcodeEngineInstance.Writer.CalculateBarcodeDataBounds(LeadRect.Empty, imageResolution, imageResolution, qrData, qrWriteOptions)
imageHeight = qrData.Bounds.Height
imageWidth = qrData.Bounds.Width
' Create an empty image
barcodeImage = New RasterImage(RasterMemoryFlags.Conventional, imageWidth, imageHeight, bitsPerPixel, RasterByteOrder.Rgb, RasterViewPerspective.TopLeft, palette, IntPtr.Zero, userDataLength)
' Make the image all white
Dim fillCmd As New FillCommand(RasterColor.White)
fillCmd.Run(barcodeImage)
' Write the barcode
barcodeEngineInstance.Writer.WriteBarcode(barcodeImage, qrData, qrWriteOptions)
' Save the results
codecs.Save(barcodeImage, barcodeOutputStream, RasterImageFormat.CcittGroup4, bitsPerPixel)
上面的代码显示,BarcodeGenerator 是一个类,我们可以通过创建对象来生成条形码,我们需要传递两个参数:一个是条形码类型,另一个是创建条形码所需的条形码字符串。然后将其转换为 BarcodeGenerator 对象。
条形码生成器对象提供了一个名为保存的函数,它允许我们将创建的条形码保存为图像格式,如给定代码片段中的 jpeg 格式。此外,我们并不局限于 jpeg 格式,还可以保存为不同的格式,如 png、tiff 等。
条形码的高度和宽度可通过一个单独的功能条形码生成器对象来调整,该对象具有设置 "Parameters.Barcode.dimension.Millimeters "的值。这允许我们指定和自定义高度和宽度。
结果:
上图显示了这些库的性能比较。时间以毫秒为单位计算。
通过 IronBarcode 和 Leadtools,我们可以识别不同图像格式的条形码及其所属类型。让我们来详细了解一下。
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,它可以帮助我们从图像格式中读取条形码。
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 对象中。通过该对象,我们可以读取条形码的值和类型。这样,我们就能同时读取多个条形码。
30 天退款保证:购买许可证后,如果许可证不能正常使用,您将获得 30 天的退款保证。
轻松集成:IronBarcode 与项目和环境的集成非常简单,我们只需编写一行代码,从 NuGet 软件包中添加即可实现集成,或者我们也可以从网上下载,然后与我们的环境集成。
永久许可:每个许可证只需购买一次,无需更新。
免费支持和产品更新:每个许可证都附带一年的免费产品更新和产品团队支持。可随时购买扩展。可查看扩展。
立即许可证:收到付款后立即发送注册许可证密钥。
所有许可证均为永久许可证,适用于开发、暂存和生产。
简易版许可
该许可证允许企业中的单个软件开发人员在一个地方使用 Iron 软件。Iron 软件可用于单个网络应用程序、内联网应用程序或桌面软件程序。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,不包括 OEM 再分发以及在未购买附加保险的情况下将 Iron 软件作为 SaaS 使用。
定价:起价为每年 $749。
专业许可证:
该许可证允许组织内预定数量的软件开发人员在单个地点使用 Iron 软件,最多不超过 10 人。Iron 软件可用于任意数量的网站、内联网应用程序或桌面软件应用程序。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可证类型与所有其他许可证类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在不购买额外保险的情况下将 Iron 软件作为 SaaS 使用。本许可证可与单个项目集成,最多可集成 10 个项目。
定价:每年 999 美元起。
无限制许可
该许可证允许企业中数量不限的软件开发人员在数量不限的地点使用 Iron 软件。您可以在任意数量的网站、内联网应用程序或桌面软件应用程序中使用 Iron 软件。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发以及在未购买附加保险的情况下将 Iron 软件作为 SaaS 使用。
定价:每年 2999 美元起。
免版税再分发:这允许您将 Iron 软件作为多种不同包装的商业产品的一部分进行分发 (无需支付版税) 基于基本许可证所涵盖的项目数量。它允许根据基本许可证涵盖的项目数量,在 SaaS 软件服务中部署 Iron 软件。
定价:每年 1599 美元起。
软件包不包括支持和维护。所有套餐均可根据用户要求定制。
条形码专业版:
LEADTOOLS Barcode Pro包含了开发人员检测、读取和写入100多种不同的一维和二维条形码类型以及子类型(如UPC、EAN、Code 128、QR Code、Data Matrix和PDF417)所需的一切功能。它以屡获殊荣的 LEADTOOLS Imaging Pro 功能为基础,包括 150 多种图像格式、图像压缩、图像处理、图像查看器、图像常用对话框、200 多种显示效果、TWAIN、SANE 和 WIA 扫描、屏幕捕获和打印。LEADTOOLS Barcode Pro 是条形码成像技术市场上最有价值的产品之一。
定价:每年 1295 美元起。
LEADTOOLS专业套件:
LEADTOOLS Pro Suite是LEADTOOLS Pro系列SDK中的一个广泛的捆绑包,它包括桌面和HTML5零脚印图像查看器、条形码检测、解码和创建、用于读取、写入、查看和编辑的高级PDF功能、150多种图像格式、图像压缩、图像处理、图像通用对话框、200多种显示效果、TWAIN、SANE和WIA扫描、屏幕捕获和打印。使用 LEADTOOLS Pro Suite 的开发人员只需花费市场上类似功能集的一小部分成本,即可开发出强大的图像应用程序和解决方案。
定价:每年 195 美元起。
IronBarcode Lite许可证包括一个开发者软件包和一年的技术支持,价格约为liteLicense
美元,而一个开发者的Leadtools软件包价格为1295美元。IronBarocde 专业许可证包括10个开发者软件包和一年的支持,价格为999美元,而Leadtools许可证包括10个开发者软件包,价格为每年12290美元,包括所有更新、主要版本和一年的技术支持,不包括版本和更新,价格为9050.00美元。
IronBarcode Lite和Professional软件包提供SaaS服务或OEM服务,以及为期5年的技术支持。Lite许可证包括一个开发者软件包,提供五年支持以及SaaS和OEM服务,价格为2897美元,而Leadtools也提供SaaS或OEM服务,以及定制支持选项。Iron 专业许可证包括 10 个开发人员软件包,提供五年支持以及 SaaS 和 OEM 服务,价格为 3397 美元,而 Leadtools 许可证包括 10 个开发人员软件包、一年支持以及 SaaS 和 OEM 服务,价格为 12290 美元。
IronBarcode 是帮助生成和识别条形码的功能最强大的库之一。在生成和识别条形码方面,它也是速度最快的库之一。该库支持多种操作系统。它支持多种条形码格式,创建简单。它还支持多种符号、格式和字符。
Leadtools Barcode 也是一个功能强大的库,可以帮助我们生成和识别不同图像格式的条形码。我们可以使用各种图像格式来读取和创建。Leadtools Barcode 还提供了改变条形码外观的选项,如高度、宽度、条形码文本等。
与 Leadtools 相比,IronBarcode 软件包提供更好的**许可和支持。Leadtools Barcode 价格更贵 - IronBarcode 起价为 $lite许可证
,而 Leadtools Barcode 起价为每年 $1295。我们的产品不仅比 Leadtools 便宜,而且提供的功能也比 Leadtools Barcode 更多。因此,我们可以清楚地看到,IronBarcode 与 Leadtools 相比具有明显的优势。
当我们比较识别和生成条形码的处理时间时,IronBarcode 的优势在于比 Leadtools 更快。IronBarcode 还具有多种属性,不仅可以读取不同图像格式的条形码,还可以读取 PDF 文档中的条形码。它还允许我们在条形码或 QR 码中添加图像,这是其他任何库都不具备的功能。
还等什么?所有人都可以免费试用。您可以获得 许可证 在此直接开始