在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
条形码是一种机器可读的数据的视觉表示形式。 条形码最早通过改变平行线的长度和间距来表示数据。 这些线性或一维(1D)条形码可以使用称为条形码阅读器的特殊光学扫描器进行扫描,条形码阅读器有多种类型。后来,二维(2D)尽管它们不使用条形,但开发了使用矩形、点、六边形和其他图案的各种变体,被称为矩阵码。 专门设计的2D光学扫描仪,有多种配置,可以读取2D条形码。 一个连接到运行相关软件的微型计算机上的数码相机可以拍摄条形码的照片并扫描二维条形码。 它通过分析图像来解构和解码二维条形码。 使用专用应用软件,带有内置摄像头的移动设备(如智能手机)可以充当这种类型的二维条码扫描器。
在本文中,我们将比较两个流行的条形码库:
IronBarcode
这两个库都可以用来生成和识别条形码,支持所有 .NET 框架,并允许您保存条形码图像。
LEADTOOLS Barcode SDK是全球首屈一指的工具包,适用于需要API来检测、读取和生成一维和二维条形码的开发人员。 凭借适用于 .NET Framework、.NET Core、Xamarin、UWP、C++ 类库、C#、VB、C/C++、Java、Objective-C 和 Swift 开发人员的快速、高精度和可靠的条码引擎,屡获殊荣的 LEADTOOLS 库帮助程序员使用全功能的条码技术创建出色的应用程序。
Barcode API 的功能如下:
快速查找和解码条形码:LEADTOOLS 是市场上最全面的条形码工具包,支持读取和写入超过 100 种条形码类型,包括所有主要的 1D 和 2D 条形码,支持双色和彩色图像。 图像或感兴趣的区域可以是双色或彩色,低分辨率,并且可以包含多种类型的条形码,这些条形码甚至可能损坏且方向不同。 解码数据的置信度始终为100%,使LEADTOOLS成为任何涉及条形码工作流程中可靠的组件。 它还支持非英语字符,并且可以创建二维条码和邮政条码。 此外,它还可以隐藏条形码文本。
条码网络服务
多个LEADTOOLS SDK提供SOAP和RESTful网络服务,以实现跨平台的解决方案,在任何应用程序的图像中检测、读取和生成1D和2D条码。 RESTful Web 服务为 HTML5/JavaScript 应用程序提供了一个简单的 JSON 接口。 使用高级环境如 .NET 的开发人员(C# 和 VB)并且Java可以利用LEADTOOLS SOAP Web服务来获取更高级的选项和功能。
在图像处理方面,条形码成像技术(例如Leadtools Barcode Pro SDK和Leadtools Barcode Application)在使用编程接口时可以提供很多帮助。 此外,LEADTOOLS 支持图像压缩子类型、屏幕捕获,以及通过扫描进行一些移动设备文档清理。 包括所有在Lead Technologies Inc.工具许可中的内容,其他许可包含一些额外的信息和其他对工具包重要的问题。 文档包含关于平台的全面报告。
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 是一些最常见的类型。 条形码结果数据包括类型、文本、二进制数据、页面和图片文件。 条形码API的功能如下:
IronBarcode读取和写入大多数条形码类型和QR标准,包括UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar、CodaB。
AR、QR、样式QR、Data Matrix、MaxiCode、PDF417、Plessey 和 Aztec。 结果中提供的条码数据、类型、页面、文本和条码图片非常适合存档或索引系统。
图像预处理提高了读取速度和准确性——IronBarcode 自动预处理条码图片以增加读取速度和准确性。 它可以读取扫描件或实时视频帧,校正旋转、噪声、失真和倾斜。 批处理服务器应用程序可以利用多个核心和线程,并自动在单页和多页文档中找到一个或多个条形码。 无需使用复杂的API,您可以搜索某种类型的条形码或文档位置、物理或虚拟打印机和设备。
为 .NET 项目设计 — 只需几行代码即可在几分钟内启动。 为 .NET 框架构建的单个 DLL,无任何依赖项; 支持32位和64位,可用于任何.NET和dot net core语言。 支持在网页、云端、桌面和控制台应用程序中的移动设备和桌面设备。 它也可以用于创建旋转条形码。
为各种文档格式创建条形码和二维码 - 以各种文件和流格式保存并打印到文件或流中,包括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
现在,软件包将下载/安装到当前项目,并可随时使用。
第三种方法是直接从网站下载软件包。
点击 链接 从网站下载最新软件包。下载完成后,请按照以下步骤将软件包添加到项目中。
然后,单击 "确定 "添加引用。
首先,我们需要安装IronBarcode库,将条形码功能添加到.NET框架中。 我们可以使用我们的 NuGet 软件包 或下载 .NET Barcode DLL。
PM > Install-Package Barcode
### 3.2 使用Leadtools Barcode
该库可以通过四种不同的方式下载和安装。
它们是
* 使用 Visual Studio
* 使用 Visual Studio 命令行
* 直接从 NuGet 网站下载。
* 直接从 IronBarcode 网站下载。
### 3.2.1 使用 Visual Studio
这种方法类似于上面用于IronBarcode的方法。 我们唯一需要改变的是搜索条件,如下图所示。
<div class="content-img-align-center">
<div class="center-image-wrapper">
<img src="/static-assets/barcode/blog/leadtools-barcode-alternative/leadtools-barcode-alternative-6.png" alt="" class="img-responsive add-shadow">
</div>
</div>
选择第一个选项,然后下载 Leadtools 条形码库。
### 3.2.2 使用 Visual Studio 命令行
在 Visual Studio 工具中,转到 工具 -> NuGet 包管理器 -> 包管理器控制台
在软件包管理器控制台选项卡中输入以下一行。
Install-Package Leadtools barcode
现在,软件包将下载/安装到当前项目中,并可随时使用。
### 3.2.3 从NuGet网站直接下载
第三种方法是直接从网站下载软件包。
只需点击 <a href="https://www.nuget.org/packages/Leadtools.Barcode/" target="_blank" rel="nofollow noopener noreferrer">>这里</a> 以重定向到 NuGet 网站,在那里可以下载软件包。
### 3.2.4 从Leadtools Barcode直接下载
点击 <a href="https://www.leadtools.com/downloads" target="_blank" rel="nofollow noopener noreferrer">链接</a> 点击此处以重定向到包版本列表以选择所需版本进行下载。 下载完成后,请按照以下步骤将软件包添加到项目中。
右键单击解决方案窗口中的项目。
然后,选择参考文献选项并浏览下载参考文献的位置。
然后,单击 "确定 "添加引用。
## 4.0 条码生成
使用 IronBarcode 和 Leadtools Barcode 可以轻松生成条形码。 让我们通过一个例子来看一下。
### 4.1 使用IronBarcode
IronBarcode 可以用于创建条码标签,然后保存为不同类型的图像格式。 另外,我们可以传递我们需要生成的条形码类型。 以下代码片段用于生成条形码。
```cs
var 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,这将帮助我们更改条形码/二维码的颜色。 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对象。
条码生成对象提供了一个名为save的函数,该函数允许我们将生成的条码保存为图像格式,例如jpeg,如以下代码片段所示。 此外,我们不仅限于 jpeg 格式,我们还可以保存为其他格式,如 png、tiff 等。
条形码的高度和宽度可以使用一个单独的函数来调整,该函数为具有设置此值的Barcode Generator对象“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返回,该类型是一种枚举数据类型。 IronBarcode支持总共二十二种条形码格式。 应用于提供的输入图像的条形码类型将被返回。
BarcodeResult 上可用的对象类型值也有 value 和 text。 字符串数据类型包括值和文本。 这将返回条形码的字符串值。 QuicklyReadOneBarcode读取二维码/条形码并将图像的字符串值转换为数值/文本。 二进制值是字节数据类型,它返回图像的字节。 快速答案代码如下所示,可以粘贴到任何 .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 是一个类,它帮助我们使用图像路径作为参数读取条形码图像。 一旦我们传递图像路径,它将把图像转换为BarcodeReader对象。 然后,我们可以使用该对象从图像中获取值。
BarcodeReader 对象有一个名为 ReadBarCodes 的函数。()这将帮助我们获取图像中的所有可用代码。 使用 for 循环,我们可以逐个获取图像,并将它们保存在 BarCodeResult 对象中。 通过该对象,我们可以读取条形码的值和类型。 使用此功能,我们能够同时读取多个条形码。
30天退款保证:购买许可证后,如果许可证无法使用,将在30天内退款。
轻松集成:将IronBarcode集成到您的项目和环境中非常简单,只需要通过从NuGet包添加的一行代码即可实现,或者我们也可以从网页下载并以这种方式将其集成到我们的环境中。
永久许可证:每个许可证购买一次,无需续订。
免费支持和产品更新:每个许可证都包含一年的免费产品更新和来自产品团队的支持。 可以随时购买扩展。 可查看扩展内容。
立即许可证:收到付款后,立即发送注册许可证密钥。
所有许可证均为永久许可证,适用于开发、暂存和生产。
The Lite License
永久许可证
该许可证允许一个组织中的单个软件开发人员在一个地方使用 Iron 软件。 Iron Software 可用于单个网络应用程序、内联网应用程序或桌面软件程序。 许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,不包括 OEM 再分发和在未购买额外保险的情况下将 Iron Software 作为 SaaS 使用。
定价:起价为每年 $749。
Professional License:
永久许可证
这样,企业中预定数量的软件开发人员就可以在单个地点使用 Iron Software,最多不超过 10 人。 Iron Software 可用于任意数量的网站、内网应用程序或桌面软件应用程序。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在未购买额外保险的情况下将 Iron Software 作为 SaaS 使用。 该许可证可与单个项目集成,最多可集成 10 个项目。
定价:每年 999 美元起。
无限制许可证
永久许可证
这样,企业中数量不限的软件开发人员就可以在无限多的地点使用 Iron Software。 Iron Software 可用于任意数量的网站、内网应用程序或桌面软件应用程序。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在未购买附加保险的情况下将 Iron Software 作为 SaaS 使用。
定价:每年 2999 美元起。
免版税再分发:这允许您将 Iron 软件作为多种不同包装的商业产品的一部分进行发布(无需支付版税)基于基本许可证所涵盖的项目数量。 它允许在 SaaS 软件服务中部署 Iron Software,以基本许可证涵盖的项目数量为基础。
定价:每年 1599 美元起。
软件包中不包括支持和维护。 所有软件包均可根据用户要求进行定制。
BarCode Pro:
1 位置
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 Pro Suite:
定制位置
LEADTOOLS Pro Suite 是 LEADTOOLS Pro 系列 SDK 中的一个广泛的捆绑包,包括桌面和 HTML5 零脚印图像查看器、条形码检测、解码和创建、高级 PDF 功能(读取、写入、查看和编辑)、150 多种图像格式、图像压缩、图像处理、图像常用对话框、200 多种显示效果、TWAIN、SANE 和 WIA 扫描、屏幕捕获和打印。 使用 LEADTOOLS Pro 套件的开发人员可以开发强大的图像应用程序和解决方案,而成本仅为市场上类似功能集的一小部分。
定价:每年 195 美元起。
IronBarcode Lite许可证包括一个开发者软件包和一年的支持,价格约为LiteLicense
美元,而一个开发者的Leadtools软件包价格为1295美元。IronBarocde Professional许可证包括10个开发包,支持一年,费用为999美元,而Leadtools许可证包括10个开发包,每年费用为12290美元,支持一年的所有更新、主要版本和技术支持,不包括版本和更新,费用为9050.00美元。
IronBarcode Lite和Professional套餐具有SaaS服务或OEM,以及5年支持选项。 Lite License 的**许可证包括一个开发人员软件包,提供五年支持以及 SaaS 和 OEM 服务,价格为 2897 美元,而 Leadtools 还提供 SaaS 或 OEM 服务,以及定制支持选项。 Iron Professional**许可证,包括10个开发人员包,以及五年支持和SaaS及OEM服务,价格为3397美元;而Leadtools许可证,包括10个开发人员包,一年支持和SaaS及OEM服务,价格为12290美元。
IronBarcode 是帮助生成和识别条形码的最强大的库之一。 在生成和识别 BarCode 方面,它也是速度最快的库之一。 该库支持多种操作系统。 它支持多种条形码格式,创建简单。 它还支持多种符号、格式和字符
Leadtools BarCode 也是一个功能强大的库,可以帮助我们生成和识别不同图像格式的条形码。 我们可以使用各种图像格式进行阅读和创作。 Leadtools BarCode 还提供了更改条形码外观的选项,如高度、宽度、条形码文本等。
与 Leadtools 相比,IronBarcode 软件包提供更好的**许可和支持。 Leadtools BarCode 的价格较高 - IronBarcode 的起价为 $749,而 Leadtools Barcode 的起价为每年 1295 美元。 我们的产品不仅比 Leadtools 便宜,而且与 Leadtools BarCode 相比提供了更多的功能。 因此,我们可以清楚地看到,与 Leadtools 相比,IronBarcode 具有明显的优势。
当我们比较识别和生成条形码的处理时间时,IronBarcode 的优势在于比 Leadtools 更快。 IronBarcode 还具有各种属性,不仅可以读取不同图像格式的条形码,还可以读取 PDF 文档中的条形码。 它还允许我们在条形码或 QR 码内添加图片,这是其他任何库都不具备的功能。
那么,您还在等什么呢? 所有用户均可免费试用。 您可以获得 许可证 在此直接开始