使用IRONBARCODE

如何在Blazor中生成二维码

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2023年六月6日
分享:

本文介绍了开发人员如何使用 IronBarcode 库在 C# 项目中制作二维码。

IronBarcode - C#

IronBarcode 是一个C#条形码和二维码库,可以让您在任何 .NET C# 应用程序中轻松读取和生成条形码和二维码。 它优先考虑 C# 的速度、准确性和易用性;

IronBarcode 是一个用户友好型库,允许开发人员在 C# 项目中轻松添加、读取和样式化 QR 代码,通常在几分钟内即可完成。 它使开发人员能够创建 Aztec、Data Matrix 和 MaxiCode 等格式的二维码。 使用 IronBarcode 可获得不同的条形码类型,如 Code 39、Code 128、RSS14 等。

IronBarcode 兼容所有 .NET Framework 语言,即 C#、F# 和 VB.NET。 它支持下列所有 .NET 平台:

  • .NET 7、6 和 5
  • .NET Core 2x 和 3x
  • .NET Standard 2
  • .NET Framework 4.6.2+

如何在 Blazor 服务器应用程序中生成 QR 码?

先决条件

要在 Blazor 网络应用程序中用 C# 创建二维码,我们需要以下组件:

  1. Visual Studio - 它是一个用于C#开发的集成开发环境(IDE)。 可以从Visual Studio 网站下载。 或者您也可以使用 C# 支持的任何其他集成开发环境;

  2. Blazor 服务器应用:创建 Blazor 服务器应用是主要任务。 按照下面给出的步骤创建 Blazor 服务器网络应用程序。

    • 打开您的集成开发环境或 Visual Studio。 单击创建新项目。

    如何在Blazor中生成QR码:图1

    • 从可用的项目选项中选择 Blazor Server App。

    如何在Blazor中生成二维码:图2

    • 接下来,设置位置并命名您的项目。

    如何在Blazor中生成QR代码:图3

    • 接下来,为您的项目设置附加信息。 选择合适的 .NET Framework 版本。 IronBarcode for .NET 支持 .NET 2 至 7 版本,其中 .NET 7 为最新版本。

    如何在Blazor中生成QR码:图4

  3. IronBarcode - 这款 .NET QR 码和条形码库能够帮助生成和读取不同类型的条形码。以下是安装 IronBarcode 的不同方法:

  4. 直接从NuGet 网站下载 IronBarcode。

  5. 通过 Visual Studio 工具中的管理解决方案的 NuGet 包或右键单击解决方案资源管理器选择 NuGet 包管理器进行安装。

  6. 从Iron Software网站直接下载IronBarcode DLL

添加 IronBarcode 命名空间

一切安装准备就绪后,将以下程序集引用添加到您的 Blazor 条码应用程序的 "Imports.razor "文件中:

@using IronBarCode
@using IronBarCode
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@using IronBarCode
$vbLabelText   $csharpLabel

在 Blazor 中生成二维码的方法:图5

添加许可证密钥

IronBarcode 必须获得许可才能用于部署。 您可以从这里获取您的免费试用许可证密钥。 在 Program.cs 文件中添加以下代码行:

using IronBarCode;
License.LicenseKey = "YOUR-KEY-HERE";
using IronBarCode;
License.LicenseKey = "YOUR-KEY-HERE";
Imports IronBarCode
License.LicenseKey = "YOUR-KEY-HERE"
$vbLabelText   $csharpLabel

生成 QR 代码的步骤

以下步骤将帮助在Blazor服务器应用程序中以最佳方式生成QR码

添加 Blazor HTML 组件

首先,我们要在 "Index.razor "页面上添加一些 HTML 代码。 代码包括一些标题、输入框和按钮。

使用下面的代码将组件添加到 Blazor BarCode 应用程序中:

Welcome to Blazor QR Code Generator
Enter the value to Generate QR Code:

Generate QR Code
Generated QR Code:
Welcome to Blazor QR Code Generator
Enter the value to Generate QR Code:

Generate QR Code
Generated QR Code:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Welcome @to Blazor QR Code Generator Enter the value @to Generate QR Code: Generate QR Code Generated QR Code:
$vbLabelText   $csharpLabel

输出结果如下

如何在Blazor中生成二维码:图6

文本字段用于获取用户输入,生成按钮将调用onclick方法来创建二维码。 创建的 QR 代码将显示在 "生成的 QR 代码:"标题下。 现在,让我们创建QRCodeGenerater方法。

创建QrCodeGenerator方法

是时候使用 Visual Studio 中功能强大的 IronBarcode 库来生成二维码了。 将@code部分添加到“Index.razor”页面。 让我们先看看下面的完整代码:

@code {
    private string qrCode = "";
    private string text = "";

    private void QRCodeGenerator()
    {
        GeneratedBarcode myQRCode = QRCodeWriter.CreateQrCode(text);
        qrCode = Convert.ToString(myQRCode.ToHtmlTag());
    }
}
@code {
    private string qrCode = "";
    private string text = "";

    private void QRCodeGenerator()
    {
        GeneratedBarcode myQRCode = QRCodeWriter.CreateQrCode(text);
        qrCode = Convert.ToString(myQRCode.ToHtmlTag());
    }
}
code
If True Then
	private String qrCode = ""
	private String text = ""

'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	private void QRCodeGenerator()
'	{
'		GeneratedBarcode myQRCode = QRCodeWriter.CreateQrCode(text);
'		qrCode = Convert.ToString(myQRCode.ToHtmlTag());
'	}
End If
$vbLabelText   $csharpLabel

在上述代码中,有两个私有字符串变量。 qrCode将显示生成的QR码,text将从输入字段获取用户输入。 然后,在QRCodeGenerator方法中,使用QRCodeWriter类的CreateQrCode方法创建myQRCodeCreateQrCode 方法提供多个参数来增强代码输出。 您可以自定义二维码的大小,设置纠错码字以维持纠错级别,并更改QrVersion。 下面的代码还可以帮助您使用其他参数:

QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.High, 0)
QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.High, 0)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.High, 0)
$vbLabelText   $csharpLabel

最后,生成的Blazor条形码被转换为HTML标签,然后转换为qrCode字符串。

在此代码示例页面获取有关IronBarcode功能的更多详细信息。

显示在 Blazor 服务器应用程序主页上

在 "Index.razor" 页面的 HTML 组件中的 H4 标题之后添加以下代码,以显示qrCode

@((MarkupString)qrCode)
@((MarkupString)qrCode)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'@((MarkupString)qrCode)
$vbLabelText   $csharpLabel

保存为 PNG 文件

您还可以使用SaveAsPng方法将其保存为PNG文件:

myQRCode.SaveAsPng("myQRCode.png");
myQRCode.SaveAsPng("myQRCode.png");
myQRCode.SaveAsPng("myQRCode.png")
$vbLabelText   $csharpLabel

在 Blazor 中生成 QR 码的方法:图 7

在页面加载时生成 QR 代码

您还可以在页面加载时创建一个二维码,并显示出来供用户扫描获取数据。 下面的代码可以帮助您异步完成这项任务:

@((MarkupString)qrCode)

@code {
    private string qrCode = "";
    protected override async Task OnInitializedAsync()
    {
        await Task.Run(() => qrCode = Convert.ToString(QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.High, 0).ToHtmlTag()));
    }
}
@((MarkupString)qrCode)

@code {
    private string qrCode = "";
    protected override async Task OnInitializedAsync()
    {
        await Task.Run(() => qrCode = Convert.ToString(QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.High, 0).ToHtmlTag()));
    }
}
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: @((MarkupString)qrCode) @code
Private Sub New(ByVal qrCode As (MarkupString))
	private String qrCode = ""
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'	protected override async Task OnInitializedAsync()
'	{
'		await Task.Run(() => qrCode = Convert.ToString(QRCodeWriter.CreateQrCode("https://ironsoftware.com/csharp/barcode/", 500, QRCodeWriter.QrErrorCorrectionLevel.High, 0).ToHtmlTag()));
'	}
End Sub
$vbLabelText   $csharpLabel

如何在Blazor中生成二维码:图8

摘要

在本文中,我们学习了如何在 Blazor Server 应用程序中使用 IronBarcode in C# 生成二维码。 IronBarcode 是一个灵活的库,为 Blazor 应用程序提供所有必要的方法和支持。

IronBarcode 可轻松将纯文本、图像、视频或任何其他数据转换为 QR 码。 您可以控制代码大小、纠错级别及其版本。 您可以在 Blazor 应用程序中使用 IronBarcode 扫描条形码。 完整示例在此处

IronBarcode 在开发过程中是免费的,但出于商业和部署目的,必须获得许可。 您可以尝试免费试用来测试所有功能。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
如何在ASP.NET MVC中生成QR码
下一步 >
如何在 .NET MAUI 中生成 QR 码