跳過到頁腳內容
使用IRONBARCODE

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

在當今快速發展的數位環境中,QR碼的生成已成為高效信息共享的重要工具。 這些緊湊的二維條碼能夠儲存各種數據,包括網址、文本、聯絡信息、產品資訊等,在現代通訊中扮演重要角色。 將QR碼生成功能整合到您的ASP.NET MVC應用程式中,可以讓使用者輕鬆生成QR碼,提升他們的體驗,簡化互動,並便於資訊的輕鬆交流。

如果您正在開發一個ASP.NET MVC應用程式並想要整合QR碼生成功能,IronBarcode是一個簡化過程的出色程式庫。 在本文中,我們將探討如何使用Iron Barcode程式庫在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專案已經設置並準備就緒。 無論您是開始一個新專案還是使用現有專案,以下的步驟將指導您將Iron Barcode程式庫整合到您的應用程式中。 在我的情況下,我創建了一個新專案。

創建新專案的步驟如下:

  1. 打開Microsoft Visual Studio 2022。
  2. 在開始頁面上,點擊"Create a new project",或從頂部選單中,選擇"File" > "New" > "Project"。 "Create a new project"窗口中,您將看到不同的專案模板可供選擇。 選擇專案模板"ASP.NET Core web app (Model-view-controller)"然後點擊"Next"。
  3. 輸入專案的名稱和位置。 在電腦上選擇一個合適的位置來儲存專案檔案。
  4. 選擇所需的平台版本。 Visual Studio通常建議最新的穩定版本,但如果需要,您可以選擇其他版本。 我選擇了.NET 7。
  5. 根據您的需求,自訂其他專案設置,例如身份驗證選項或專案資料夾。
  6. 點擊"Create"來創建專案。

Visual Studio將會生成專案檔並打開解決方案管理器,您可以在其中查看專案結構並開始編寫代碼。

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

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

安裝Iron Barcode

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

Install-Package IronBarCode

此命令將安裝Iron Barcode程式庫並添加必要的引用到您的專案中。

如何在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; }
}
using System.ComponentModel.DataAnnotations;

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

創建QR碼控制器

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

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

此代碼設置了一個可以生成QR碼的控制器。 當CreateQRCode操作被調用時,會接收QR碼文本,生成QR碼圖像,儲存它,並在視圖中提供顯示該圖像的URL。 詳細信息如下:

  • 該控制器有一個構造函數,要接收一個IWebHostEnvironment參數以訪問網路託管環境。
  • CreateQRCode操作返回一個視圖。
  • QRCodeModel參數,該參數包含QR碼文本。
  • 在動作內使用Iron Barcode程式庫中的QRCodeWriter類生成QR碼。
  • 生成的QR碼另存為PNG圖像檔案,儲存在Web根目錄中的GeneratedQRCode資料夾中。
  • 如果GeneratedQRCode資料夾不存在,則會被創建。
  • 生成的QR碼圖像的檔案路徑和URL將會生成。
  • QR碼圖像的URL將儲存在ViewBag.QrCodeUri屬性中,以便在視圖中使用。
  • 在過程中發生的任何例外情況將被捕捉和記錄。

添加CreateQRCode視圖

現在,要添加新視圖,右鍵點擊QrCodeController類中。 選擇"Add View," 然後選擇"Razor View," 並點擊"Add"按鈕。

如何在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"); }
}

現在,讓我們移動到Program.cs類,並更改默認控制路由。

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

這將默認路由從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);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
$vbLabelText   $csharpLabel

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

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

結論

在ASP.NET MVC中,整合IronBarcode非常簡單明了。 它提供了用戶友好的界面,方便處理QR碼。 通過利用IronBarcode,您可以通過添加QR碼功能增強應用程式,讓用戶方便地共享和訪問信息。 IronBarcode是一個簡化在ASP.NET MVC中生成和讀取QR碼過程的有價值的程式庫。 它賦予開發人員創建使用QR碼強大功能以便高效數據共享和檢索的動態應用程式的能力。

Iron Barcode個人使用免費。 但是,商業用途需要購買其商業授權,附帶免費試用。 如果您獲得完整的Iron Suite,可能還可以獲得顯著的折扣。 Iron Suite是設計用來簡化開發任務和增強功能的.NET軟體組件的完整集合。 它提供了五個強大的程式庫,包括Iron Barcode,IronOCRIronPDFIronXL,以及Iron Webscraper,使開發人員能夠無縫處理條碼、光學字符識別、PDF處理、Excel和CSV文件。 如果您選擇購買完整的Iron Suite,將以兩個產品的價格獲得全部五個產品。

常見問題解答

如何在 ASP.NET MVC 中創建 QR 碼?

您可以通過在 Visual Studio 中設置項目來在 ASP.NET MVC 中創建 QR 碼,通過 NuGet 使用命令 Install-Package IronBarCode 安裝 IronBarcode 庫,並使用 IronBarcode 的類在控制器內生成 QR 碼並在視圖中顯示。

我可以自定義應用程序中 QR 碼的外觀嗎?

可以,IronBarcode 允許您通過調整大小、分辨率、顏色以及添加徽標或註釋來自定義 QR 碼,增強 QR 碼的視覺吸引力和功能。

如何在 ASP.NET MVC 視圖中顯示 QR 碼?

在使用 IronBarcode 生成 QR 碼後,您可以在 ASP.NET MVC 視圖中顯示它,方法是將圖像 URL 存儲在 ViewBag 中,並使用 Razor 視圖中的 HTML 標籤來呈現 QR 碼圖像。

如何使用 .NET 應用程序解碼 QR 碼?

您可以使用 IronBarcode 在 .NET 應用程序中解碼 QR 碼,該庫提供了掃描和提取各種條形碼格式(包括 QR 碼)數據的功能,適用於如庫存管理和票務驗證等應用程序。

IronBarcode 庫有免費版本嗎?

IronBarcode 在個人使用是免費的,允許開發者實驗和測試其功能。對於商業用途,則需要購買許可證,並提供免費試用以供評估。

QR 碼在 ASP.NET MVC 項目中的一些應用是什麼?

在 ASP.NET MVC 項目中,QR 碼可用於快速訪問網站、無接觸支付、票務、庫存管理和移動應用程式整合,增強用戶互動和信息傳播。

如何設置用於 QR 碼生成的 ASP.NET MVC 項目?

設置用於 QR 碼生成的 ASP.NET MVC 項目,使用 Visual Studio 創建一個新的 ASP.NET Core Web 應用,選擇 'Model-view-controller' 模版,然後安裝 IronBarcode 庫以開始在您的應用程式中生成 QR 碼。

Iron Suite 中包含哪些庫?

Iron Suite 包括多個 .NET 庫,如 Iron Barcode、Iron OCR、Iron PDF、Iron XL 和 Iron Webscraper,每個庫提供不同的專業功能,例如條碼生成、光學字符識別、PDF 操作、Excel 處理和網頁抓取。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

鋼鐵支援團隊

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