VERWENDUNG VON IRONQR

Scannen von QR-Codes in ASP .NET

Veröffentlicht 6. Juni 2024
Teilen Sie:

Einführung

QR-Codes sind in unserer digitalen Welt allgegenwärtig und werden häufig in der Werbung, im Einzelhandel, im Veranstaltungsmanagement und anderen Bereichen eingesetzt. Für Entwickler, die mit dem ASP.NET-Framework arbeiten, kann die Integration von QR-Code-Scanfunktionen in Webanwendungen die Benutzerfreundlichkeit und Funktionalität verbessern. In diesem Artikel wird der Prozess der Implementierung eines QR-Code-Scanners in einer ASP.NET-Anwendung untersucht, wobei die erforderlichen Tools, Bibliotheken und die schrittweise Implementierung behandelt werden. Wir werden die IronQReine leistungsfähige Bibliothek zur Erzeugung von QR-Codes aus Iron Software um QR-Codes zu lesen.

Scannen von QR-Codes in ASP .NET

  1. ASP.NET-Projekt mit Visual Studio erstellen

  2. Installieren Sie IronQR bibliothek aus dem Paketmanager

  3. Laden Sie das QR-Bild hoch und lesen Sie den QR.

  4. Erweiterte QR-Codes lesen

QR-Codes und ihre Anwendungsfälle verstehen

QR (Schnelle Antwort) codes sind zweidimensionale Strichcodes, die Informationen von URLs bis hin zu Kontaktdaten speichern können und in der Regel mit Smartphones oder speziellen Lesegeräten gescannt werden. In Webanwendungen können QR-Codes verschiedenen Zwecken dienen, wie zum Beispiel:

  • Schneller Website-Zugang: Weiterleitung der Nutzer zu einer bestimmten URL, ohne dass sie etwas eintippen müssen.
  • Veranstaltungs-Ticketverkauf: Überprüfung von QR-Codes auf Tickets für den Zugang zu Veranstaltungen.
  • Bezahlsysteme: Erleichterung der Bezahlung durch Scannen eines QR-Codes.
  • Produktinformationen: Bereitstellung zusätzlicher Informationen über Produkte.

Einführung in IronQR

IronQR ist eine leistungsstarke .NET-Bibliothek, die für die Erzeugung und das Scannen von QR-Codes entwickelt wurde und robuste Funktionen mit Blick auf die Benutzerfreundlichkeit bietet. Diese vielseitige Bibliothek verarbeitet nicht nur QR-Codes, sondern kann auch andere Barcodetypen verwalten, was sie zu einer bevorzugten Wahl für Entwickler macht, die im .NET-Ökosystem arbeiten. Im Folgenden wird untersucht, wie die IronQR-Bibliothek in eine ASP.NET-Anwendung integriert werden kann, um das Scannen von QR-Codes zu erleichtern.

Die wichtigsten Vorteile und Merkmale von IronQR

  1. Lesen von QR-Codes: IronQR kann QR-Codes aus verschiedenen Bildformaten lesen, darunter jpg, png, svg, bmp, gif, tif, tiff und andere. Es unterstützt auch mehrseitige Bilder und benutzerdefinierte QR-Erkennungsmodelle. Die Ausgabedatenformate umfassen Text, URLs, Koordinaten und mehr.

  2. Schreiben von QR-Codes: Sie können QR-Codes erstellen und als Bilder speichern (jpg, png, gif, tiff, bmp)oder sogar auf bestehende PDFs stempeln. Kodieren Sie Daten wie Text, URLs, Bytes und Zahlen und erzeugen Sie QR-Codes. Passen Sie das Design des QR-Codes an, indem Sie die Größe ändern, die Ränder anpassen, neu einfärben und Logos hinzufügen.

  3. Fehlerbehandlung und -korrektur: IronQR bietet detaillierte Fehlermeldungen und eine benutzerdefinierte QR-Fehlerkorrektur. Es gewährleistet Fehlertoleranz und unterstützt Nullprüfungen und Prüfsummen.

  4. Erweitertes maschinelles Lernmodell: IronQR verwendet ein fortschrittliches Machine-Learning-Modell für die QR-Code-Erkennung. Dieses Modell gewährleistet ein genaues und zuverlässiges Lesen von QR-Codes über verschiedene Plattformen hinweg, einschließlich Mobil-, Desktop- und Cloud-Umgebungen.

  5. Plattformübergreifende Kompatibilität: IronQR wurde für C#, F# und VB.NET entwickelt und läuft auf verschiedenen .NET-Versionen wie .NET Core (8, 7, 6, 5 und 3.1+), .NET-Standard (2.0+), .NET-Framework (4.6.2+)

  6. Es unterstützt verschiedene Projekttypen, darunter Web (Blazor und WebForms)mobil (Xamarin & MAUI)schreibtisch (WPF UND MAUI)und Konsolenanwendungen.

  7. Breite QR-Code-Unterstützung: IronQR zeichnet sich durch eine breite Palette von QR-Codes und anderen Arten von Barcodes aus. Ganz gleich, ob es sich um Standard-QR-Codes, Micro-QR-Codes, ein QR-Code-Barcode-Bild oder sogar um spezielle Formate wie Aztec oder Data Matrix handelt, IronQR hat für Sie gesorgt. IronQR unterstützt auch die Funktion zum Lesen von QR-Code-Barcodes.

    IronQR von .NET API-Produkten, die verschiedene Tools für Office-Dokumente, PDF-Bearbeitung, OCR und mehr umfassen.

Schritt 1: Erstellen Sie ein neues ASP.NET-Projekt mit Visual Studio

Beginnen Sie mit der Erstellung eines neuen Projekts und wählen Sie die MVC-Vorlage wie unten gezeigt

Scannen von QR-Codes in ASP .NET: Abbildung 1 - Erstellen eines neuen ASP.NET-Projekts mit Visual Studio

Als nächstes sollten Sie einen Projektnamen und einen Standort für das Projekt angeben.

Scannen von QR-Codes in ASP .NET: Abbildung 2 - Geben Sie den Projektnamen und den gewünschten Speicherort an.

Wählen Sie die .NET-Version.

Scannen von QR-Codes in ASP .NET: Abbildung 3 - Wählen Sie die gewünschte .NET-Version aus.

Wenn Sie auf die Schaltfläche "Erstellen" klicken, werden der folgende Code und das folgende Projekt erstellt.

Scannen von QR-Codes in ASP .NET: Abbildung 4 - Klicken Sie auf die Schaltfläche Erstellen von Visual Studio, um die Vorlage für Ihr Projekt zu erstellen

Schritt 2: Installieren der IronQR-Bibliothek über den Visual Studio Package Manager

Installieren Sie IronQR bibliothek aus dem Visual Studio-Paketmanager wie unten gezeigt

Scannen von QR-Codes in ASP .NET: Abbildung 5 - Suchen Sie mit dem Visual Studio Package Manager nach IronQR und installieren Sie es

IronQR kann auch installiert werden mit NuGet Paketmanager.

Scannen von QR-Codes in ASP .NET: Abbildung 6 - Suche nach IronQR über den NuGet Package Manager

Schritt 3: Hochladen des QR-Bildes und Lesen des QR-Bildes

Nun wollen wir eine QR-Code-App erstellen.

QrCode"-Modell erstellen

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#

Einen QR-Code-Controller erstellen

Fügen Sie einen neuen Controller hinzu, indem Sie mit der rechten Maustaste auf den Controller-Ordner klicken und einen Namen vergeben (siehe unten):

Scannen von QR-Codes in ASP .NET: Abbildung 7 - Fügen Sie einen neuen Controller hinzu, indem Sie auf den Ordner klicken und ihm einen Namen geben

Wählen Sie Leerer Controller.

Scannen von QR-Codes in ASP .NET: Abbildung 8 - Klicken Sie in der Eingabeaufforderung auf Empty Controller

Geben Sie den Namen des Controllers an.

Scannen von QR-Codes in ASP .NET: Abbildung 9 - Benennen des Controllers

Fügen Sie nun den folgenden Code in den Controller ein.

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#

Code Erläuterung

Das bereitgestellte Codeschnipsel ist für einen ASP.NET Core MVC-Controller mit dem Namen QrCodeController, der für die Handhabung von QR-Code-Scan-Funktionen unter Verwendung der IronQR-Bibliothek konzipiert ist. Hier ist eine kurze Beschreibung, was der Code macht:

1. Speichern des hochgeladenen QR-Code-Bildes

Pfad Konstruktion

Er konstruiert einen Dateipfad (pfad) im Web-Root-Verzeichnis der Anwendung speziell für die Speicherung von QR-Code-Bildern ("ScanQRCode"-Verzeichnis).

Es wird geprüft, ob dieses Verzeichnis existiert, und wenn nicht, wird es erstellt, um Fehler beim Speichern der Datei zu vermeiden.

Speichern von Dateien

Sie konstruiert den vollständigen Dateipfad (Dateipfad) wo das hochgeladene QR-Code-Bild gespeichert werden soll ("ScanQRCode/qrcode.png"). Dadurch werden alle vorhandenen Dateien mit demselben Namen überschrieben, so dass neue Scans ohne die Anhäufung von Dateien durchgeführt werden können.

Es öffnet einen Dateistrom und kopiert den Inhalt des hochgeladenen Bildes (qrImage.QRCodeImage, wahrscheinlich eine Formulardatei) an den angegebenen Speicherort auf dem Server.

2. Dekodierung des QR-Codes

Lesen der Bilddatei

Verwendet `AnyBitmap.FromFile(dateipfad)um die gespeicherte Bilddatei in ein für das Scannen von QR-Codes geeignetes Format zu laden. anyBitmap" dient wahrscheinlich als Hilfsklasse für die Umwandlung von Bilddateien in ein Bitmap-Objekt, das der QR-Reader verarbeiten kann.

Initialisierung des QR-Readers

Verpackt die geladene Bitmap in ein QrImageInput, das speziell als Eingabe für den QR-Code-Leseprozess gedacht ist. Instanziiert einen QrReader, eine Komponente der IronQR-Bibliothek, die für die Erkennung und Dekodierung von QR-Codes konfiguriert ist.

Scannen des QR-Codes

Ruft Leser.Lesen(imageInput) um das Bild für QR-Codes zu scannen. Diese Methode gibt ein IEnumerable<QrResult>jedes "QrResult" enthält die Daten eines erkannten QR-Codes im Bild. Es extrahiert den Wert des ersten Ergebnisses mitresults.First().Value" und speichern diese entschlüsselten Informationen in "ViewBag.QrCodeText". Dabei wird davon ausgegangen, dass das Bild mindestens einen QR-Code enthält, und mögliche Fehler, bei denen keine QR-Codes erkannt werden, werden nicht behandelt.

3. Vorbereiten und Zurücksenden der Antwort

Bild-URL Konstruktion

Konstruiert eine URL (imageUrl) die auf das gespeicherte QR-Code-Bild auf dem Server verweist. Diese URL wird unter Verwendung des Schemas, des Hosts und der Pfadbasis der aktuellen HTTP-Anfrage erstellt, um sicherzustellen, dass die Benutzer auf sie zugreifen können. Die konstruierte URL wird in "ViewBag.QrCodeUri" gespeichert.

Ansicht Rückkehr

Gibt die gleiche Ansicht zurück (Ansicht())die dem Benutzer wahrscheinlich sowohl das QR-Code-Bild als auch den entschlüsselten Text anzeigt. Die "ViewBag" wird verwendet, um den dekodierten Text des QR-Codes und die URL des Bildes zum Rendern an die Ansicht zu übergeben.

View zur Controller-Klasse hinzufügen

Fügen Sie eine neue Ansicht hinzu und klicken Sie mit der rechten Maustaste auf die Aktionsmethode "CreateQRCode" in der Klasse "QRCodeController".

Scannen von QR-Codes in ASP .NET: Abbildung 10 - Hinzufügen einer neuen Ansicht in der Klasse `QrCodeController`

Wählen Sie die Option "Ansicht hinzufügen" und dann "Razor-Ansicht". Klicken Sie auf "Hinzufügen".

Scannen von QR-Codes in ASP .NET: Abbildung 11 - Wählen Sie die Option Ansicht hinzufügen, dann Razor-Ansicht, dann Hinzufügen

Wählen Sie dann die Vorlage "Erstellen" und die zuvor erstellte Modellklasse.

Scannen von QR-Codes in ASP .NET: Abbildung 12 - Wählen Sie die zuvor erstellte Vorlage

Ersetzen Sie nun den Code in der View-Klasse durch den unten dargestellten.

@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#

Ändern Sie nun in der Datei program.cs den folgenden Code, um die obige Ansicht zur Standardroute zu machen

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#

Dies ändert die Standardroute von "HomeController" zu unserem "QRCode"-Controller.

Bild mit URL eingeben: https://ironsoftware.com/csharp/qr.

Wie man QR-Code in ASP .NET scannt: Abbildung 13 - Beispiel QR-Code-Eingabe

Ausgabe

Scannen von QR-Codes in ASP .NET: Abbildung 14 - Beispiel für die Ausgabe nach Befolgung der oben genannten Schritte

Wählen Sie auf der Seite ein QR-Code-Bild aus und klicken Sie auf Hochladen, um den QR-Code zu entschlüsseln. Diese App kann auch so modifiziert werden, dass sie von einem Video-Feed liest und die Ergebnisse anzeigt.

Schritt 4: Erweiterten QR-Code lesen

Um erweiterte QR-Codes zu lesen, bietet IronQR die folgenden Einstellungen.

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#

Durch die Nutzung der neuesten ML-Technologie haben wir den QR-Code-Leser auf ein neues Niveau gehoben. Das hochentwickelte ML-Modell verbessert die Genauigkeit und Effizienz von Anwendungen bei der Dekodierung von QR-Codes, selbst unter komplexen Bedingungen. Ganz gleich, ob QR-Codes aus Standbildern, Videostreams oder Live-Kamerafeeds gelesen werden, die ML-gestützte Lösung liefert schnell und zuverlässig die gewünschten Informationen. Diese Innovation optimiert den Datenabruf und erhöht die Sicherheit, indem sie echte QR-Codes identifiziert und potenzielle Bedrohungen kennzeichnet. Mit unserer ML-Technologie können Sie sicher sein, dass Ihre QR-Code-Scanfunktionen auf dem neuesten Stand sind und Ihren Benutzern ein reibungsloses und sicheres Erlebnis bieten

Lizenz (Testversion verfügbar)

Entwickler können eine IronQR-Testlizenz erhalten von hier. Der Schlüssel muss in der Datei appSettings.json abgelegt werden.

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

Schlussfolgerung

In diesem Artikel haben wir untersucht, wie man QR-Codes in ASP.NET Core scannt, indem wir IronQR. Integration von IronQR in eine ASP.NET-Anwendung zum Scannen von QR-Codes ist ein unkomplizierter Prozess, der die Möglichkeiten von Webanwendungen erweitert und sie interaktiver und benutzerfreundlicher macht. IronQRdie leistungsstarken Funktionen und die Benutzerfreundlichkeit machen es zu einer ausgezeichneten Wahl für Entwickler, die Barcode-bezogene Funktionen implementieren möchten.

< PREVIOUS
Wie man QR-Codes in ASP .NET Core generiert
NÄCHSTES >
Scannen von QR-Codes in C#

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 20,066 Lizenzen anzeigen >