使用 IRONBARCODE

如何在Blazor中生成QR碼

喬迪·巴迪亞
喬迪·巴迪亞
2023年6月6日
分享:

本文介紹開發者如何使用IronBarcode庫在C#項目中製作QR Code。

IronBarcode - C

IronBarcode 是一個 C# 條碼和 QR 碼庫,允許您在任何 .NET C# 應用程式中輕鬆讀取和生成條碼和 QR 碼。 它優先考量速度、準確性和易於使用 C#。

IronBarcode 是一個使用者友好的函式庫,允許開發人員在 C# 專案中輕鬆地添加、讀取和設計 QR 碼,通常只需幾分鐘。 它讓開發者能夠以 Aztec、Data Matrix、MaxiCode 等格式生成 QR 碼。 使用 IronBarcode 可以使用不同的條碼類型,例如代碼39、代碼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# 創建 QR 碼,我們需要以下元件:

  1. Visual Studio - 它是一個用於 C# 開發的整合開發環境(IDE)。 可以從Visual Studio 網站下載。 或者您可以使用任何其他支援 C# 的 IDE。

  2. Blazor 伺服器應用程式: 建立 Blazor 伺服器應用程式是主要的任務。 按照以下步驟創建一個 Blazor 伺服器 Web 應用程式。

    • 打開你的IDE或Visual Studio。 點擊建立新專案。

    如何在 Blazor 中生成 QR Code:圖 1

    • 從可用的專案選項中選擇 Blazor Server App。

    如何在 Blazor 中生成 QR 碼:圖 2

    • 接下來,設置位置並命名您的專案。

    如何在Blazor中生成QR碼:圖3

    • 接下來,為您的專案設定其他資訊。 選擇適當的 .NET Framework 版本。 IronBarcode 支援 .NET 版本 2 到 7,其中 .NET 7 是最新的版本。

    如何在 Blazor 中生成 QR 碼:圖 4

  3. IronBarcode - 這是一個 .NET 的 QR Code 和條碼庫,幫助生成和閱讀不同類型的條碼。以下是安裝 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中生成QR碼:圖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 Code 的步驟

以下步驟將幫助在 Blazor Server 應用程式中以最佳方式生成 QR 碼

新增 Blazor HTML 元件

首先,我們將在 "Index.razor" 頁面中添加一些 HTML 程式碼。 該代碼包括一些標題、輸入字段和按鈕。

使用以下程式碼將元件添加到Blazor條碼應用程式:

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中生成QR碼:圖6

文本欄位用於從使用者獲取輸入,生成按鈕將調用onclick方法來創建QR碼。 生成的 QR 碼將顯示在「生成的 QR 碼:」標題下。 現在,讓我們創建QRCodeGenerater方法。

建立QrCodeGenerator 方法

是時候在 Visual Studio 中使用強大的 IronBarcode 庫來生成 QR 碼了。 @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 方法提供多個參數來增強代碼輸出。 您可以自訂QR碼的大小,設置錯誤更正碼字來維持錯誤更正水平,並更改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 伺服器應用程式首頁顯示

在 H4 標題後,在 "Index.razor" 頁面的 HTML 組件中添加以下代碼以顯示 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 碼

您也可以在頁面加載時創建 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中生成QR碼:圖8

摘要

在本文中,我們學習了如何使用IronBarcode在Blazor Server應用程式中以C#生成QR碼。 IronBarcode 是一個靈活的庫,並為 Blazor 應用提供所有必要的方法和支持。

IronBarcode 輕鬆將純文字、圖片、影片或任何其他數據轉換為 QR 碼。 您可以控制代碼大小、錯誤更正等級及其版本。 您可以使用IronBarcode來掃描Blazor應用程式中的條碼。 完整的範例在這裡

IronBarcode 允許免費用於開發,但必須獲得授權以便商業及部署使用。 您可以嘗試使用免費試用版以測試其所有功能。

喬迪·巴迪亞
軟體工程師
Jordi 最擅長 Python、C# 和 C++,當他不在 Iron Software 發揮技能時,他會進行遊戲編程。他負責產品測試、產品開發和研究,為持續產品改進增添了巨大的價值。多樣化的經驗使他感到挑戰和投入,他說這是與 Iron Software 合作的最喜歡的方面之一。Jordi 在佛羅里達州邁阿密長大,並在佛羅里達大學學習計算機科學和統計學。
< 上一頁
如何在 ASP.NET MVC 中生成 QR 碼
下一個 >
如何在 .NET MAUI 中生成 QR Code