使用 IRONQR

如何在ASP .NET中掃描QR碼

發佈 2024年6月6日
分享:

介紹

QR碼在我們的數位世界中已變得隨處可見,經常用於廣告、零售、活動管理等。 對於在 ASP.NET 框架中工作的開發人員而言,將 QR 碼掃描功能整合到網絡應用程式中可以增強用戶體驗和功能性。 本文探討在 ASP.NET 應用程式中實現 QR 碼掃描器的過程,涵蓋所需工具、庫和逐步實施方法。 我們將使用IronQR,一個強大的 QR 碼生成庫Iron Software讀取 QR 碼。

如何在ASP .NET中掃描QR碼

  1. 使用 Visual Studio 創建 ASP.NET 專案

  2. 安裝IronQR從套件管理器中獲取程式庫

  3. 上傳 QR 圖像並讀取 QR。

  4. 讀取高級QR碼

了解 QR 碼及其使用案例

QR(快速反應)二維條碼是能夠儲存資訊的矩陣式條碼,範圍從URL到聯絡資訊,通常使用智能手機或專用掃描設備進行掃描。 在網頁應用程式中,QR 碼可以用於各種目的,例如:

  • 快速網站存取:引導使用者至特定網址而無需輸入。
  • 活動票務: 驗證票券上的QR碼以進入活動。
  • 支付系統:透過掃描 QR 碼輕鬆完成付款。
  • 產品資訊:提供有關產品的其他資訊。

介紹 IronQR

IronQR是一個為 QR 碼生成和掃描而設計的強大 .NET 庫,以易於使用為核心提供穩健的功能。 這個多功能庫不僅可以處理 QR 碼,還可以管理其他類型的條碼,使其成為從事 .NET 生態系統開發的開發者的首選。 在此,我們將探討如何將IronQR庫整合到ASP.NET應用程序中,以便於QR碼掃描。

IronQR 的主要優勢和特點

  1. 讀取 QR 碼IronQR可以從各種圖像格式讀取 QR 碼,包括 jpg、png、svg、bmp、gif、tif、tiff 等。 它還支持多頁圖像和自定義 QR 檢測模型。 輸出數據格式包括文本、網址、坐標等。

  2. 寫入 QR Code:您可以生成 QR Code 並將其保存為圖像(jpg, png, gif, tiff, bmp)、串流,甚至將它們蓋章到現有的PDF上。 編碼文字、URL、位元組和數字等資料並生成 QR 碼。 自訂QR碼樣式可以通過調整大小、調整邊距、重新上色,以及添加標誌來實現。

  3. 錯誤處理和更正IronQR提供詳細的錯誤信息和自定義QR錯誤更正。 它確保容錯能力並支援空值檢查和校驗和。

  4. 先進的機器學習模型IronQR使用先進的機器學習模型進行QR碼識別。 此模型確保在各種平台(包括行動裝置、桌面和雲端環境)中準確可靠地讀取 QR 碼。

  5. 跨平台相容性IronQR設計用於 C#、F# 和 VB.NET,運行於各種 .NET 版本,如 .NET Core(8, 7, 6, 5, 和 3.1+).NET 標準(2.0+).NET 框架(4.6.2+)

  6. 它支持不同的項目類型,包括網頁應用程式(Blazor 和 WebForms),手機(Xamarin & MAUI),桌面(WPF & MAUI),和控制台應用程式。

  7. 廣泛的 QR 碼支援:IronQR 擅長處理各種 QR 碼和其他類型的條碼。 無論您是在處理標準 QR 碼、微型 QR 碼、QR 碼條碼圖像,還是特定格式如 Aztec 或 Data Matrix,IronQR提供完善的支援。 IronQR 也支持讀取 QR code 條碼的功能。

    IronQR包括各種辦公文件工具、PDF 編輯、OCR 等在內的 .NET API 產品。

步驟 1:使用 Visual Studio 建立新的 ASP.NET 專案

首先建立一個新專案,並選擇如下所示的MVC範本。

如何在ASP .NET中掃描QR碼:圖1 - 使用Visual Studio創建一個新的ASP.NET項目

接下來,您應該提供專案的名稱和位置。

如何在 ASP .NET 中掃描 QR 碼:圖 2 - 提供專案名稱和您希望儲存的位置。

選擇 .NET 版本。

如何在 ASP .NET 中掃描 QR Code:圖 3 - 選擇您希望使用的 .NET 版本。

點擊建立按鈕將會建立以下代碼和項目。

如何在 ASP .NET 中掃描 QR Code:圖4 - 點擊 Visual Studio 的創建按鈕以獲取您的專案範本

步驟 2:從 Visual Studio 套件管理員安裝 IronQR 庫

安裝IronQR從 Visual Studio 套件管理器中獲取庫,如下所示

如何在 ASP .NET 中掃描 QR 碼: 圖 5 - 使用 Visual Studio 套件管理器搜尋 IronQR 並安裝它

IronQR也可以使用安裝NuGet套件管理器。

如何在 ASP .NET 中掃描 QR 碼:圖6 - 通過 NuGet 套件管理器搜索 IronQR

步驟 3:上傳 QR 圖像並讀取 QR 圖像

現在,讓我們創建一個 QR code 應用程式。

創建 QrCode 模型

using System.ComponentModel.DataAnnotations;
namespace IronQRScannerAsp.Models
{
    public class QRCodeModel
    {
        [Display(Name = "Select QR Image")]
        public IFormFile QRCodeImage
        {
            get;
            set;
        }
    }
}
using System.ComponentModel.DataAnnotations;
namespace IronQRScannerAsp.Models
{
    public class QRCodeModel
    {
        [Display(Name = "Select QR Image")]
        public IFormFile QRCodeImage
        {
            get;
            set;
        }
    }
}
Imports System.ComponentModel.DataAnnotations
Namespace IronQRScannerAsp.Models
	Public Class QRCodeModel
		<Display(Name := "Select QR Image")>
		Public Property QRCodeImage() As IFormFile
	End Class
End Namespace
VB   C#

建立 QR Code 控制器

在控制器資料夾上點擊右鍵並提供下列顯示的名稱,以新增一個控制器:

如何在 ASP .NET 中掃描 QR Code:圖 7 - 點擊資料夾新增一個控制器,並命名

選擇空控制器。

如何在 ASP .NET 中掃描 QR 碼:圖 8 - 在提示中點擊空控制器

提供控制器名稱。

在 ASP .NET 中如何掃描 QR 碼:圖9 - 命名控制器

現在將以下代碼添加到控制器中。

using IronQr;
using IronQRScannerAsp.Models;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace IronQRScannerAsp.Controllers
{
    public class QrCodeController : Controller
    {
        private readonly IWebHostEnvironment _environment;
        public QrCodeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }
        public IActionResult Index()
        {
          ViewBag.QrCodeText = "Text";
          return View();
        }
        [HttpPost]
        public IActionResult ScanQRCode(QRCodeModel qrImage)
        {
            string path = Path.Combine(_environment.WebRootPath, "ScanQRCode");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string filePath = Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png");
            using (var stream = System.IO.File.Create(filePath))
            {
                qrImage.QRCodeImage.CopyTo(stream);
            }
            // Open the asset to read a QR Code from
            var bitmap = AnyBitmap.FromFile(filePath);
            // Load the asset into QrImageInput
            QrImageInput imageInput = new QrImageInput(bitmap);
            // Create a QR Reader object
            QrReader reader = new QrReader();
            // Read the Input an get all embedded QR Codes
            IEnumerable<QrResult> results = reader.Read(imageInput);
            ViewBag.QrCodeText = results.First().Value;
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/ScanQRCode/qrcode.png";
            ViewBag.QrCodeUri = imageUrl;
          return View();
        }
    }
}
using IronQr;
using IronQRScannerAsp.Models;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace IronQRScannerAsp.Controllers
{
    public class QrCodeController : Controller
    {
        private readonly IWebHostEnvironment _environment;
        public QrCodeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }
        public IActionResult Index()
        {
          ViewBag.QrCodeText = "Text";
          return View();
        }
        [HttpPost]
        public IActionResult ScanQRCode(QRCodeModel qrImage)
        {
            string path = Path.Combine(_environment.WebRootPath, "ScanQRCode");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string filePath = Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png");
            using (var stream = System.IO.File.Create(filePath))
            {
                qrImage.QRCodeImage.CopyTo(stream);
            }
            // Open the asset to read a QR Code from
            var bitmap = AnyBitmap.FromFile(filePath);
            // Load the asset into QrImageInput
            QrImageInput imageInput = new QrImageInput(bitmap);
            // Create a QR Reader object
            QrReader reader = new QrReader();
            // Read the Input an get all embedded QR Codes
            IEnumerable<QrResult> results = reader.Read(imageInput);
            ViewBag.QrCodeText = results.First().Value;
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/ScanQRCode/qrcode.png";
            ViewBag.QrCodeUri = imageUrl;
          return View();
        }
    }
}
Imports IronQr
Imports IronQRScannerAsp.Models
Imports IronSoftware.Drawing
Imports Microsoft.AspNetCore.Mvc
Namespace IronQRScannerAsp.Controllers
	Public Class QrCodeController
		Inherits Controller

		Private ReadOnly _environment As IWebHostEnvironment
		Public Sub New(ByVal environment As IWebHostEnvironment)
			_environment = environment
		End Sub
		Public Function Index() As IActionResult
		  ViewBag.QrCodeText = "Text"
		  Return View()
		End Function
		<HttpPost>
		Public Function ScanQRCode(ByVal qrImage As QRCodeModel) As IActionResult
			Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "ScanQRCode")
			If Not Directory.Exists(path) Then
				Directory.CreateDirectory(path)
			End If
			Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png")
			Using stream = System.IO.File.Create(filePath)
				qrImage.QRCodeImage.CopyTo(stream)
			End Using
			' Open the asset to read a QR Code from
			Dim bitmap = AnyBitmap.FromFile(filePath)
			' Load the asset into QrImageInput
			Dim imageInput As New QrImageInput(bitmap)
			' Create a QR Reader object
			Dim reader As New QrReader()
			' Read the Input an get all embedded QR Codes
			Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
			ViewBag.QrCodeText = results.First().Value
			Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/ScanQRCode/qrcode.png"
			ViewBag.QrCodeUri = imageUrl
		  Return View()
		End Function
	End Class
End Namespace
VB   C#

程式碼說明

提供的程式碼片段是針對名為 QrCodeController 的 ASP.NET Core MVC 控制器,該控制器旨在使用 IronQR 庫處理 QR 碼掃描功能。 以下是程式碼功能的簡要說明:

1. 儲存上傳的 QR 碼圖片

路徑構造

它構建了一個文件路徑(路径)在應用程式的 Web 根目錄中特別用於保存 QR 碼影像(「ScanQRCode」目錄).

它會檢查此目錄是否存在,如果不存在,則創建它以避免在保存文件時出現文件未找到錯誤。

檔案儲存

它構建完整文件路徑(filePath)上傳的 QR 碼圖片將儲存的位置("ScanQRCode/qrcode.png"). 這將覆蓋任何同名的現有文件,有效地處理新掃描而不會累積文件。

它打開一個文件流並複製上傳圖像的內容(qrImage.QRCodeImage,可能是一個表單文件)到伺服器上的指定位置。

2. 解碼 QR 碼

讀取圖像文件

使用 AnyBitmap.FromFile(文件路徑)將已保存的圖像文件載入為適合 QR 碼掃描的格式。AnyBitmap` 可能作為輔助類,用於將圖像文件轉換為 QR 閱讀器可以處理的位圖對象。

初始化 QR 讀取器

將載入的點陣圖封裝成 QrImageInput,這特別設計為 QR 碼讀取過程的輸入項。 實例化一個 QrReader,這是 IronQR 程式庫的一個元件,配置用來偵測和解碼 QR 碼。

掃描 QR 碼

呼叫 reader.Read(圖像輸入)掃描影像以查找 QR 碼。 此方法返回一個IEnumerable,每個QrResult含有來自圖像中檢測到的 QR 碼的數據。 它使用results.First提取第一個結果的值。().Value並將這些解碼資訊存儲在ViewBag.QrCodeText` 中。 這假設圖像至少包含一個 QR 碼,並不處理未檢測到 QR 碼的潛在錯誤。

準備並返回響應

影像 URL 建構

構造一個 URL(imageUrl)指向伺服器上已儲存的QR碼影像。 此 URL 是利用當前 HTTP 請求的協議、主機和路徑基礎建構的,確保使用者可以查看。 生成的 URL 保存在 ViewBag.QrCodeUri 中。

檢視返回

返回相同的視圖(檢視()``` ```),這很可能向用戶顯示QR碼圖像和解碼後的文本。ViewBag` 用於將 QR code 解碼的文本和圖像的 URL 傳遞到視圖以進行呈現。

將視圖添加到控制器類別

新增一個新視圖,右鍵點擊 QrCodeController 類別中的 CreateQRCode 動作方法。

如何在 ASP .NET 中掃描 QR 碼:圖 10 - 在 `QrCodeController` 類別中添加一個新的視圖

選擇選項「新增視圖」,然後選擇「Razor 視圖」。 點擊「新增」。

如何在 ASP .NET 中掃描 QR 代碼:圖 11 - 選擇「添加視圖」選項,然後選擇「Razor 視圖」,再點擊「添加」

然後選擇先前生成的"Create"樣板和模型類。

如何在 ASP .NET 中掃描 QR 碼:圖 12 - 選擇先前生成的模板

現在將視圖類中的代碼替換為下面顯示的代碼。

@model IronQRScannerAsp.Models.QRCodeModel
@{
    ViewData["Title"] = "ScanQRCode";
}
<h1>ScanQRCode</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
    <div class="col-md-14">
        <form asp-action="ScanQRCode" enctype="multipart/form-data">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
            </div>
            <div class="form-group">
                <h3>Scanned Text:</h3>
                <h4>@ViewBag.QrCodeText</h4>
            </div>
            <div class="form-group">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
            </div>
        </form>
    </div>
</div>
<div>
    <a asp-action="Index">Clear</a>
</div>
@section Scripts {
    @{
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
}
@model IronQRScannerAsp.Models.QRCodeModel
@{
    ViewData["Title"] = "ScanQRCode";
}
<h1>ScanQRCode</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
    <div class="col-md-14">
        <form asp-action="ScanQRCode" enctype="multipart/form-data">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
            </div>
            <div class="form-group">
                <h3>Scanned Text:</h3>
                <h4>@ViewBag.QrCodeText</h4>
            </div>
            <div class="form-group">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
            </div>
        </form>
    </div>
</div>
<div>
    <a asp-action="Index">Clear</a>
</div>
@section Scripts {
    @{
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
}
model ReadOnly Property () As IronQRScannerAsp.Models.QRCodeModel
	ViewData("Title") = "ScanQRCode"
End Property
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> </div> <div class="form-group"> <h3> Scanned Text:</h3> <h4> @ViewBag.QrCodeText</h4> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> <div> <a asp-action="Index"> Clear</a> </div> @section Scripts
"form-group"> </div> <div class="form-group"> (Of h3) Scanned Text
	Inherits </h3>(Of h4) ViewBag.QrCodeText</h4> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> (Of div) <a asp-action="Index"> Clear</a> </div> section Scripts

'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> </div> <div class
"text-danger"></div> <div class="form-group"> </div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class
"ModelOnly" class="text-danger"></div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class
"multipart/form-data"> <div asp-validation-summary="ModelOnly" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary
"ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype
"col-md-14"> <form asp-action="ScanQRCode" enctype
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action
"row"> <div class="col-md-14"> <form asp-action
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Private Private Private Private Private Private Private Friend (Of h1) ScanQRCode</h1> (Of h4) QRCodeModel</h4> <hr /> <div Class="row"> <div class
	@
	If True Then
		Await Html.RenderPartialAsync("_ValidationScriptsPartial")
	End If
End Class
VB   C#

現在在 program.cs 中更改以下代碼,以使上述視圖為預設路由

app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=Index}");
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=Index}");
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=Index}")
VB   C#

這會將預設路由從 HomeController 更改為我們的 QrCode 控制器。

輸入圖片 URL:https://ironsoftware.com/csharp/qr

如何在 ASP.NET 中掃描 QR 碼:圖 13 - QR 碼輸入範例

輸出

如何在 ASP .NET 中掃描 QR Code:圖 14 - 按照上述步驟後的範例輸出

在頁面上,選擇一個 QR 碼圖片並點擊上傳以解碼 QR 碼。 此應用程式也可以修改為從視頻供應中讀取並顯示結果。

步驟 4:閱讀進階 QR Code

若要讀取進階 QR 碼,IronQR 提供以下設置。

using IronQr;
using IronSoftware.Drawing;
using IronQr.Enum;
using System.Collections.Generic;
var inputBmp = AnyBitmap.FromFile("QrImage.png");
// Use Auto => Machine Learning Scan
// Careful Scan => Useful for scanning documents slowly and carefully
QrImageInput scan_ML_and_normal = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results1 = new QrReader().Read(scan_ML_and_normal);
// Use Machine Learning Scan
// High Speed => For scanning frames from a camera
QrImageInput scan_ML_only = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results2 = new QrReader().Read(scan_ML_only);
// Use Scan without Machine Learning
QrImageInput scan_normal_only = new QrImageInput(inputBmp, QrScanMode.OnlyBasicScan);
IEnumerable<QrResult> results3 = new QrReader().Read(scan_normal_only);
using IronQr;
using IronSoftware.Drawing;
using IronQr.Enum;
using System.Collections.Generic;
var inputBmp = AnyBitmap.FromFile("QrImage.png");
// Use Auto => Machine Learning Scan
// Careful Scan => Useful for scanning documents slowly and carefully
QrImageInput scan_ML_and_normal = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results1 = new QrReader().Read(scan_ML_and_normal);
// Use Machine Learning Scan
// High Speed => For scanning frames from a camera
QrImageInput scan_ML_only = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results2 = new QrReader().Read(scan_ML_only);
// Use Scan without Machine Learning
QrImageInput scan_normal_only = new QrImageInput(inputBmp, QrScanMode.OnlyBasicScan);
IEnumerable<QrResult> results3 = new QrReader().Read(scan_normal_only);
Imports IronQr
Imports IronSoftware.Drawing
Imports IronQr.Enum
Imports System.Collections.Generic
Private inputBmp = AnyBitmap.FromFile("QrImage.png")
' Use Auto => Machine Learning Scan
' Careful Scan => Useful for scanning documents slowly and carefully
Private scan_ML_and_normal As New QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel)
Private results1 As IEnumerable(Of QrResult) = (New QrReader()).Read(scan_ML_and_normal)
' Use Machine Learning Scan
' High Speed => For scanning frames from a camera
Private scan_ML_only As New QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel)
Private results2 As IEnumerable(Of QrResult) = (New QrReader()).Read(scan_ML_only)
' Use Scan without Machine Learning
Private scan_normal_only As New QrImageInput(inputBmp, QrScanMode.OnlyBasicScan)
Private results3 As IEnumerable(Of QrResult) = (New QrReader()).Read(scan_normal_only)
VB   C#

透過利用最新的機器學習技術,我們將QR碼讀取器提升到新的高度。 先進的機器學習模型提高了應用程式在解碼 QR 碼時的準確性和效率,即使在複雜的條件下也是如此。 無論是從靜態圖像、視頻流,還是即時攝像頭擷取的圖像中讀取QR碼,以機器學習驅動的解決方案都能迅速且可靠地提供所需資訊。 這項創新簡化了數據檢索,並通過識別真實的QR碼和標記潛在威脅來提高安全性。 借助我們的機器學習技術,您可以放心,您的 QR 碼掃描功能處於尖端,為您的用戶提供流暢且安全的體驗。

許可證(提供試用)

開發人員可以從取得 IronQR 試用許可證這裡. 需要將鍵放置在appSettings.json中。

{
  "IronQR.License.LicenseKey": "My key"
}

結論

在本文中,我們探討了如何在 ASP.NET Core 中掃描 QR 代碼。IronQR. 整合IronQR將 QR 碼掃描功能整合到 ASP.NET 應用程式是一個簡單的過程,這可以增強網絡應用程式的功能,使其更具互動性和用戶友好。 IronQR強大的功能和易用性使其成為尋找實現條碼相關功能的開發人員的絕佳選擇。

< 上一頁
如何在 ASP .NET Core 中生成 QR Code
下一個 >
如何在 C# 中掃描 QR 碼

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 22,660 查看許可證 >