使用IRONQR

C# QR码读取器(逐步教程)

发布 2022年二月23日
分享:

按需生成新的各种条形码是许多商业 .NET 应用程序的一个重要方面。 与其他第三方方案相比,IronBarcode 库使这项工作变得非常快速、方便和简单。 本教程旨在说明如何做到这一点。

1.创建新项目

打开 Visual Studio,进入文件菜单。 选择新项目,然后选择控制台应用程序/Windows 窗体/WPF 应用程序。 BarCode 也可用于各类应用程序。 此外,您还可以在 Webform/MVC/MVC Core 等应用程序中使用它们。

C# QR 码阅读器(逐步教程),图 1:配置新项目

配置您的新项目

在 Visual Studio 的相应文本框中输入项目名称并选择文件路径。 接下来,单击创建按钮,同时选择所需的 .NET Framework。 现在,项目将为所选应用程序生成结构。 如果您选择了控制台应用程序,现在将打开 "program.cs "文件,您可以在其中输入代码并构建/运行应用程序。

2.安装 IronBarcode NuGet 软件包

现在进入 Visual Studio 的解决方案资源管理器,左键单击该项目。 从弹出菜单中选择 NuGet软件包管理器,然后搜索 "Barcode "作为关键词。 在 NuGet 软件包对话框中选择第一个结果,然后单击安装选项。

C# QR 码阅读器(逐步教程),图 2:从 NuGet 包管理器安装 IronBarcode 库

从 NuGet 软件包管理器安装 IronBarcode 库

或者,在 Visual Studio 中按照以下说明进行操作: 转到 工具 > NuGet软件包管理器 > 软件包管理器控制台

打开 "软件包管理器控制台"选项卡。 请键入以下一行:

Install-Package IronQR

C# QR 码阅读器(逐步教程),图 3:NuGet 软件包管理器控制台

NuGet 软件包管理器控制台

请转至以下链接,了解有关 BarCode Reader SDK 最新版本的更多信息。

https://www.nuget.org/packages/barcode

接下来,软件包将下载所有 DLL 文件,并在当前项目中添加 DLL 文件的引用作为 .NET 项目引用。

Visual Studio 项目现在可以在代码中使用了。

3.添加参考资料

如下所示,在代码中添加 IronBarCode 引用,允许使用 .NET Core 中 IronBarcode 库中的可用函数。 要了解有关条码阅读器控件、读取 QR 代码、组件、QR 代码类型支持以及条码阅读器 SDK 兼容性的更多信息,请参阅此链接:https://ironsoftware.com/csharp/barcode/

using IronBarcCode;

4.创建 BarCode 实例

条码阅读器是用于读取/创建二维码的静态类。 使用时无需为静态类 BarcodeReader 创建任何对象实例。 条形码阅读器控件可使用单一功能扫描 15 种类型的条形码阅读读取同步. IronBarcode 库可以读取各种来源的 QR 码/条形码:

  • 字符串
  • 图像
  • 位图

5.使用 String 阅读 BarCode

使用 .NET 条码阅读器库可以轻松读取 QR 码和条码图像。 Read "方法是一个静态函数,将扫描二维码图像并将二维码和条形码解码为文本。 它接受各种类型的图像文件,如位图、PNG 文件、JPEG、TIFF 等。

Read 函数从图像中提取 QR 码/条形码数据,并以对象 BarcodeResult 的形式检索结果。 如果代码无法识别图像文件,将返回空值。

"(《世界人权宣言》)条码结果具有以下值:

  • 条形码类型
  • 价值
  • 文本
  • 二进制值

    BarCodeType` 是一种枚举数据类型,它返回给定输入图像的条形码类型。 IronBarcode 支持 22 种条码类型。 它将返回适用于给定输入图像的条形码类型。

    Value 和 text 也是 BarcodeResult 上可用的对象类型值。 值和文本都是字符串数据类型。这将返回 BarCode 的字符串值。 Read 方法将读取 QR 码和条形码,并将给定条形码图像的字符串值转换为数值/文本。 二进制值是字节数据类型,返回给定图像的字节数。 以下是快速反应代码,可以复制编码到任何 .NET Windows Forms 或 .NET Standard 应用程序中。

BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
Dim result As BarcodeResult = BarcodeReader.Read("test.bmp")
' Assert that IronBarCode Works :-)
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success")
End If
VB   C#

上面的代码演示了如何使用 .NET 条码阅读器库读取 QR 码和条码。 代码简单易用,可将系统中的文件映射到 Bitmap 对象。 它还能从图像中解码 QR 码/Barcode,并将结果显示在对象中。 以下是代码中提供的 QR 码/Barcode,扫描即可获得编码数据。

C# QR 码阅读器(逐步教程),图 4:条形码输入

BarCode 输入

6.从 TIFF 图像中读取多个 BarCode

.NET条形码阅读器控件允许使用相同的 "Read "方法从图像文件中读取多个QR码/条形码,使用非常方便。

以下是从图片中读取多个二维码的示例代码:

// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
' Configure options
Dim options As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.Code128,
	.ExpectMultipleBarcodes = True
}

Dim multiFrameResults() As BarcodeResult = BarcodeReader.Read("Multiframe.tiff", options)
VB   C#

在上述代码中,二维码是从 TIFF 二维码图像中提取的。 .NET条形码阅读器可扫描系统图像中的二维码,并将结果以数组形式返回。 在上述代码中,BarCode 的条形码为代码 128是唯一被扫描的类型。 如果图像上有任何其他 BarCode,它们将被忽略。

7.从 PDF 阅读 QR 码和 BarCode

本节演示如何从 PDF 文档中读取 QR 码。 QR 代码库将扫描所有可用页面和文件中的所有可用 QR 代码,或者专注于一种特定类型的 BarCode。 使用 IronBarcode 时,该库提供了标准条码阅读器所需的所有相关 DLL,因此无需包含任何其他 DLL 作为 .NET 项目参考。

以下是复制代码示例,可用于从 PDF 中读取 QR 码/Barcode。

PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
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);
}
PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
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);
}
Dim pagedResults() As PagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results
For Each pageRes As PagedBarcodeResult In pagedResults
	Dim pageNumber As Integer = pageRes.PageNumber
	Dim value As String = pageRes.Value
	Dim img As Bitmap = pageRes.BarcodeImage
	Dim barcodeType As BarcodeEncoding = pageRes.BarcodeType
	Dim binary() As Byte = pageRes.BinaryValue
	Console.WriteLine(pageRes.Value)
Next pageRes
VB   C#

以上是读取 PDF 文件中二维码/条形码的示例代码,只需通过简单的阅读 PDF方法。 还可以提供每个 BarCode 及其类型的详细结果。

结论

.NET BarCode 阅读器提供了一种简单易行的方法,可通过简单的步骤读取 QR 码或解码/创建 QR 码和 BarCode。 IronBarcode DLL 可用于各种环境,如 .NET Windows Forms 应用程序、移动应用程序和 Web 应用程序、毛伊岛Blazor使用 .NET Framework 或 .NET Standard。 此外,IronBarcode 还提供多种自定义选项,以提高条码读取速度,例如作物区多线程ML 模型的准确性. IronBarcode 提供免费试用密钥,或者您目前只需花两个月的价格就可以从 Iron Software 购买五个产品。

参观许可页面了解更多信息。

您还可以下载压缩文件项目.

< 前一页
如何在VB .NET中创建二维码

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 22,660 查看许可证 >