Wie man den QR-Code-Typ in C# liest
Identifizieren Sie das Format eines gescannten QR-Codes zur Laufzeit. Lesen Sie QrResult.QrType, um die Symbologie zu erkennen und eine typbezogene Verarbeitungslogik für verschiedene Eingabequellen zu erstellen.
Wenn eine Anwendung QR-Codes aus mehreren Quellen akzeptiert, ist das Format nicht immer vorhersehbar. Eine Logistikplattform könnte standardmäßige QR-Codes von Versandetiketten neben kompakten Micro-QR-Codes von Produktetiketten erhalten. Ein Dokumentenverarbeitungssystem könnte Codes scannen, die in PDFs eingebettet sind, zusammen mit denen, die auf physische Medien gedruckt sind. Durch das Lesen von QrResult.QrType erhält die Anwendung Einblick in das erkannte Format, wodurch es möglich wird, Eingaben zu validieren, Daten an den richtigen Handler weiterzuleiten oder nicht unterstützte Formate zur Überprüfung zu protokollieren.
Dieser Leitfaden zeigt, wie man das QR-Code-Format aus Scanergebnissen mit der IronQR-Bibliothek abruft. Entwickler, die noch keinen QR-Code gescannt haben, sollten zunächst mit dem QR-Codes aus Bildern lesen-Leitfaden beginnen.
Schnellstart: Lesen Sie einen QR-Code-Typ
Laden Sie ein Bild, scannen Sie es mit QrReader und greifen Sie auf das erkannte Format zu.
-
Installieren Sie IronQR mit NuGet Package Manager
PM > Install-Package IronQR -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var input = new QrImageInput("qr-code.png"); var results = new QrReader().Read(input); Console.WriteLine(results.First().QrType); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronQR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Laden Sie die IronQR C#-Bibliothek herunter, um QR-Code-Typen zu lesen
- Laden Sie das Bild und umwickeln Sie es in einem
QrImageInput - Erstellen Sie eine
QrReaderInstanz und rufen SieReadmit dem Eingabebild auf - Zugriff auf das erkannte Format durch
QrResult.QrType - Verwenden Sie ein
switchbeiQrEncoding, um die Verarbeitung nach Format weiterzuleiten
Wie lese ich den QR-Code-Typ?
Um den Typ eines QR-Codes zu lesen, laden Sie das Bild in einen QrImageInput, übergeben Sie es an einen QrReader.Read() und greifen Sie auf QrType im zurückgegebenen QrResult zu. Die Eigenschaft gibt einen QrEncoding-Enum-Wert zurück, der die erkannte Symbologie identifiziert.
Eingabe
Der unten stehende QR-Code kodiert https://ironsoftware.com und wird gescannt, um seinen Typ zu extrahieren.
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type.cs
using IronQr;
using System.Drawing;
using System.Linq;
// Import an image containing a QR code
var inputImage = Image.FromFile("sample.jpg");
// Load the asset into a QrImageInput object
QrImageInput imageInput = new QrImageInput(inputImage);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// Display the type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}");
Imports IronQr
Imports System.Drawing
Imports System.Linq
' Import an image containing a QR code
Dim inputImage As Image = Image.FromFile("sample.jpg")
' Load the asset into a QrImageInput object
Dim imageInput As New QrImageInput(inputImage)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the input and get all embedded QR codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Display the type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}")
QrType gibt einen QrEncoding-Enum-Wert zurück, wie z. B. QrEncoding.QRCode, QrEncoding.MicroQRCode oder QrEncoding.RMQRCode. Dadurch kann sie sicher direkt in einer switch-Anweisung verwendet werden, ohne dass eine Analyse oder ein String-Vergleich erforderlich ist.
Ausgabe
Wie leite ich die Verarbeitung nach QR-Code-Format weiter?
Wenn eine Anwendung QR-Codes aus mehreren Quellen erhält, ist nicht jeder Input dasselbe Format. Verwenden Sie ein switch auf QrResult.QrType, um jeden erkannten Code basierend auf seinem QrEncoding-Wert an den richtigen Handler weiterzuleiten. Dies hält die format-spezifische Logik isoliert und macht das Hinzufügen neuer Format-Äste einfach.
Verwenden Sie denselben QR-Code wie oben:
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type-all.cs
using IronQr;
using IronQr.Enum;
using System.Drawing;
// Import an image containing QR codes
var inputImage = Image.FromFile("sample.jpg");
// Load the asset into a QrImageInput object
QrImageInput imageInput = new QrImageInput(inputImage);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read all embedded QR codes from the image
IEnumerable<QrResult> results = reader.Read(imageInput);
// Route processing based on the detected QR code format
foreach (QrResult result in results)
{
switch (result.QrType)
{
case QrEncoding.QRCode:
Console.WriteLine($"Standard QR Code: {result.Value}");
break;
case QrEncoding.MicroQRCode:
Console.WriteLine($"Micro QR Code: {result.Value}");
break;
case QrEncoding.RMQRCode:
Console.WriteLine($"RMQR Code: {result.Value}");
break;
default:
Console.WriteLine($"Other format ({result.QrType}): {result.Value}");
break;
}
}
Imports IronQr
Imports IronQr.Enum
Imports System.Drawing
' Import an image containing QR codes
Dim inputImage As Image = Image.FromFile("sample.jpg")
' Load the asset into a QrImageInput object
Dim imageInput As New QrImageInput(inputImage)
' Create a QR Reader object
Dim reader As New QrReader()
' Read all embedded QR codes from the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Route processing based on the detected QR code format
For Each result As QrResult In results
Select Case result.QrType
Case QrEncoding.QRCode
Console.WriteLine($"Standard QR Code: {result.Value}")
Case QrEncoding.MicroQRCode
Console.WriteLine($"Micro QR Code: {result.Value}")
Case QrEncoding.RMQRCode
Console.WriteLine($"RMQR Code: {result.Value}")
Case Else
Console.WriteLine($"Other format ({result.QrType}): {result.Value}")
End Select
Next
Jedes case ist auf einen bestimmten QrEncoding-Wert ausgerichtet. Der Zweig QrType fängt jedes Format ab, das nicht explizit behandelt wird, sodass die Schleife bei unerwarteten Eingaben niemals stillschweigend fehlschlägt. Fügen Sie mehr Fälle hinzu, wenn die Anwendung weitere Formate unterstützen muss.
Ausgabe
Was gibt QrResult.QrType zurück?
QrResult.QrType ist eine QrEncoding enum-Eigenschaft jedes QrResult, die die vom Scanner erkannte Symbolik identifiziert. Sie wird während QrReader.Read() automatisch ausgefüllt und erfordert keine zusätzliche Konfiguration. Fügen Sie using IronQr.Enum; hinzu, um QrEncoding-Werte direkt in einem switch zu verwenden.
| Wert | Beschreibung |
|---|---|
QrEncoding.QRCode |
Standard-QR-Code, das am häufigsten verwendete Format in allen Branchen |
QrEncoding.MicroQRCode |
Kompakte Variante, die für kleine Flächen mit begrenztem Druckbereich entwickelt wurde |
QrEncoding.RMQRCode |
Rechteckiger Micro-QR-Code optimiert für schmale, langgestreckte Etikettenformen (rMQR) |
QrType ist schreibgeschützt und gibt wieder, was der Scanner im Bild erkannt hat. Sein Wert hängt nicht davon ab, wie der QR-Code generiert wurde.
Was sind häufige Anwendungsfälle für QrType?
- Logistik und Versand: Erkennnen, ob ein Etikett einen Standard-QR-Code oder einen kompakten Micro-QR-Code trägt und leiten jeden an die richtige Parsing-Pipeline weiter.
- Dokumentenverarbeitung: Überprüfen, ob ein gescanntes Dokument das erwartete Format enthält, bevor der Wert für die Aufzeichnungsextraktion verwendet wird.
- Multiformat-Kioske: Akzeptieren Sie verschiedene QR-Formate an einer einzigen Station und leiten Sie jedes ohne manuelle Eingriffe an den entsprechenden Handler weiter.
- Audit und Compliance: Protokollieren Sie den Symbologietyp zusammen mit decodierten Werten, um einen überprüfbaren Datensatz der Eingabeformate über Chargen hinweg zu erstellen.
- Qualitätssicherung: Überprüfen Sie, ob generierte QR-Codes als beabsichtigter Typ gescannt werden, um zu bestätigen, dass die Ausgabe der Spezifikation entspricht.
Für weitere Informationen zum Lesen von QR-Codedaten nach Erkennung des Typs siehe Read QR Code Value und die vollständige IronQR-Feature-Liste.
Häufig gestellte Fragen
Was ist der Zweck von QrResult.QrType in IronQR?
QrResult.QrType in IronQR wird verwendet, um die Symbologie eines gescannten QR-Codes zu erkennen und ermöglicht so eine intelligente formatbasierte Verarbeitung in Ihren C#-Anwendungen.
Wie kann ich einen QR-Code-Typ mit IronQR lesen?
Um einen QR-Code-Typ mit IronQR zu lesen, können Sie die Methode QrReader.Read() auf einem QrImageInput verwenden. Dadurch können Sie auf QrResult.QrType zugreifen, das Informationen über den spezifischen gescannten QR-Code-Typ bietet.
Warum ist die Erkennung des QR-Code-Typs in C#-Anwendungen wichtig?
Die Erkennung des QR-Code-Typs ist in C#-Anwendungen wichtig, da sie es Entwicklern ermöglicht, QR-Codes intelligent basierend auf ihrem Format zu verarbeiten, was eine angemessene Handhabung und Datenextraktion sicherstellt.
Kann IronQR verschiedene QR-Code-Symbologien handhaben?
Ja, IronQR kann verschiedene QR-Code-Symbologien handhaben, indem es QrResult.QrType verwendet, um die verschiedenen QR-Code-Typen genau zu identifizieren und zu verarbeiten.
Welche Rolle spielt QrReader.Read() beim Scannen von QR-Codes?
QrReader.Read() ist eine Methode in IronQR, die QR-Codes aus einem QrImageInput scannt und es Ihnen ermöglicht, den QR-Code-Typ und andere relevante Informationen für die weitere Verarbeitung abzurufen.
Ist es möglich, mehrere QR-Code-Typen mit IronQR zu verarbeiten?
Ja, IronQR ermöglicht es Ihnen, mehrere QR-Code-Typen zu verarbeiten, indem Sie die Eigenschaft QrResult.QrType verwenden, um jeden QR-Code entsprechend seiner Symbologie zu identifizieren und zu bearbeiten.
Welche Vorteile bietet die Verwendung von IronQR zum Lesen von QR-Codes in C#?
Die Verwendung von IronQR zum Lesen von QR-Codes in C# bietet Vorteile wie die genaue Erkennung von QR-Code-Typen, intelligente, formatbasierte Verarbeitung und nahtlose Integration mit C#-Anwendungen.
Wie verbessert IronQR die Effizienz der QR-Code-Verarbeitung?
IronQR verbessert die Effizienz der QR-Code-Verarbeitung, indem es Werkzeuge wie QrReader.Read() und QrResult.QrType bereitstellt, die die Identifizierung und Handhabung verschiedener QR-Code-Typen in Ihren C#-Projekten rationalisieren.

