Zum Fußzeileninhalt springen
IRONQR NUTZEN

QR-Code-Generator und -Leser for .NET Core | IronQR

Die Erstellung eines QR-Code-Generators in .NET Core ist unkompliziert, wenn man die richtige Bibliothek auswählt. Bei der Bewertung der Anforderungen an einen QR-Code-Generator suchen die Entwickler nach einem ausgewogenen Verhältnis zwischen Benutzerfreundlichkeit und optionalen erweiterten Funktionen. Unabhängig davon, ob sie ASP.NET Core-Webanwendungen oder Konsolentools erstellen, benötigen Entwickler eine zuverlässige Bibliothek, die von der einfachen QR-Code-Erstellung bis hin zu erweiterten Anpassungen alles abdeckt.

IronQR bietet eine leistungsstarke Lösung for .NET Core, die die Codierung von Textstrings, URLs und japanischem Unicode-Text unterstützt. Während einige zunächst nach einer .NET-Open-Source-Bibliothek wie der QRCoder-Bibliothek suchen (die für ihre freizügige MIT-Lizenz bekannt ist), bietet IronQR eine unternehmenstaugliche Alternative mit Funktionen für maschinelles Lernen und speziellem Support.

Dieses Tutorial zeigt Ihnen, wie Sie QR-Codes generieren, Fehlerkorrekturstufen konfigurieren und vorhandene Codes mit Hilfe von maschinellem Lernen lesen können - und das alles innerhalb Ihrer .NET Core-Projekte.

Starten Sie noch heute mit IronQR mit einer kostenlosen Testversion.

Starten Sie jetzt mit IronQR.
green arrow pointer

Wie installiert man eine QR-Code-Bibliothek in .NET Core?

Um zu beginnen, öffnen Sie Visual Studio und klicken Sie auf die Schaltfläche "Erstellen", um ein neues Projekt zu starten. Sobald Sie einen Projektnamen zugewiesen haben, können Sie die Bibliothek über den NuGet Package Manager in Sekundenschnelle installieren. Während einige Entwickler vielleicht nach dem QRCoder NuGet-Paket suchen, können Sie das IronQR-Framework installieren, indem Sie den folgenden Befehl in der Paketmanager-Konsole ausführen:

Install-Package IronQR

Alternativ können Sie auch die NuGet Package Manager UI verwenden, indem Sie nach "IronQR" suchen und auf die Schaltfläche "Installieren" klicken. Die Bibliothek bietet eine .NET-Implementierung, die mit .NET Core 3.x, .NET 5, 6, 7, 8, 9 und 10 kompatibel ist, was sie ideal für moderne Webentwicklung und Multiplattform-Projekte macht.

Fügen Sie nach der Installation die erforderlichen using-Direktiven am Anfang Ihrer Datei hinzu. IronQR integriert IronSoftware.Drawing für die plattformübergreifende Bildverarbeitung, wodurch plattformspezifische Abhängigkeiten wie System.Drawing.Common überflüssig werden, da diese in .NET 6 und späteren Versionen für die plattformübergreifende Verwendung als veraltet gelten.

Sie können überprüfen, ob die Installation erfolgreich war, indem Sie die Paketverweise Ihres Projekts in der Datei .csproj überprüfen oder indem Sie bestätigen, dass das NuGet Paket in der Ausgabe der Paket-Manager-Konsole angezeigt wird. Nach der Installation steht die IronQR -API-Referenz sofort zur Verfügung.

Wie generiert man einen QR-Code?

Die Klasse QrWriter , die oft zusammen mit praktischen Erweiterungsmethoden verwendet wird, macht das Generieren von QR-Codes unkompliziert. Hier ist der Quellcode für ein vollständiges Beispiel, das Anweisungen auf oberster Ebene verwendet, um in nur wenigen Codezeilen einen QR-Code zu generieren:

using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from input text
QrCode qrcode = QrWriter.Write("https://ironsoftware.com");

// Save as PNG image
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("website-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from input text
QrCode qrcode = QrWriter.Write("https://ironsoftware.com");

// Save as PNG image
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("website-qr.png");
$vbLabelText   $csharpLabel

Ausgabe

QR-Code-Generator .NET Core: Erstellen und Lesen von QR-Codes in C#: Bild 1 – QR-Code aus der URL erstellt

Die Methode QrWriter.Write() verarbeitet die Daten zu QrCodeData, welches die Rohmodule (die schwarzen und weißen Quadrate) des QR-Symbols enthält. IronQR verwendet interne Payload-Generatoren, um sicherzustellen, dass der Eingabetext effizient für numerische Daten, alphanumerische Textstrings oder Byte-Arrays kodiert wird.

Die Klasse AnyBitmap aus IronSoftware.Drawing ermöglicht plattformübergreifendes Speichern von Bildern, sodass derselbe Code ohne Änderungen unter Windows, macOS und Linux funktioniert. Sie können die Ausgabe je nach Anwendungsfall als PNG, JPEG oder in anderen unterstützten Formaten speichern.

Eine praktische Demonstration finden Sie auf der Beispielseite zur Generierung von QR-Codes . Dort werden neben dem grundlegenden Generierungsablauf auch zusätzliche Konfigurationsoptionen gezeigt.

Was sind Fehlerkorrekturstufen und warum sind sie wichtig?

Die Fehlerkorrektur bestimmt, wie viel Schaden ein QR-Symbol erleiden kann, ohne dass es gescannt werden muss. Dies ist eine der optionalen fortschrittlichen Funktionen, die Branding und Langlebigkeit ermöglichen. Der QR-Code-Standard (ISO/IEC 18004) definiert vier Stufen der Fehlerkorrektur, wobei jede die Datenkapazität für Resilienz beeinflusst.

Fehlerkorrekturstufen von QR-Codes und ihre Anwendungsfälle
Ebene Datenwiederherstellung Am besten für
L (Niedrig) ~7% Saubere Digitalanzeigen
M (Mittel) ~15% Allgemeine Verwendung
Q (Quartil) ~25% Gedruckte Materialien
H (Hoch) ~30% Unwirtliche Umgebungen, Logo-Overlays

Fehlerkorrektur mithilfe von QR-Optionen konfigurieren:

using IronQr;
using IronSoftware.Drawing;

// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionEbene.High, 20);

// Generate QR code with options
QrCode qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionEbene.High, 20);

// Generate QR code with options
QrCode qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
$vbLabelText   $csharpLabel

QR-Ausgabe

QR-Code-Generator .NET Core: Erstellen und Lesen von QR-Codes in C#: Bild 2 – Generierter QR-Code mit Fehlerkorrektur

Der zweite Parameter gibt die maximal zulässige Versionsnummer an und steuert die Größe und Datenkapazität des QR-Codes. Eine höhere Fehlerkorrektur ist unerlässlich, wenn ein Logobild hinzugefügt wird oder wenn es um physische Abnutzung geht.

Wenn Sie ein Logo auf einen QR-Code einblenden möchten, verwenden Sie immer Ebene H. Die zusätzliche Redundanz kompensiert die durch das Logo verdeckten Module und sorgt dafür, dass der Code weiterhin lesbar bleibt. Die IronQR Fehlerkorrekturdokumentation erklärt, wie die Versionsauswahl mit der Datenkapazität und dem Korrekturniveau zusammenwirkt.

Wie passt man das Erscheinungsbild von QR-Codes mit Logo und Farben an?

Mit den QrStyleOptions von IronQR lassen sich markenkonforme QR-Codes mit benutzerdefinierten Farben, Abmessungen und eingebetteten Logos generieren. Dies ist besonders nützlich für Marketingmaterialien, Produktverpackungen und Veranstaltungstickets, bei denen visuelle Einheitlichkeit wichtig ist.

using IronQr;
using IronSoftware.Drawing;

var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};

QrCode qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
using IronQr;
using IronSoftware.Drawing;

var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};

QrCode qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
$vbLabelText   $csharpLabel

Gestylter QR-Code

QR-Code-Generator .NET Core: Erstellen und Lesen von QR-Codes in C#: Bild 3 – Formatierte QR-Code-Ausgabe

Die Eigenschaft Dimensions legt die Ausgabebildgröße in Pixeln fest. Die Eigenschaft Margins steuert die Ruhezone – den leeren Rand um den QR-Code, den Scanner benötigen, um die Symbolgrenze korrekt zu erkennen. Der Leitfaden zur Anpassung von QR-Codes behandelt zusätzliche Gestaltungseigenschaften, darunter Optionen für Hintergrundfarbe und Modulform.

Beim Einbetten eines Logos sollte dieses nicht mehr als 30 % der Gesamtfläche des QR-Codes einnehmen. Wird dieser Schwellenwert überschritten, kann die Lesbarkeit selbst bei Korrekturstufe H beeinträchtigt werden. Das Testen mit verschiedenen QR-Scanner-Anwendungen nach der Anpassung ist eine gute Vorgehensweise.

Wie generiert man QR-Codes in ASP.NET Core?

Die Integration der QR-Code-Generierung in ASP.NET Core erfolgt nach dem Model-View-Controller-Muster. Hier ist eine Implementierung der Klasse HomeController, die ein QR-Code-Bild direkt aus einer Aktionsmethode zurückgibt:

using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;

namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;

namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
$vbLabelText   $csharpLabel

Dieser Endpunkt nimmt QR-Code-Daten als Parameter entgegen und gibt das generierte PNG-Bild direkt zurück. Der Ansatz funktioniert gleichermaßen mit ASP.NET Core Web API-Projekten und Razor Ansichten.

Bei produktiven ASP.NET Core Anwendungen empfiehlt es sich, häufig generierte QR-Codes mithilfe von IMemoryCache oder IDistributedCache zwischenzuspeichern, um den CPU-Overhead zu reduzieren. QR-Codes für statische URLs, Produktkennungen oder Veranstaltungslinks ändern sich zwischen Anfragen nicht und eignen sich daher ideal für das Caching.

Sie können IronQR auch in einen Minimal-API-Endpunkt integrieren. Das ASP.NET Core -Integrationstutorial bietet ein vollständiges Beispiel inklusive Dependency-Injection-Mustern und zeigt, wie man QR-Code-Bilder von einer Blazor Komponente aus bereitstellt.

Die Registrierung des IronQR-Lizenzschlüssels in Program.cs mithilfe des Top-Ebene-Anweisungsmusters sorgt für eine saubere Startkonfiguration:

using IronQr;

IronQr.License.LicenseKey = "YOUR-LICENSE-KEY";
using IronQr;

IronQr.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

Legen Sie den Lizenzschlüssel fest, bevor Sie eine IronQR -Methode aufrufen. Während der Entwicklungsphase können Sie einen kostenlosen Testschlüssel verwenden, den Sie von der IronQR Lizenzseite erhalten.

Wie kodiert man japanischen Unicode-Text?

IronQR unterstützt die Kodierung von japanischem Unicode-Text über den Kanji-Modus, der japanische Unicode-Zeichen effizienter mit weniger Datensegmenten als die Standardkodierung kodiert. Dadurch wird die Version (Größe) des QR-Codes für denselben Inhalt reduziert, wodurch ein weniger komplexes Symbol entsteht, das schneller gescannt werden kann.

using IronQr;
using IronSoftware.Drawing;

// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
$vbLabelText   $csharpLabel

Ausgabe

QR-Code-Generator .NET Core: Erstellen und Lesen von QR-Codes in C#: Bild 4 – QR-Code mit japanischem Unicode-Text

Die Bibliothek wählt automatisch den Kanji-Modus aus, sobald sie japanische Schriftzeichen erkennt, und optimiert so die Datenkapazität des QR-Codes, ohne dass eine manuelle Konfiguration der Datensegmente erforderlich ist. Dies ist relevant für Anwendungen, die sich an japanischsprachige Nutzer richten, wie beispielsweise E-Commerce-Plattformen, Speisekarten von Restaurants oder Reiseinformationskioske.

Der Kanji-Modus kodiert Zeichen aus dem Shift JIS-Zeichensatz. Wenn Ihre Anwendung sowohl japanischen als auch lateinischen Text in derselben Zeichenkette verarbeitet, übernimmt IronQR die Modusumschaltung intern und wählt für jedes Segment die effizienteste Kodierung aus. Für Best Practices zur Internationalisierung in .NET bietet die Microsoft-Globalisierungsdokumentation hilfreichen Kontext zur Zeichenkodierung.

Wie kann man QR-Codes mit maschinellem Lernen lesen?

IronQR zeichnet sich durch seinen maschinellen Lernalgorithmus aus. Das ML-Modell erzielt eine hohe Genauigkeit selbst beim Lesen von QR-Codes aus schrägen Winkeln oder bei teilweise verdeckten Bildern – ein deutlicher Vorteil gegenüber den in vielen Open-Source-Alternativen verwendeten herkömmlichen schwellenwertbasierten Erkennungsalgorithmen.

using IronQr;
using IronSoftware.Drawing;

// Load image containing QR code
AnyBitmap inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);

// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
using IronQr;
using IronSoftware.Drawing;

// Load image containing QR code
AnyBitmap inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);

// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
$vbLabelText   $csharpLabel

QR-Code Leseausgabe

QR-Code-Generator .NET Core: Erstellen und Lesen von QR-Codes in C#: Bild 5 – Aus dem QR-Code gelesene Daten

Das Objekt QrResult enthält den dekodierten Wert sowie Positionsmetadaten, mit denen Sie den erkannten QR-Code-Bereich in UI-Overlays oder Dokumentenverarbeitungspipelines hervorheben können. Diese Funktionalität macht IronQR ideal für Dokumentenverarbeitungs- und Bestandsverwaltungssysteme.

Das ML-Modell läuft vollständig lokal auf dem Gerät, ohne dass Cloud-API-Aufrufe erforderlich sind, wodurch es sich für abgeschottete Umgebungen und Offline-Anwendungen eignet. Herkömmliche CV-basierte Detektoren wie ZXing .NET funktionieren gut für saubere, nach vorne gerichtete Codes, haben aber oft Probleme mit realen Bedingungen wie Blendung, Rotation oder Beschädigung. Der ML-Ansatz von IronQR bewältigt diese Szenarien zuverlässig.

Bei der Stapelverarbeitung von Dokumenten können Sie mehrere Bilder nacheinander an den Reader übergeben und alle Ergebnisse sammeln. Die Dokumentation zum Lesen von QR-Codes umfasst neben statischen Bilddateien auch das Lesen von PDF-Seiten und Kamerastreams.

Wie funktioniert die plattformübergreifende Unterstützung?

Im Gegensatz zu Lösungen, die auf System.Drawing.Common basieren (für die plattformübergreifende Verwendung in .NET 6+ veraltet), verwendet IronQR IronSoftware.Drawing für echte Multiplattform-Projekte. Ihr Code läuft konsistent unter Windows, macOS, Linux, iOS und Android. Bei plattformübergreifenden Projekten sind SkiaSharp-Alternativen überflüssig – IronQR übernimmt die Plattformabstraktion intern.

Die .NET -Dokumentation zur plattformübergreifenden Kompatibilität erläutert die umfassenderen Aspekte der Plattformkompatibilität for .NET 10. IronQR orientiert sich an diesen Prinzipien, indem es vollständig auf plattformspezifische APIs verzichtet.

IronQR unterstützt die folgenden Bereitstellungsziele:

  • .NET 10, 9, 8, 7, 6 – alle modernen .NET Versionen
  • .NET Core 3.x – für Anwendungen, die noch nicht auf das moderne .NET migriert wurden.
  • Xamarin und MAUI -- für die Entwicklung mobiler Anwendungen
  • Azure Functions und AWS Lambda – für serverlose Workloads

Bei der Ausführung in Docker-Containern werden keine zusätzlichen Systempakete über das Standard .NET -Laufzeitimage hinaus benötigt. Dies vereinfacht Ihre Dockerfile im Vergleich zu Bibliotheken, die native GDI+-Abhängigkeiten benötigen. Der IronQR Bereitstellungsleitfaden beschreibt die Konfiguration für containerisierte und Cloud-Umgebungen.

Wie vergleicht man IronQR mit anderen .NET QR-Bibliotheken?

Es existieren mehrere .NET QR-Code-Bibliotheken, jede mit ihren eigenen Vor- und Nachteilen. Das Verständnis der Unterschiede hilft Ihnen bei der Auswahl des richtigen Werkzeugs für Ihr Projekt.

QRCoder ist eine Open-Source-Bibliothek unter der MIT-Lizenz. Es eignet sich gut für die einfache Generierung von QR-Codes, bietet aber keine Funktionen zum Lesen von QR-Codes oder zur maschinellen Erkennung. Die Ausgabemöglichkeiten sind im Vergleich zu den gestylten Ausgabeoptionen von IronQR eingeschränkter.

ZXing .NET ist eine C#-Portierung der Java-Bibliothek ZXing. Es unterstützt sowohl das Lesen als auch das Schreiben, stützt sich aber auf traditionelle Computer-Vision-Techniken, die mit beschädigten oder gedrehten Codes zu kämpfen haben. Die plattformübergreifende Bildverarbeitung erfordert zusätzliche Konfiguration.

IronQR bietet die Generierung und das Lesen von QR-Codes in einem einzigen Paket; die Unternehmenslizenz beinhaltet auch dedizierten Support. Der ML-gestützte Reader, die formatierte Ausgabe und die IronSoftware.Drawing-Integration machen es zu einer umfassenderen Lösung für Produktionsanwendungen.

Einen detaillierten Funktionsvergleich finden Sie in den Vergleichsartikeln IronQR vs. QRCoder und IronQR vs. ZXing .

Was sind Ihre nächsten Schritte?

IronQR bietet eine Komplettlösung für die Generierung und das Lesen von QR-Codes in .NET Core. Durch die automatische Handhabung komplexer Payload-Generatoren und die Zusammenstellung von Rohmodulen und QrCodeData Daten wird der Entwicklungszyklus vereinfacht. Egal ob Sie eine einfache Open-Source-Bibliotheksalternative oder ein System mit optionalen erweiterten Funktionen benötigen, die plattformübergreifende Architektur von IronQR gewährleistet einen zuverlässigen Betrieb.

Um mit IronQR weiterzuentwickeln, erkunden Sie diese Ressourcen:

Starten Sie Ihre kostenlose Testphase und entdecken Sie das volle Potenzial von IronQR ohne jegliche Vorabverpflichtung.

Häufig gestellte Fragen

Wie kann ich mit IronQR QR-Codes in .NET Core erzeugen?

Sie können QR-Codes in .NET Core generieren, indem Sie IronQR verwenden. IronQR bietet eine benutzerfreundliche Bibliothek, die sowohl grundlegende QR-Code-Erstellung als auch erweiterte Anpassungsfunktionen ermöglicht.

Welche Anpassungsmöglichkeiten gibt es bei IronQR für die QR-Code-Generierung?

IronQR bietet verschiedene Anpassungsoptionen, darunter die Konfiguration von Fehlerkorrekturstufen und das Hinzufügen von Logos zu Ihren QR-Codes, um sicherzustellen, dass sie Ihren spezifischen Anforderungen entsprechen.

Kann IronQR die QR-Code-Generierung in ASP.NET Core-Webanwendungen übernehmen?

Ja, IronQR ist vollständig kompatibel mit ASP.NET Core Webanwendungen, sodass Entwickler die QR-Code-Generierung in ihre Projekte integrieren können.

Ist es möglich, QR-Codes mit IronQR in .NET Core zu lesen?

IronQR wurde entwickelt, um QR-Codes mit hoher Genauigkeit zu lesen und nutzt die Technologie des maschinellen Lernens, um eine präzise Erkennung und Datenextraktion zu gewährleisten.

Warum ist IronQR für Entwickler geeignet, die einen QR-Code-Generator suchen?

IronQR bietet ein ausgewogenes Verhältnis zwischen Benutzerfreundlichkeit und fortschrittlichen Funktionen und ist damit die ideale Wahl für Entwickler, die eine vielseitige und zuverlässige QR-Code-Bibliothek benötigen.

Gibt es erweiterte Funktionen für die QR-Code-Verarbeitung in IronQR?

Ja, IronQR umfasst erweiterte Funktionen wie die Konfiguration der Fehlerkorrektur, das Hinzufügen von Branding-Elementen und die Verarbeitung verschiedener QR-Code-Formate.

Wie gewährleistet IronQR die Genauigkeit beim Lesen von QR-Codes?

IronQR nutzt auf maschinellem Lernen basierende Algorithmen, um die Genauigkeit beim Lesen von QR-Codes zu verbessern und eine zuverlässige Datenerfassung auch unter schwierigen Bedingungen zu gewährleisten.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me