跳至页脚内容
USING IRONBARCODE

How to Generate QR Code in Blazor

本文展示了开发人员如何使用IronBarcode库在C#项目中制作QR码。

class="hsg-featured-snippet">

如何在Blazor中生成QR码

  1. 下载一个用于在Blazor中生成QR码的C#库
  2. 使用CreateQrCode方法创建QR码
  3. 将生成的QR码转换为HTML标签字符串
  4. 将信息传递给razor文件中的MarkupString
  5. 使用SaveAsPng方法将生成的QR码保存为PNG图像

IronBarcode - C#

IronBarcode是一个C#条形码和QR码库,允许您轻松地在任何.NET C#应用程序中读取和生成条形码和QR码。 它优先考虑速度、准确性和易用性。

IronBarcode是一个用户友好的库,允许开发人员在C#项目中轻松添加、读取和样式化QR码,通常只需几分钟。 它使开发人员能够以Aztec、Data Matrix、MaxiCode等格式创建QR码。 使用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码?

前提条件

要在C#的Blazor网络应用中创建QR码,我们需要以下组件:

  1. Visual Studio - 它是用于C#开发的集成开发环境(IDE)。 可以从Visual Studio网站下载。 或者您可以使用任何其他支持C#的IDE。
  2. Blazor服务器应用:创建Blazor服务器应用是主要任务。 遵循下面给出的步骤来创建Blazor服务器Web应用程序。

    • 打开您的IDE或Visual Studio。 点击新建项目。

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

    • 从可用的项目选项中选择Blazor服务器应用。

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

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

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

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

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

  3. IronBarcode - .NET QR码和条形码库,帮助生成和读取不同的条形码类型。以下是安装IronBarcode的不同方法:
    • NuGet网站直接下载IronBarcode。
    • 通过Visual Studio工具中的管理NuGet包为解决方案安装,或右键点击解决方案资源管理器选择NuGet包管理器。
    • 从Iron Software网站直接下载IronBarcodeDLL

添加IronBarcode命名空间

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

@using IronBarCode

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

添加许可证密钥

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

using IronBarCode;

// Set the license key for IronBarcode here.
License.LicenseKey = "YOUR-KEY-HERE";
using IronBarCode;

// Set the license key for IronBarcode here.
License.LicenseKey = "YOUR-KEY-HERE";
Imports IronBarCode

' Set the license key for IronBarcode here.
License.LicenseKey = "YOUR-KEY-HERE"
$vbLabelText   $csharpLabel

生成QR码的步骤

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

添加Blazor HTML组件

首先,我们将在"Index.razor"页面中添加一些HTML代码。 该代码由一些标题、一个输入字段和按钮组成。

使用下面的代码将组件添加到Blazor条形码应用中:

<h4>Welcome to Blazor QR Code Generator</h4>
<p>Enter the value to Generate QR Code:</p>

<!-- Input field for QR code text -->
<input @bind="text" />

<!-- Button to trigger QR code generation -->
<button @onclick="QRCodeGenerater">Generate QR Code</button>

<p>Generated QR Code:</p>
<h4>Welcome to Blazor QR Code Generator</h4>
<p>Enter the value to Generate QR Code:</p>

<!-- Input field for QR code text -->
<input @bind="text" />

<!-- Button to trigger QR code generation -->
<button @onclick="QRCodeGenerater">Generate QR Code</button>

<p>Generated QR Code:</p>
HTML

译文如下:

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

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

创建QRCodeGenerater方法

现在是用Visual Studio中的强大IronBarcode库生成QR码的时候了。 @code部分添加到了"Index.razor"页面中。 首先让我们看看下面的完整代码:

@code {
    // Variable to hold the generated QR code HTML
    private string qrCode = "";

    // Variable to hold user input text
    private string text = "";

    // Method to generate QR code from user input
    private void QRCodeGenerater()
    {
        // Create a QR code from the input text
        GeneratedBarcode myQRCode = QRCodeWriter.CreateQrCode(text);

        // Convert the generated QR code to HTML tag
        qrCode = Convert.ToString(myQRCode.ToHtmlTag());
    }
}

在上述代码中,有两个私有字符串变量。 qrCode将显示生成的QR码,而text将从输入字段获得用户输入。 然后,在QRCodeGenerater方法中,myQRCode是使用QRCodeWriter类的CreateQrCode方法创建的。 CreateQrCode方法提供了几个参数来增强代码输出。 您可以自定义QR码的大小,设置纠错编码字来保持错误纠正级别,并更改QrVersion。 下面的代码帮助您处理其他参数:

// Creating a QR code with custom parameters
QRCodeWriter.CreateQrCode(
    "https://ironsoftware.com/csharp/barcode/", // URL for the QR code
    500, // Size of the QR code
    QRCodeWriter.QrErrorCorrectionLevel.High, // Error correction level
    0 // QrVersion
)
// Creating a QR code with custom parameters
QRCodeWriter.CreateQrCode(
    "https://ironsoftware.com/csharp/barcode/", // URL for the QR code
    500, // Size of the QR code
    QRCodeWriter.QrErrorCorrectionLevel.High, // Error correction level
    0 // QrVersion
)
' Creating a QR code with custom parameters
'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服务器应用程序主页显示

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

@((MarkupString)qrCode)

保存为PNG文件

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

// Save the generated QR code as a PNG file
myQRCode.SaveAsPng("myQRCode.png");
// Save the generated QR code as a PNG file
myQRCode.SaveAsPng("myQRCode.png");
' Save the generated QR code as a PNG file
myQRCode.SaveAsPng("myQRCode.png")
$vbLabelText   $csharpLabel

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

在页面加载时生成QR码

您还可以在页面加载时创建QR码并以供用户扫描数据。 以下代码帮助您异步实现此任务:

@((MarkupString)qrCode)

@code {
    // Variable to hold the generated QR code HTML
    private string qrCode = "";

    // Method called when the page is initialized
    protected override async Task OnInitializedAsync()
    {
        // Asynchronously generate a QR code on page load
        await Task.Run(() =>
            qrCode = Convert.ToString(QRCodeWriter.CreateQrCode(
                "https://ironsoftware.com/csharp/barcode/", 
                500, 
                QRCodeWriter.QrErrorCorrectionLevel.High, 
                0).ToHtmlTag())
        );
    }
}

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

摘要

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

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

IronBarcode是免费供开发使用的,但必须获得许可用于商业和部署目的。 您可以尝试免费试用以测试其所有功能。

常见问题解答

如何在 Blazor 应用程序中使用 C# 生成 QR 码?

您可以通过使用 IronBarcode 库在 Blazor 应用程序中生成 QR 码。通过 NuGet 安装 IronBarcode 或下载 DLL,然后使用 QRCodeGenerater 方法将用户输入转换为 QR 码。

在 Blazor 服务器应用中安装 QR 码生成库的步骤是什么?

要在 Blazor 服务器应用中安装 QR 码生成库,请从 NuGet 下载 IronBarcode,在您的 Imports.razor 文件中添加 @using IronBarCode 命名空间,并在必要时设置许可证密钥。

如何在 Blazor 项目中自定义生成的 QR 码?

IronBarcode 允许通过修改颜色、边距和大小等元素在 Blazor 项目中自定义 QR 码。在生成 QR 码时,使用 IronBarcode 的方法来调整这些属性。

可以使用什么方法将生成的 QR 码保存为图像文件?

使用 IronBarcode 库中的 SaveAsPng 方法,将生成的 QR 码保存为 Blazor 应用程序中的 PNG 图像文件。

如何在 Blazor 应用程序中显示 QR 码?

在 Blazor 应用程序中,可以将 QR 码转换为 HTML 标签字符串,并使用 MarkupString 在页面上渲染 QR 码。

在 Blazor 页面加载时可以生成 QR 码吗?

是的,您可以通过在 OnInitializedAsync 生命周期事件中利用异步方法,在 Blazor 页面加载时生成 QR 码。

在 .NET 应用程序中使用 QR 码库的许可要求是什么?

IronBarcode 在开发中是免费的,但部署需要商业许可证。测试时可获取试用许可证。

IronBarcode 可以与不同的 .NET 平台一起用于生成 QR 码吗?

是的,IronBarcode 兼容广泛的 .NET 平台,包括 .NET 7、.NET 6、.NET 5、.NET Core 2x & 3x、.NET Standard 2 和 .NET Framework 4.6.2+。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。