在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
BarCode 是一种机器可读代码,它以线条和空格排列的形式存储各种物品的信息。 BarCode 由一系列用于编码数据的平行条组成。 这些条形码构成了所谓的 "条形码 "或 "条形码符号",可以通过条形码扫描仪读取(扫描仪). 所有 BarCode 都有四个部分:
停止字符
BarCode 是零售环境中识别产品的最有效方式。 每个产品都有一个独一无二的 BarCode,可以用扫描仪扫描,用于库存控制或价格验证。 如今,BarCode 不仅仅是零售环境中识别产品的有效方式,而且已经成为我们日常生活的一个重要方面,因为它们被用来以电子方式存储信息和管理消费者身份。
在本文中,我们将比较两个流行的条形码库:
IronBarcode
这两个库均可用于条形码的生成和识别,为所有 dot NET Framework 提供支持,并允许您保存条形码图像。
我们将通过一个示例来了解如何使用 IronBarcode for .NET 库在 C# .NET 中生成条形码。 我们将看到创建条形码是多么容易,以及如何样式化我们的条形码,然后使用 IronBarocde 将其导出。
打开 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。
Install-Package BarCode
在下面的示例中,我们可以看到,使用 IronBarcode 只需几行代码就可以编写出包含数字或文本内容的条形码。
// Generate a Simple BarCode image and save as PNG
//using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");
// Generate a Simple BarCode image and save as PNG
//using IronBarCode;
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");
// This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png");
' Generate a Simple BarCode image and save as PNG
'using IronBarCode;
Dim MyBarCode As GeneratedBarcode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128)
MyBarCode.SaveAsPng("MyBarCode.png")
' This line opens the image in your default image viewer
System.Diagnostics.Process.Start("MyBarCode.png")
我们首先通过指定条形码的值来创建条形码,我们将使用的条形码格式来自 IronBarCode.BarcodeWriterEncoding 枚举。 然后,我们可以选择保存为图像、System.Drawing.Image 或 Bitmap 对象。 这就是所需的全部代码! 最后一行代码只是为了打开示例中的条形码PNG,以便您亲自查看。
尽管之前的示例很有效,但在实际应用中我们可能希望做得更多。 在以下示例中,我们可以向条形码添加注释,设置字体,在其下方显示其值,添加边距,更改条形码颜色,然后在C#中非常简单地保存它。 如果更适合我们的应用,我们也可以选择导出为 HTML 或 PDF 格式,而不是图片。
//using IronBarCode;
//using System.Drawing;
// Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html");
//using IronBarCode;
//using System.Drawing;
// Styling a QR code and adding annotation text
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode);
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:");
MyBarCode.AddBarcodeValueTextBelowBarcode();
MyBarCode.SetMargins(100);
MyBarCode.ChangeBarCodeColor(Color.Purple);
// Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html");
'using IronBarCode;
'using System.Drawing;
' Styling a QR code and adding annotation text
Dim MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode)
MyBarCode.AddAnnotationTextAboveBarcode("Product URL:")
MyBarCode.AddBarcodeValueTextBelowBarcode()
MyBarCode.SetMargins(100)
MyBarCode.ChangeBarCodeColor(Color.Purple)
' Save as HTML
MyBarCode.SaveAsHtmlFile("MyBarCode.html")
代码应该不言自明,但如果不言自明,我建议您阅读 生成的条形码 类文档中的 API文档.
使用 IronBarcode for .NET 类库,在 .NET 中读取条形码或 QR 码变得异常简单。 .NET 条码阅读器. 在第一个示例中,我们可以看到如何用一行代码读取这个 BarCode。
使用 C# 扫描条形码图像
我们可以提取其值、图像、编码类型、二进制数据(如有)然后我们就可以将其输出到控制台。
using IronBarCode;
using System;
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result !=null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
Console.WriteLine("GetStarted was a success. Read Value: " + Result.Text);
}
using IronBarCode;
using System;
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result !=null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
Console.WriteLine("GetStarted was a success. Read Value: " + Result.Text);
}
Imports IronBarCode
Imports System
Private Result As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png")
If Result IsNot Nothing AndAlso Result.Text = "https://ironsoftware.com/csharp/barcode/" Then
Console.WriteLine("GetStarted was a success. Read Value: " & Result.Text)
End If
我们将在 QuicklyReadOneBarcode 方法中添加 TryHarder 变量。 这就需要付出更多的努力,花费更多的时间,但却要更深入地扫描可能被遮挡、损坏或角度倾斜的二维码。
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode
BarcodeEncoding.Code128 , true);
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode
BarcodeEncoding.Code128 , true);
Dim Result As BarcodeResult = BarcodeReader.QuicklyReadOneBarcode("TryHarderQR.png", BarcodeEncoding.QRCode BarcodeEncoding.Code128, True)
它现在可以读取这个倾斜的 QR 码:
用 C# 扫描旋转 45 度的 QR 码
您将看到,我们可以指定条形码编码(s)我们正在寻找或指定多种格式。 这样做极大地提高了条形码读取的性能和准确性。 管道字符或 "Bitwise OR "用于同时指定多种格式。 如果我们转而使用可视化方法或 BarcodeReader.ReadASingleBarcode 方法组件模式,也可以达到同样的效果,但具体程度更高。
在实际使用案例中,我们可能希望阅读的 BarCode 并不是完美的截图。 译文可能是不完美的图像、扫描件或照片,可能包含数字噪音或有偏差。 如果使用大多数传统的开源 .net 条码生成器和阅读器库,这是不可能实现的。 但是 C# 中的条码阅读器 让翻译变得异常简单明了。 我们将学习 QuicklyReadOneBarcode
的 TryHarder
方法。 这一单一参数会导致 Iron BarCode 尝试从不完善的数字样本中去斜并读取条形码。
我们将设置特定的条形码旋转校正和条形码图像校正,以校正数字噪声,以及我们可以合理预期的手机摄像头的偏斜、透视和旋转。
用 C# 从手机摄像头读取条形码
using IronBarCode;
using System;
using System.Drawing;
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte [] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
using IronBarCode;
using System;
using System.Drawing;
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte [] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
Imports IronBarCode
Imports System
Imports System.Drawing
Private PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels)
Private Value As String = PhotoResult.Value
Private Img As System.Drawing.Bitmap = PhotoResult.BarcodeImage
Private BarcodeType As BarcodeEncoding = PhotoResult.BarcodeType
Private Binary() As Byte = PhotoResult.BinaryValue
Console.WriteLine(PhotoResult.Value)
在最后一个示例中,我们将看到只需一行代码就能创建、样式化和导出条形码。 IronBarcode 实现了一个可选的流畅应用程序接口,类似于 System.NET Framework。 Linq。 通过方法调用与方法调用之间的链式调用,我们首先创建一个 BarCode,然后设置它的边距,再将其单行导出为 Bitmap。这样做非常方便,代码也更容易阅读。
Free Spire.BarCode for .NET 是专为 .NET 开发人员设计的免费专业条码 API(c#、vb.net、asp.net)生成和读取一维和二维 BarCode。 开发人员和程序员可以使用 Spire.BarCode 将企业级条形码格式快速、轻松地添加到他们的 .net 应用程序、asp.net Winforms 和 Web Service 中。 Free Spire.BarCode for .NET 提供了一种非常简单的集成条形码处理的方法。 Spire 创建、读取一维和二维条形码,Spire.BarCode 支持多种常见图像格式,如位图、JPG、PNG、EMF、TIFF、GIF 和 WMF。 它还提供对 QR 代码的支持。
我们首先要做的是安装 Spire 库,为 .NET Framework 添加条形码功能。 我们可以通过使用 NuGet 软件包来做到这一点。 与我们在 IronBarcode 案例中的做法一样,过程也是一样的--按照相同的步骤,只需输入 "Spire barcode "并将软件包添加到项目中即可。
该库提供用于创建 BarCode 图像的方法。 这是一种重载方法。 在这一部分中,我列出了各种方法的定义。 代码中将使用这些方法来测试库的性能
using Spire.Barcode;
using System.Drawing;
namespace QRCode
{
class Program
{
static void Main(string [] args)
{
BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.QRCode;
settings.Data = "Hello world";
settings.Data2D = "Hello 123456789";
settings.QRCodeDataMode = QRCodeDataMode.AlphaNumber;
settings.X = 1.0f;
settings.QRCodeECL = QRCodeECL.H;
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}
using Spire.Barcode;
using System.Drawing;
namespace QRCode
{
class Program
{
static void Main(string [] args)
{
BarcodeSettings settings = new BarcodeSettings();
settings.Type = BarCodeType.QRCode;
settings.Data = "Hello world";
settings.Data2D = "Hello 123456789";
settings.QRCodeDataMode = QRCodeDataMode.AlphaNumber;
settings.X = 1.0f;
settings.QRCodeECL = QRCodeECL.H;
BarCodeGenerator generator = new BarCodeGenerator(settings);
Image image = generator.GenerateImage();
image.Save("QRCode.png");
}
}
}
Imports Spire.Barcode
Imports System.Drawing
Namespace QRCode
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim settings As New BarcodeSettings()
settings.Type = BarCodeType.QRCode
settings.Data = "Hello world"
settings.Data2D = "Hello 123456789"
settings.QRCodeDataMode = QRCodeDataMode.AlphaNumber
settings.X = 1.0F
settings.QRCodeECL = QRCodeECL.H
Dim generator As New BarCodeGenerator(settings)
Dim image As Image = generator.GenerateImage()
image.Save("QRCode.png")
End Sub
End Class
End Namespace
生成的 QR 条形码图像如下。
在 C# 中创建 QR 码
//Generate the barcode based on the this.barCodeControl1
BarCodeGenerator generator = new BarCodeGenerator(this.barCodeControl1);
Image barcode = generator.GenerateImage();
//save the barcode as an image
barcode.Save("barcode.png");
//Generate the barcode based on the this.barCodeControl1
BarCodeGenerator generator = new BarCodeGenerator(this.barCodeControl1);
Image barcode = generator.GenerateImage();
//save the barcode as an image
barcode.Save("barcode.png");
'Generate the barcode based on the this.barCodeControl1
Dim generator As New BarCodeGenerator(Me.barCodeControl1)
Dim barcode As Image = generator.GenerateImage()
'save the barcode as an image
barcode.Save("barcode.png")
本方法中有两个导入类 - BarCodeControl 和 BarCodeGenerator。 BarCodeControl 存储有关条形码的信息。 BarCodeGenerator 是生成条形码图像的类。 它的构造函数只需一个参数--一个 BarCodeControl 实例。 它有一个名为 GenerateImage 的方法()的返回值是用于生成图像的图像对象。
条形码扫描器是扫描条形码图像的类。 使用包含条形码图像的 Bitmap 对象调用其 Scan 方法; 它返回一个字符串[]扫描结果的存储位置。 类 BarcodeScanner 在其代码中扫描条形码图像。 它可以在 VB.NET 和 C# 中存储和添加企业级条形码。
代码如下:
private void btnScan_Click(object sender, EventArgs e)
{
//scan the barcode
string [] datas = Spire.Barcode.BarcodeScanner.Scan("barcode.png");
//show the scan result
this.TextB_ScanResult.Text = datas [0];
}
private void btnScan_Click(object sender, EventArgs e)
{
//scan the barcode
string [] datas = Spire.Barcode.BarcodeScanner.Scan("barcode.png");
//show the scan result
this.TextB_ScanResult.Text = datas [0];
}
Private Sub btnScan_Click(ByVal sender As Object, ByVal e As EventArgs)
'scan the barcode
Dim datas() As String = Spire.Barcode.BarcodeScanner.Scan("barcode.png")
'show the scan result
Me.TextB_ScanResult.Text = datas (0)
End Sub
30 天退款保证:购买许可证后,如果许可证无法使用或 Iron BarCode 不允许使用,您可以在 30 天内退款。
轻松集成:IronPDF 与您的项目和环境的集成非常简单,我们只需在从添加时编写一行代码即可实现 NuGet 软件包如果您想了解更多信息,请访问我们的网站,或者从网上下载,这样我们就可以将其与我们的环境集成在一起。
永久许可:每个许可只需购买一次,无需续订。
免费支持和产品更新:每个 License 都附带一年的免费产品更新和产品背后团队的支持。 可以随时购买扩展。 可查看扩展内容。
即时许可证:收到付款后会立即发送注册许可证密钥。
所有许可证均为永久许可证,适用于开发、暂存和生产。
Lite软件包:
永久许可证
此软件包可让企业中的单个软件开发人员在一个地方使用 Iron Software。 Iron Software 可用于单个网络应用程序、内联网应用程序或桌面软件程序。 许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,不包括 OEM 再分发和 SaaS(如果未购买附加保险)。
定价:起价为每年 $749。
Professional License:
永久许可证
本软件包允许一个组织中预定数量的软件开发人员在单个地点使用 Iron Software,最多不超过 10 人。 Iron Software 可用于任意数量的网站、内网应用程序或桌面软件应用程序。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在未购买额外保险的情况下将 Iron Software 作为 SaaS 使用。 该许可证可与单个项目集成,最多可集成 10 个项目。
定价:每年 999 美元起。
Unlimited License:
永久许可证
这样,企业中数量不限的软件开发人员就可以在无限多的地点使用 Iron Software。 Iron Software 可用于任意数量的网站、内网应用程序或桌面软件应用程序。许可证不可转让,也不能在组织或代理/客户关系之外共享。本许可类型与所有其他许可类型一样,明确排除本协议未明确授予的所有权利,包括 OEM 再分发和在未购买额外保险的情况下将 Iron Software 作为 SaaS 使用。
定价:每年 2999 美元起。
免版税再分发:这允许您将 Iron 软件作为多种不同包装的商业产品的一部分进行发布(无需支付版税)基于基本许可证所涵盖的项目数量。 它还允许在 SaaS 软件服务中部署 Iron Software,以基本许可所涵盖的项目数量为基础。
定价:每年 1599 美元起。
不间断的产品支持和更新:这可以让您获得产品更新、安全功能升级以及我们工程团队的支持。
定价:每年 399 美元起。
在 C# 中创建 QR 码
支持是付费的,所有订阅都是一次性的 只有 OEM 订阅适用于面向公众的网站和基于云的应用程序。
开发人员订阅:
一个部署地点
该软件包授权一名开发人员使用该产品创建不限数量的应用程序,这些应用程序可部署在贵组织的一个地理位置上(仅供内部使用). 它不允许将您的自定义应用程序分发给第三方、面向公众的网站或 SaaS/PaaS/IaaS 项目。
定价:每年 898 美元起。
开发人员 OEM 订阅:
部署地点不受限制
该软件包授权一名开发人员使用该产品创建无限量的自定义应用程序,并允许这些应用程序以任何形式发布到任何数量的地理位置。
定价:每年 3395 美元起。
网站企业订阅:
多达 10 个部署地点
这将授权最多 10 名开发人员创建不限数量的应用程序,并可在最多 10 个地理位置部署。 它不允许将您的自定义应用程序发布到面向公众的网站或 SaaS/PaaS/IaaS 项目。
定价:每年 5301 美元起。
网站 OEM 订阅:
部署地点不受限制
这将授权多达 50 名开发人员使用产品创建数量不限的自定义应用程序,并允许以任何形式向任何数量的地理位置分发这些应用程序。
定价:每年 10187 美元起。
IronBarcode Lite套餐包括一个开发者软件包和一年的支持,价格约为liteLicense
美元,而Spire 开发者OEM订阅包括一个开发者软件包,价格为3394美元。包含所有更新、主要版本和 1 年技术支持,不包含版本和技术支持的价格为 1695 美元。IronPDF 专业套餐包括10个开发人员套餐,以及一年的技术支持,价格为999美元,而Spire Site OEM Subscription包括10个开发人员套餐,价格为10187.00美元/年 附带1年的所有更新、主要版本和技术支持,不含版本和更新,价格为6558.00美元。
IronPDF Lite和Professional套餐均提供 SaaS 服务或 OEM,以及为期五年的支持选项。 Lite 版本包括一个开发人员软件包,支持期为五年,并提供 SaaS 和 OEM 服务,费用为 2897 美元。 Spire 提供 SaaS 服务或 OEM 以及为期一年的支持选项。 IronPDF 专业**版包括一个10名开发人员的套餐,提供五年支持以及SaaS和OEM服务,价格为3397美元;而针对10名开发人员的Spire套餐,提供一年支持以及SaaS和OEM服务,价格为10187.00美元。
IronBarcode 用于生成企业级条形码图像的条形码格式。 它还能让开发人员旋转条形码图像,以及创建条形码图像边框,进一步协助格式化条形码图像。 与其他生成器相比,IronBarcode 可提供可靠的条码生成功能,并可生成高质量的条码图像。 总之,我们可以通过 IronBarcode 得到我们想要的输出图像格式。 IronBarcode 生成的条形码图像最好,因为我们只需一行代码即可创建、样式化和导出条形码。 BarCode 开发人员可轻松与其他 net 应用程序集成,并提供不同的条形码类型,它可以轻松识别条形码和邮政条形码。 该库的组件模式也更加高效--每种组件模式都能让开发人员生成不同风格和不同格式的 BarCode。 代码非常简单,只有一行。识别组件和识别功能在 IronBarcode 中更好。 API 模式使其比其他生成器更可靠。
Spire.BarCode for .NET 提供了一种集成条形码处理的方法。 只需一行代码,我们就能创建条形码并读取一维和二维条形码。 Spire.BarCode 支持多种常见图像格式,如 Bitmap、JPG、PNG、EMF、TIFF、GIF 和 WMF。 因此,我们可以创建条形码图像,条形码图像开发人员只需几行代码即可轻松添加条形码生成并制作条形码。
与 Spire.BarCode 相比,IronBarcode 软件包提供更好的许可证和支持,而 Spire 价格更贵。IronBarcode 的起价为 $749,而 Spire.Barcode 的起价为 898 美元,因此 IronBarcode 显然比 Spire 更具成本效益。IronBarcode 还比 Spire.Barcode 提供更多的功能。 它还提供更好的支持和退款保证,而 Spire 则没有。 IronBarcode 提供长期支持,可与 API 模式的 .NET 应用程序轻松集成。 易于与新文档集成(C、VB.NET 和 C#), 而且它还能生成多个代码的 BarCode。
那么,您还在等什么呢? 获取免费试用版! 您可以获得 许可证 在此直接开始。