跳至頁尾內容
使用IRONBARCODE

如何在Blazor中生成QR碼

本文介紹開發人員如何使用IronBarcode程式庫在C#專案中製作QR碼。

IronBarcode - C

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

IronBarcode是一個使用者友好的程式庫,讓開發人員能夠輕鬆在C#專案中新增、讀取和樣式化QR碼,通常只需幾分鐘。 它能讓開發人員建立各種格式的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 Server Application中生成QR碼?

先決條件

要在Blazor網頁應用程式中使用C#生成QR碼,我們需要以下組件:

  1. Visual Studio——這是一個用於C#開發的整合開發環境(IDE)。 可以從Visual Studio網站下載。 或者您可以使用任何其他支援C#的IDE
  2. Blazor伺服器應用程式:建立Blazor伺服器應用程式是主要任務。 按照以下步驟建立Blazor伺服器網頁應用程式。

    • 開啟您的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網站下載IronBarcode DLL

新增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碼的步驟

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

新增Blazor HTML元件

首先,我們將在'Index.razor'頁面上新增一些HTML程式碼。 程式碼包括一些標題、輸入欄位和按鈕。

使用以下程式碼新增Blazor條碼應用程式的元件:

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

<input @bind="text" />

<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 @bind="text" />

<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());
    }
}

在以上程式碼中,有兩個私有字串變數。 text將從輸入字段中獲取使用者輸入。 然後,在myQRCodeCreateQrCode方法提供了多種參數來增強程式碼輸出。 您可以自訂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伺服器應用程式首頁上顯示

在'Index.razor'頁面中的HTML元件中,在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

總結

在本文章中,我們學習了如何在Blazor伺服器應用程式中使用IronBarcode在C#中生成QR碼。 IronBarcode是一個靈活的程式庫,提供所有Blazor應用所需的方法和支援。

IronBarcode可以輕鬆地將純文字、圖像、影片或任何其他資料轉換成QR碼。 您可以控制程式碼大小、錯誤校正級別及其版本。 您可以使用IronBarcode在Blazor應用程式中掃描條碼。 完整的實例在這裡

IronBarcode免費用於開發,但必須授權用於商業和部署目的。 您可以嘗試免費試用版來測試其所有功能。

常見問題

如何在Blazor應用程式中使用C#生成QR碼?

您可以使用IronBarcode程式庫在Blazor應用程式中生成QR碼。通過NuGet安裝IronBarcode或下載DLL,然後使用QRCodeGenerater方法將使用者輸入轉換為QR碼。

在Blazor Server App中安裝QR碼生成程式庫的步驟是什麼?

要在Blazor Server App中安裝QR碼生成程式庫,從NuGet下載IronBarcode,將@using IronBarCode命名空間新增到您的Imports.razor檔案中,並在必要時設置授權金鑰。

如何自訂在Blazor專案中生成的QR碼?

IronBarcode允許通過修改顏色、邊距和大小等元素來自訂Blazor專案中的QR碼。在生成QR碼時使用IronBarcode的方法來調整這些屬性。

哪種方法可以將生成的QR碼保存為圖像檔案?

使用IronBarcode程式庫中的SaveAsPng方法將生成的QR碼保存為Blazor應用程式中的PNG圖像檔案。

如何在Blazor應用程式中顯示QR碼?

可以通過將QR碼轉換為HTML標籤字串並使用MarkupString在頁面上渲染QR碼來在Blazor應用程式中顯示。

在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+。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話