Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Wie man QR-Codes in ASP.NET MVC generiert

In der heutigen schnelllebigen digitalen Landschaft ist die Erzeugung von QR-Codes zu einem wesentlichen Werkzeug für die effiziente Informationsverteilung geworden. Diese kompakten, zweidimensionalen Barcodes, die in der Lage sind, eine Vielzahl von Daten zu speichern, darunter URLs, Text, Kontaktinformationen, Produktdetails und vieles mehr, spielen eine entscheidende Rolle in der modernen Kommunikation. Die Einbindung von QR-Code-Generierungsfunktionen in Ihre ASP.NET MVC-Anwendung ermöglicht es Ihnen, Benutzer zu befähigen, indem sie nahtlos QR-Codes generieren, ihre Erfahrung verbessern, Interaktionen optimieren und den mühelosen Informationsaustausch erleichtern.

Wenn Sie eine ASP.NET MVC-Anwendung entwickeln und QR-Code-Generierungsfähigkeiten einbinden möchten, ist IronBarcode eine hervorragende Bibliothek, die den Prozess vereinfacht. In diesem Artikel werden wir untersuchen, wie man QR-Codes in ASP.NET MVC mit der Iron Barcode-Bibliothek erzeugt.

IronBarcode

IronBarcode ist eine leistungsstarke und funktionsreiche Bibliothek für die QR-Code-Erstellung und -Erkennung für .NET-Anwendungen. Mit IronBarcode können Entwickler Barcode- und QR-Code-Funktionalität problemlos in ihre ASP.NET MVC-Projekte integrieren, einschließlich der Fähigkeit, QR-Codes zu generieren. Die Bibliothek bietet eine umfassende Reihe von Werkzeugen und APIs, die den Prozess der Erstellung und Anpassung von QR-Codes vereinfachen, sodass Entwickler sie an ihre spezifischen Anforderungen anpassen können.

IronBarcode bietet umfassende Unterstützung für verschiedene Barcode-Typen, einschließlich QR-Codes, was es zur idealen Wahl für Projekte macht, die QR-Code-Generierungsfähigkeiten erfordern. Es bietet Entwicklern die Flexibilität, die zu codierenden Daten anzugeben, die Größe und die Auflösung der erzeugten QR-Codes zu steuern und sogar visuelle Stilmittel wie Farben und Logos hinzuzufügen. Die Bibliothek stellt eine qualitativ hochwertige Barcode-Erzeugung sicher, mit präziser Kontrolle über jeden Aspekt des Erscheinungsbilds des QR-Codes.

Abgesehen von der QR-Code-Erzeugung umfasst IronBarcode auch leistungsstarke Funktionen zum Lesen und Dekodieren von Barcodes. Es unterstützt das Scannen und Extrahieren von Daten aus QR-Codes, sodass Anwendungen die darin codierten Informationen verarbeiten können. Diese Funktionalität ist vorteilhaft für Szenarien, in denen das Scannen von Barcodes und die Datenextraktion erforderlich sind, wie zum Beispiel in der Bestandsverwaltung, in Ticketingsystemen und in mobilen Anwendungen.

Erstellen wir jetzt ein Projekt, um einen QR-Code in der ASP.NET Core MVC-Webanwendung zu generieren.

Projekt Einrichten

Bevor wir in die Implementierungsdetails eintauchen, lassen Sie uns sicherstellen, dass Ihr ASP.NET MVC-Projekt eingerichtet und startklar ist. Egal, ob Sie ein neues Projekt starten oder mit einem bestehenden arbeiten, die unten aufgeführten Schritte führen Sie durch den Prozess der Integration der Iron Barcode-Bibliothek in Ihre Anwendung. In meinem Fall habe ich ein neues Projekt erstellt.

Die Schritte zur Erstellung eines neuen Projekts sind wie folgt:

  1. Öffnen Sie Microsoft Visual Studio 2022.
  2. Klicken Sie auf der Startseite auf „Neues Projekt erstellen“ oder gehen Sie zum oberen Menü zu „Datei“ > „Neu“ > „Projekt“.
  3. Im Fenster „Neues Projekt erstellen“ sehen Sie verschiedene Projektvorlagen, aus denen Sie auswählen können. Wählen Sie die Projektvorlage „ASP.NET Core Web-App (Modell-View-Controller)“ und klicken Sie auf „Weiter“.
  4. Geben Sie einen Namen und einen Speicherort für Ihr Projekt ein. Wählen Sie einen geeigneten Speicherort auf Ihrem Computer, um die Projektdateien zu speichern.
  5. Wählen Sie die gewünschte Framework-Version aus. Visual Studio schlägt normalerweise die neueste stabile Version vor, aber Sie können eine andere wählen, wenn nötig. Ich habe .NET 7 ausgewählt.
  6. Passen Sie bei Bedarf zusätzliche Projekteinstellungen an, z. B. Authentifizierungsoptionen oder Projektordner, basierend auf Ihren Anforderungen.
  7. Klicken Sie auf „Erstellen“, um das Projekt zu erstellen.

Visual Studio wird dann die Projektdateien generieren und den Projektmappen-Explorer öffnen, wo Sie die Projektstruktur sehen und mit Ihrem Code arbeiten können.

!

Jetzt müssen wir die Iron Barcode-Bibliothek in unsere Anwendung installieren.

Installieren Sie Iron Barcode

Um zu beginnen, öffnen Sie die Package Manager Console in Visual Studio und führen Sie den folgenden Befehl aus:

Install-Package IronBarCode

Dieser Befehl installiert die Iron Barcode-Bibliothek und fügt die notwendigen Referenzen zu Ihrem Projekt hinzu.

!

Jetzt schreiben wir etwas Code, um QR-Codes zu erstellen.

Erstellen Sie QRCodeModel

Erstellen Sie eine Modellklasse im Ordner Models und schreiben Sie folgenden Code:

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; }
}
Imports System.ComponentModel.DataAnnotations

Public Class QRCodeModel
	<Display(Name := "Enter QR Code Text")>
	Public Property QRCodeText() As String
End Class
$vbLabelText   $csharpLabel

Erstellen Sie einen QR-Code-Controller

Erstellen Sie in Ihrem ASP.NET MVC-Projekt einen neuen Controller namens QrCodeController. Dazu klicken Sie mit der rechten Maustaste auf den Controllers-Ordner in Ihrer Projektstruktur, wählen „Hinzufügen“ und dann „Controller“. Wählen Sie aus den verfügbaren Optionen „MVC-Controller - Leer“.

Schreiben Sie den folgenden Code in 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();
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System.IO

Public Class QrCodeController
	Inherits Controller

	Private ReadOnly _environment As IWebHostEnvironment

	Public Sub New(ByVal environment As IWebHostEnvironment)
		_environment = environment
	End Sub

	Public Function CreateQRCode() As IActionResult
		Return View()
	End Function

	<HttpPost>
	Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
		Try
			' Creating QR Code
			Dim barcode As GeneratedBarcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText)
			Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")

			If Not Directory.Exists(path) Then
				Directory.CreateDirectory(path)
			End If

			Dim filePath As String = System.IO.Path.Combine(path, "qrcode.png")
			barcode.SaveAsPng(filePath)

			Dim fileName As String = System.IO.Path.GetFileName(filePath)
			Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedQRCode/{fileName}"

			ViewBag.QrCodeUri = imageUrl
		Catch ex As Exception
			' Handle exceptions
			' Log the exception details here for troubleshooting and debugging.
			Throw
		End Try

		Return View()
	End Function
End Class
$vbLabelText   $csharpLabel

Dieser Code richtet einen Controller ein, der QR-Codes erzeugen kann. Wenn die CreateQRCode-Aktion aufgerufen wird, nimmt sie den Text für den QR-Code, generiert das QR-Code-Bild, speichert es und stellt die URL für das Bild in der Ansicht zur Anzeige bereit. Im Detail sieht es wie folgt aus:

  • Der Controller verfügt über einen Konstruktor, der einen IWebHostEnvironment-Parameter verwendet, um auf die Webhosting-Umgebung zuzugreifen.
  • Die CreateQRCode-Aktion gibt eine Ansicht zurück.
  • Die CreateQRCode-Aktion mit dem Attribut [HttpPost] nimmt einen QRCodeModel-Parameter an, der den QR-Code-Text enthält.
  • Innerhalb der Aktion wird ein QR-Code mit der Klasse QRCodeWriter aus der Iron Barcode-Bibliothek erzeugt.
  • Der erzeugte QR-Code wird als PNG-Bilddatei in einem Ordner namens GeneratedQRCode im Web-Stammverzeichnis gespeichert.
  • Wenn der GeneratedQRCode-Ordner nicht existiert, wird er erstellt.
  • Der Dateipfad und die URL für das gespeicherte QR-Code-Bild werden generiert.
  • Die URL des QR-Code-Bildes wird in der Eigenschaft ViewBag.QrCodeUri gespeichert, um in der Ansicht verwendet zu werden.
  • Alle während des Prozesses auftretenden Ausnahmen werden abgefangen und protokolliert.

Hinzufügen der CreateQRCode-Ansicht

Um eine neue Ansicht hinzuzufügen, klicken Sie mit der rechten Maustaste auf die CreateQRCode-Aktionsmethode in der QrCodeController-Klasse. Wählen Sie „Ansicht hinzufügen“, dann „Razor View“ aus, und klicken Sie auf die Schaltfläche „Hinzufügen“.

!

Ein neues Fenster wird wie unten dargestellt erscheinen.

!

Geben Sie den Namen der Ansicht ein, wählen Sie die Vorlage „Erstellen“ aus und wählen Sie unsere neu erstellte Modellklasse QRCodeModel. Klicken Sie auf die Schaltfläche „Hinzufügen“. Die Ansicht wird erstellt. Ersetzen Sie Ihre Ansicht durch den nachstehenden Code.

@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"); }
}

Gehen wir nun zur Klasse Program.cs und ändern die Standard-Controller-Route.

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

Dies ändert die Standardroute vom HomeController zu unserem QrCodeController.

Kompilieren und führen Sie das Projekt jetzt aus.

Ausgabe

!

Geben Sie Text in das Textfeld ein und klicken Sie auf die Schaltfläche zum Erstellen. Ein QR-Code wird erstellt und wie unten gezeigt auf dem Bildschirm angezeigt.

!

Fügen wir nun visuelle Styles zu unserem Barcode hinzu, indem wir Annotationstext, QR-Code-Wert hinzufügen und die QR-Code-Farbe ändern.

Visuelle Styles im QR-Code hinzufügen

Fügen Sie die folgende Codezeile in die CreateQRCode-Aktionsmethode ein.

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

Führen Sie das Projekt jetzt aus und erzeugen Sie den QR-Code.

!

Abschluss

In ASP.NET MVC ist die Integration von IronBarcode unkompliziert. Es bietet eine benutzerfreundliche Oberfläche, die die Arbeit mit QR-Codes erleichtert. Durch die Nutzung von IronBarcode können Sie Ihre Anwendung verbessern, indem Sie QR-Code-Funktionalität hinzufügen, sodass Benutzer Informationen bequem teilen und darauf zugreifen können. IronBarcode ist eine wertvolle Bibliothek, die den Prozess der QR-Code-Erzeugung und des Lesens von QR-Codes in ASP.NET MVC vereinfacht. Es befähigt Entwickler, dynamische Anwendungen zu erstellen, die die Kraft von QR-Codes für effizienten Datenaustausch und -abfrage nutzen.

Iron Barcode ist für den persönlichen Gebrauch kostenlos. However, for commercial purposes, you need to buy its commercial license, which comes with a free trial. Sie können auch einen signifikanten Rabatt erhalten, wenn Sie die komplette Iron Suite erwerben. Die Iron Suite ist eine umfassende Sammlung von .NET-Softwarekomponenten, die darauf abzielt, Entwicklungsaufgaben zu vereinfachen und Funktionen zu erweitern. It offers five powerful libraries, including Iron Barcode, IronOCR, IronPDF, IronXL, and Iron Webscraper that enable developers to work with barcodes, optical character recognition, PDF processing, Excel, and CSV files seamlessly. Sie erhalten alle fünf Produkte zum Preis von zwei, wenn Sie sich für den Kauf der vollständigen Iron Suite entscheiden.

Häufig gestellte Fragen

Wie erstelle ich einen QR-Code in ASP.NET MVC?

Sie können einen QR-Code in ASP.NET MVC erstellen, indem Sie ein Projekt in Visual Studio einrichten, die IronBarcode-Bibliothek über NuGet mit dem Befehl Install-Package IronBarCode installieren und die Klassen von IronBarcode verwenden, um einen QR-Code in Ihrem Controller zu generieren und ihn in einer Ansicht anzuzeigen.

Kann ich das Erscheinungsbild von QR-Codes in meiner Anwendung anpassen?

Ja, IronBarcode ermöglicht es Ihnen, QR-Codes anzupassen, indem Sie Größe, Auflösung, Farben und Logos oder Anmerkungen hinzufügen, die die visuelle Attraktivität und Funktionalität Ihrer QR-Codes verbessern können.

Wie zeige ich einen QR-Code in einer ASP.NET-MVC-Ansicht an?

Nachdem Sie einen QR-Code mit IronBarcode generiert haben, können Sie ihn in einer ASP.NET-MVC-Ansicht anzeigen, indem Sie die Bild-URL im ViewBag speichern und ein HTML <img>-Tag in Ihrer Razor-Ansicht verwenden, um das QR-Code-Bild zu rendern.

Wie kann ich QR-Codes mit einer .NET-Anwendung dekodieren?

Sie können QR-Codes in einer .NET-Anwendung mit IronBarcode dekodieren, das Funktionen zum Scannen und Extrahieren von Daten aus verschiedenen Barcode-Formaten bietet, einschließlich QR-Codes, was es für Anwendungen wie Bestandsverwaltung und Ticketverifizierung geeignet macht.

Gibt es eine kostenlose Version der IronBarcode-Bibliothek?

IronBarcode ist für den persönlichen Gebrauch kostenlos und ermöglicht Entwicklern, mit seinen Funktionen zu experimentieren und sie zu testen. Für kommerzielle Nutzung ist eine Lizenz erforderlich, die erworben werden kann und mit einer kostenlosen Testversion zur Bewertung kommt.

Was sind einige Anwendungen von QR-Codes in ASP.NET-MVC-Projekten?

QR-Codes in ASP.NET-MVC-Projekten können für schnellen Zugriff auf Websites, kontaktlose Zahlungen, Ticketing, Bestandsverwaltung und mobile Anwendungsintegration verwendet werden, wodurch die Benutzerinteraktion und Informationsverbreitung verbessert werden.

Wie richte ich ein ASP.NET-MVC-Projekt zur QR-Code-Erstellung ein?

Um ein ASP.NET-MVC-Projekt für die QR-Code-Erstellung einzurichten, verwenden Sie Visual Studio, um eine neue ASP.NET-Core-Web-App mit der 'Model-view-controller'-Vorlage zu erstellen, und installieren Sie dann die IronBarcode-Bibliothek, um in Ihrer Anwendung QR-Codes zu erstellen.

Welche Bibliotheken sind in der Iron Suite enthalten?

Die Iron Suite enthält verschiedene .NET-Bibliotheken wie Iron Barcode, Iron OCR, Iron PDF, Iron XL und Iron Webscraper, die jeweils spezialisierte Funktionen für Aufgaben wie Barcode-Erstellung, optische Zeichenerkennung, PDF-Manipulation, Excel-Verarbeitung und Web-Scraping bieten.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen