C# QR 代码阅读器(逐步教程)
按需生成新的和多样化的条形码是许多商业 .NET 应用程序的关键方面。 与其他第三方选项相比,IronBarcode 库使这一过程非常快速、方便和简单。 本教程旨在说明这是如何做到的。
C# 二维码阅读器教程
- 下载并安装 C# 二维码阅读器库
- 安装NuGet包BarCode
- 在代码中添加引用
- 为静态类
BarcodeReader创建对象实例 - 使用字符串读取条码
- 从图像中读取多个条码
1. 创建新项目
打开 Visual Studio 并转到文件菜单。 选择新项目,然后选择控制台应用程序/Windows 窗体/WPF 应用程序。 条形码也可以在所有类型的应用程序中使用。 此外,您还可以与 Webform/MVC/MVC Core 等应用程序一起使用它们。
配置您的新项目
在 Visual Studio 的适当文本框中输入项目名称并选择文件路径。 接下来,单击创建按钮,并选择所需的 .NET Framework。 项目现在将为所选应用程序生成结构。 如果您选择了控制台应用程序,它现在将打开program.cs文件,您可以在其中输入代码并构建/运行应用程序。
2. 安装 IronBarcode NuGet 包
现在转到 Visual Studio 的解决方案资源管理器并左键单击项目。 从弹出菜单中选择菜单中的NuGet 包管理器,并搜索"Barcode"作为关键词。 在 NuGet 包对话框中选择第一个结果,然后单击安装选项。
从 NuGet 包管理器安装 IronBarcode 库
或者,在 Visual Studio 中执行以下说明:转到工具 > NuGet 包管理器 > 包管理器控制台
打开包管理器控制台选项卡。 输入以下行:
Install-Package IronQR
NuGet 包管理器控制台
访问以下链接以了解条形码阅读器 SDK 的最新版本。
https://www.nuget.org/packages/Barcode
接下来,该包将下载所有 DLL 文件,并在当前项目中添加 DLL 文件的引用作为 .NET 项目引用。
Visual Studio 项目现在已准备好与代码一起使用。
3. 添加引用
如下面所示,将IronBarCode引用添加到代码中,允许在 .NET Core 中使用 IronBarcode 库中可用的功能。 要了解有关条形码阅读器控件、阅读二维码、组件、二维码类型支持以及条形码阅读器 SDK 兼容性的更多信息,请参考此链接:https://ironsoftware.com/csharp/barcode/
using IronBarCode;using IronBarCode;4. 创建条形码实例
BarcodeReader是用于读取/创建二维码的静态类。 使用静态类BarcodeReader无需创建任何对象实例。 条形码阅读器控件提供使用单一功能Read或ReadAsync扫描15种条形码的能力。 IronBarcode 库能够从各种来源读取二维码/条形码:
- 字符串
- 流
- 图像
- Bitmap
5. 使用String读取条形码
使用 .NET 条形码阅读器库可以轻松读取二维码和条形码图像。 Read方法是一个静态函数,将扫描二维码图像并将二维码和条形码解码为文本。 它接受各种类型的图像文件,如位图、PNG文件、JPEG、TIFF等。
此Read函数从图像中提取二维码/条形码数据,并将结果检索为对象BarcodeResult。 如果代码未识别图像文件,它将返回null。
BarcodeResult具有以下值:
- BarcodeType
- Value
- 文本
- 二进制值
BarcodeType是一种枚举数据类型,它返回给定输入图像的条形码类型。 IronBarcode 支持二十二种条形码类型。 它将返回应用于给定输入图像的条形码类型。
Value 和 text 也是BarcodeResult上可用的对象类型值。 Value 和 text都是字符串数据类型。它返回条形码的字符串值。 Read方法将读取二维码和条形码,并将给定条形码图像的字符串值生成至值/文本中。 二进制值是字节数据类型,并返回给定图像的字节。 这是可用于任何 .NET Windows 窗体或 .NET 标准应用程序的快速响应代码。
// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
System.Console.WriteLine("Success");
}// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
System.Console.WriteLine("Success");
}以上代码展示了如何使用 .NET 条形码阅读器库读取二维码和条形码。 该代码使用简单,可以将系统中的文件映射到 Bitmap 对象。 它还会解码图像中的二维码/条形码,并在对象中显示结果。 以下是代码中提供的二维码/条形码,用于扫描编码的数据。
条形码输入
6. 从 TIFF 图像中读取多个条形码
.NET 条形码阅读器控件允许使用相同的Read方法从图像文件中读取多个二维码/条形码,使用起来非常简单。
下面是用于从图像中读取多个二维码的示例代码:
// Configure barcode reader options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.Code128,
ExpectMultipleBarcodes = true,
};
// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);// Configure barcode reader options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.Code128,
ExpectMultipleBarcodes = true,
};
// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);在上面的代码中,从 TIFF 二维码图像中提取二维码。 .NET 条形码阅读器从系统中的图像扫描二维码,并以数组形式返回结果。 在上面的代码中,仅扫描了Code128条形码类型。 如果图像上存在其他条形码,它们将被忽略。
7. 从 PDF 中读取二维码和条形码
本节演示如何从 PDF 文档中读取二维码。 二维码库将扫描所有已提供的页和文件中的所有二维码,或者专注于一种特定类型的条形码。 使用 IronBarcode 时,该库提供标准条形码阅读器所需的所有相关 DLL,因此不需要包含其他 DLL 作为 .NET 项目引用。
以下是可用于从 PDF 中读取二维码/条形码的示例代码。
// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
foreach (PagedBarcodeResult pageRes in pagedResults)
{
int pageNumber = pageRes.PageNumber;
string value = pageRes.Value;
Bitmap img = pageRes.BarcodeImage;
BarcodeEncoding barcodeType = pageRes.BarcodeType;
byte[] binary = pageRes.BinaryValue;
Console.WriteLine(pageRes.Value);
}// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
foreach (PagedBarcodeResult pageRes in pagedResults)
{
int pageNumber = pageRes.PageNumber;
string value = pageRes.Value;
Bitmap img = pageRes.BarcodeImage;
BarcodeEncoding barcodeType = pageRes.BarcodeType;
byte[] binary = pageRes.BinaryValue;
Console.WriteLine(pageRes.Value);
}以上是从 PDF 文件读取二维码/条形码的示例代码,使用一个简单的 ReadPdf 方法。 它还可以为每个条形码及其类型提供详细的结果。
结论
.NET 条形码阅读器提供了一种简单方法,以简单步骤读取二维码或解码/创建二维码和条形码。 IronBarcode DLL 可用于多种环境,如 .NET Windows 窗体应用程序、移动应用程序、Web 应用程序、MAUI 和 Blazor,使用 .NET Framework 或 .NET Standard。 此外,IronBarcode提供了一系列广泛的定制选项来提高条码读取速度,比如裁剪区域或多线程,以及ML模型的准确性。 IronBarcode 提供免费试用密钥,或者您可以目前以买两件产品的价格购买 Iron Software 的五件产品。
访问许可页面以获取更多信息。
您还可以下载压缩文件项目。
常见问题解答
我如何在C#中读取QR码?
您可以通过安装IronBarcode NuGet包在Visual Studio中使用IronQR库来读取QR码,添加必要的引用,并利用BarcodeReader类。
在Visual Studio中启动QR码阅读项目的步骤是什么?
要在Visual Studio中启动QR码阅读项目,请创建一个新项目,安装IronBarcode NuGet包,添加所需的引用,并使用BarcodeReader类从各种来源读取QR码。
我可以从单个图像中读取多个QR码吗?
可以,IronQR库允许您使用配置为多代码的Read方法从单个图像中读取多个QR码。
我如何从PDF文档中提取QR码?
您可以使用IronQR库中的ReadPdf方法扫描PDF文档中的QR码,并从每页获取详细结果。
在C#中可用于QR码阅读的定制选项是什么?
IronQR提供定制选项,如设置裁剪区域、启用多线程和调整机器学习模型的准确性,以增强QR码阅读性能。
IronQR适合商业应用吗?
是的,IronQR是为商业.NET应用程序设计的,提供可靠且高效的QR码阅读功能。
哪些环境支持使用IronQR读取QR码?
IronQR支持多种.NET环境,包括Windows Forms Applications、Mobile Apps、Web Applications、MAUI和Blazor,使用.NET Framework或.NET Standard。
在哪里可以找到使用IronQR的许可信息?
要查找使用IronQR的许可信息,请访问Iron Software网站的许可部分。






