IRONSOFTWAREHOME
使用IRONBARCODE

如何在ASP.NET MVC中生成QR碼

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

在今日快速變化的數位環境中,生成QR碼已成為有效資訊共享的重要工具。 這些緊湊型的二維條碼能夠儲存包含URL、文字、聯繫資訊、產品詳情等大量資料,在現代通訊中扮演著關鍵角色。 將QR碼生成功能整合到您的ASP.NET MVC應用程式中,能讓使用者輕鬆生成QR碼,提升使用體驗、簡化互動和促進無縫的資訊交換。

如果您正在開發ASP.NET MVC應用程式並希望整合QR碼生成功能,IronBarcode是一個出色的程式庫,可以簡化這一過程。 在這篇文章中,我們將探討如何使用IronBarcode程式庫在ASP.NET MVC中生成QR碼。

IronBarcode

IronBarcode是.NET應用程式中一個功能強大且豐富的QR碼生成和識別程式庫。 使用IronBarcode,開發者可以輕鬆地將條碼和QR碼功能整合到他們的ASP.NET MVC專案中,包含生成QR碼的功能。 這個程式庫提供了一套綜合的工具和API,簡化了建立和自訂QR碼的過程,允許開發者根據他們的具體需求進行調整。

IronBarcode為各種條碼型別提供了廣泛支援,包括QR碼,使其成為需要QR碼生成功能的專案的理想選擇。 它為開發者提供了靈活性,可以指定要編碼的資料、控制生成的QR碼的大小和解析度,甚至可以新增顏色和徽標等視覺樣式元素。 該程式庫確保高質量的條碼生成,並精確控制QR碼外觀的每個方面。

除了生成QR碼之外,IronBarcode還包含強大的條碼讀取和解碼功能。 它支援掃描並提取QR碼中的資料,允許應用程式處理其中編碼的資訊。 這項功能在需要條碼掃描和資料提取的場景中非常有用,例如庫存管理、票務系統和移動應用程式。

現在,讓我們建立一個專案來在ASP.NET Core MVC Web應用程式中生成QR碼。

設定專案

在我們深入實施細節之前,先確保您的ASP.NET MVC專案已經設置好並準備就緒。 無論您是開始一個新專案還是使用現有專案,以下步驟將引導您將IronBarcode程式庫整合到您的應用程式中。 在我的情況下,我已經建立了一個新專案。

建立新專案的步驟如下:

  1. 開啟Microsoft Visual Studio 2022。
  2. 在啟動頁面,點擊"建立一個新專案"或從頂部選單中進入"文件" > "新建" > "專案"。
  3. 在"建立新專案"窗口中,您會看到不同的專案範本供選擇。 選擇專案範本"ASP.NET Core web app (Model-view-controller)",然後點擊"下一步"。
  4. 輸入專案名稱和位置。 選擇電腦上適合的位置儲存專案檔案。
  5. 選擇所需的框架版本。 Visual Studio通常會建議最新的穩定版本,如果需要,您也可以選擇不同的版本。 我選擇了.NET 7。
  6. 根據您的需要,自訂任何其他專案設定,如身份驗證選項或專案資料夾。
  7. 點擊"建立"來建立專案。

然後,Visual Studio將會生成專案檔案並打開方案瀏覽器,您可以在此查看專案結構並開始編寫程式碼。

如何在ASP.NET MVC中生成QR碼:圖1

現在,我們需要將IronBarcode程式庫安裝到我們的應用程式中。

安裝IronBarcode

首先,在Visual Studio中打開套件管理器控制台,並運行以下命令:

PM > Install-Package IronBarCode

這條命令將會安裝IronBarcode程式庫並將必要的引用新增到您的專案中。

如何在ASP.NET MVC中生成QR碼:圖2

現在,讓我們編寫一些程式碼來建立QR碼。

建立 QRCodeModel

在Models資料夾中建立一個Model class,並編寫以下程式碼:

using System.ComponentModel.DataAnnotations;

public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText { get; set; }
}

建立QR Code控制器

在您的ASP.NET MVC專案中,建立一個名為QrCodeController的新控制器。 為此,右鍵點擊專案結構中的Controllers資料夾,選擇"新增",然後選擇"控制器"。在可用選項中,選擇"MVC控制器 - 空白"。

QrCodeController中編寫以下程式碼:

using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;

public class QrCodeController : Controller
{
    private readonly IWebHostEnvironment _environment;
    
    public QrCodeController(IWebHostEnvironment environment)
    {
        _environment = environment;
    }

    public IActionResult CreateQRCode()
    {
        return View();
    }

    [HttpPost]
    public IActionResult CreateQRCode(QRCodeModel generateQRCode)
    {
        try
        {
            // Creating QR Code
            GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
            string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
            
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            
            string filePath = Path.Combine(path, "qrcode.png");
            barcode.SaveAsPng(filePath);

            string fileName = Path.GetFileName(filePath);
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";

            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception ex)
        {
            // Handle exceptions
            // Log the exception details here for troubleshooting and debugging.
            throw;
        }
        
        return View();
    }
}

這段程式碼設置了一個能夠生成QR碼的控制器。 當CreateQRCode操作被呼叫時,它將帶來QR碼的文字,生成QR碼圖片,儲存它,並在視圖中顯示它的圖片URL。 詳細資訊如下:

  • 控制器有一個構造函式,它接收一個IWebHostEnvironment參數,用於存取Web託管環境。
  • CreateQRCode操作返回一個視圖。
  • 帶有QRCodeModel參數。
  • 在操作內,使用IronBarcode程式庫中的QRCodeWriter類生成QR碼。
  • 生成的QR碼被儲存為PNG格式的圖片檔案,位於Web根路徑中的一個名為GeneratedQRCode的資料夾中。
  • 如果GeneratedQRCode資料夾不存在,則會建立該資料夾。
  • 生成的QR碼圖片的文件路徑和URL。
  • QR碼圖片的URL被儲存在ViewBag.QrCodeUri屬性中,以便在視圖中使用。
  • 處理過程中發生的任何異常都會被捕獲並記錄。

新增CreateQRCode視圖

現在,為了新增新視圖,右鍵點擊QrCodeController類。 選擇"新增視圖",然後選擇"Razor視圖",並點擊"新增"按鈕。

如何在ASP.NET MVC中生成QR碼:圖3

如下面所示會出現一個新窗口。

如何在ASP.NET MVC中生成QR碼:圖4

寫下視圖名稱,選擇模板"Create",並選擇我們新建立的模型類QRCodeModel。 點擊新增按鈕。 視圖將被建立。 使用下面的程式碼替換您的視圖。

@model QRCodeModel

@{
    ViewData["Title"] = "CreateQRCode";
}

<h1>Create QRCode in ASP.NET MVC</h1>

<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="CreateQRCode">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="QRCodeText" class="control-label"></label>
                <input asp-for="QRCodeText" class="form-control" />
                <span asp-validation-for="QRCodeText" class="text-danger"></span>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />
            </div>
            <div class="form-group">
                @if (ViewBag.QrCodeUri != null)
                {
                    <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Generated QR Code" />
                }
            </div>
        </form>
    </div>
</div>

@section Scripts {
    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}
Text

現在,讓我們轉到Program.cs類並更改預設控制器路由。

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);

這將把預設路由從QrCodeController

現在,編譯並運行專案。

輸出

如何在ASP.NET MVC中生成QR碼:圖5

在文字框中輸入文字並點擊建立按鈕。 將建立一個QR碼並顯示在螢幕上,如下所示。

如何在ASP.NET MVC中生成QR碼:圖6 - QR碼在ASP.NET中

現在,讓我們通過新增註釋文字、QR碼值和改變QR碼顏色來為我們的條碼新增視覺樣式。

在QR碼中新增視覺樣式

CreateQRCode動作方法中新增以下程式碼行。

barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);

現在,運行專案並生成QR碼。

如何在ASP.NET MVC中生成QR碼:圖7 - 生成QR碼

結論

在ASP.NET MVC中,整合IronBarcode非常簡單。 它提供了一個使用者友好的介面,使得與QR碼工作變得簡單。 通過利用IronBarcode,您可以增強您的應用程式,新增QR碼功能,使得使用者可以方便地共享和存取資訊。 IronBarcode是一個有價值的程式庫,簡化了在ASP.NET MVC中生成QR碼和讀取QR碼的過程。 它使開發者能夠建立利用QR碼強大功能進行高效資料共享和檢索的動態應用程式。

IronBarcode個人使用是免費的。 然而,出於商業目的,您需要購買其商業授權,其中附帶免費試用。 如果您獲得完整的Iron Suite,您可能會獲得顯著折扣。 Iron Suite是一個綜合的.NET軟體組件集合,旨在簡化開發任務並增強功能。 它提供五個強大的程式庫,包括IronBarcode、IronOCRIronPDFIronXLIron Webscraper,使開發者能夠簡單地處理條碼、光學字元識別、PDF處理、Excel和CSV檔案。 如果您選擇購買完整的Iron Suite,您將以兩個產品的價格獲得所有五個產品。

Curtis Chau
技術作家

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

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費即時演示
Booking Badge

全球數百萬工程師信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
完成下方表單或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
全球數百萬工程師信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立