使用 IRONQR

如何在ASP .NET中掃描QR碼

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

介紹

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

如何在ASP .NET中掃描QR碼

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

  2. 從套件管理器安裝IronQR

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

  4. 讀取高級QR碼

了解 QR 碼及其使用案例

QR(快速响应)码是二维条形码,可以存储从网址到联系信息的各种信息,通常使用智能手机或专用扫描设备进行扫描。 在網頁應用程式中,QR 碼可以用於各種目的,例如:

  • 快速網站存取:引導使用者直達特定網址,無需鍵入。
  • 活動票務:驗證活動入場票的 QR 碼。
  • 支付系統:透過掃描 QR 碼輕鬆付款。
  • 產品資訊:提供有關產品的更多資訊。

介紹 IronQR

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

IronQR 的主要優勢和特點

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

  2. 生成 QR 碼:您可以生成 QR 碼並將其儲存為圖像(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 Standard (2.0+),.NET Framework (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 的 .NET API 產品,包括各種用於辦公文件、PDF 編輯、OCR 等的工具。

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

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

如何在 ASP .NET 中掃描 QR 碼:圖 1 - 使用 Visual Studio 創建新的 ASP.NET 專案

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

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

選擇 .NET 版本。

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

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

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

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

從 Visual Studio 套件管理員安裝 IronQR 庫,如下所示

如何在 ASP .NET 中掃描 QR Code:圖 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
$vbLabelText   $csharpLabel

建立 QR Code 控制器

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

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

選擇空控制器。

如何在 ASP .NET 中掃描 QR Code:圖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
$vbLabelText   $csharpLabel

程式碼說明

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

1. 儲存上傳的 QR 碼圖片

路徑構造

它在應用程式的網路根目錄內建構一個檔案路徑(path),專門用於儲存 QR 碼圖像(「ScanQRCode」目錄)。

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

檔案儲存

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

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

2. 解碼 QR 碼

讀取圖像文件

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

初始化 QR 讀取器

將加載的位圖封裝到QrImageInput中,該類專門設計為 QR 代碼讀取過程的輸入。 實例化一個QrReader,這是IronQR函式庫中的一個組件,配置用於檢測和解碼QR碼。

掃描 QR 碼

調用reader.Read(imageInput)來掃描圖像中的QR碼。 此方法返回一個IEnumerable<QrResult>,其中每個QrResult都包含圖像中檢測到的 QR 碼資料。 它使用results.First().Value提取第一個結果的值,並將此解碼信息存儲在ViewBag.QrCodeText中。 這假設圖像至少包含一個 QR 碼,並不處理未檢測到 QR 碼的潛在錯誤。

準備並返回響應

影像 URL 建構

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

檢視返回

返回相同的視圖(View()),可能會向使用者顯示 QR 代碼圖像和解碼後的文本。 ViewBag 用於將 QR 碼的解碼文本和圖像的 URL 傳遞到視圖進行呈現。

將視圖添加到控制器類別

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

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

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

如何在 ASP .NET 中掃描 QR Code:圖 11 - 選擇 Add View 選項,然後選擇 Razor View,接著點選 Add

然後選擇先前生成的"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
$vbLabelText   $csharpLabel

現在在 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}")
$vbLabelText   $csharpLabel

這將默認路由從HomeController更改為我們的QrCode控制器。

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

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

輸出

如何在 ASP .NET 中掃描 QR 碼:圖 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)
$vbLabelText   $csharpLabel

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

許可證(提供試用)

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

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

結論

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

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

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

查看許可證 >