QR Code lesen — Typ und Format erkennen in C
Identifizieren Sie das Format eines gescannten QR-Codes zur Laufzeit. Lesen Sie QrResult.QrType, um die Symbolik zu erkennen und formattypische Verarbeitungslogik für unterschiedliche Eingabequellen zu entwickeln.
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 zusammen mit kompakten Micro-QR-Codes von Produkttags erhalten. Ein Dokumentenverarbeitungssystem könnte Codes scannen, die in PDFs eingebettet sind, zusammen mit solchen, die auf physischen Medien gedruckt sind. Das Lesen von QrResult.QrType gibt der Anwendung Einblick, welches Format erkannt wurde, sodass es möglich ist, Eingaben zu validieren, Daten zum richtigen Handler zu leiten oder nicht unterstützte Formate zur Überprüfung zu protokollieren.
Diese Anleitung zeigt, wie das QR-Code-Format aus den Scan-Ergebnissen mit der IronQR-Bibliothek abgerufen werden kann. Entwickler, die noch keinen QR-Code gescannt haben, sollten zuerst mit der Anleitung QR-Codes aus Bild lesen beginnen.
Schnellstart: QR-Code-Typ lesen
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 umhüllen Sie es mit einem `QrImageInput`
- Erstellen Sie eine `QrReader`-Instanz und rufen Sie `Read` mit der Eingabe auf
- Greifen Sie über `QrResult.QrType` auf das erkannte Format zu
- Verwenden Sie ein `switch` über `QrEncoding`, um die Verarbeitung nach Format zu leiten
Wie lese ich den QR-Code-Typ?
Um den Typ eines QR-Codes zu lesen, laden Sie das Bild in ein QrImageInput, übergeben Sie es an QrReader.Read() und greifen Sie auf QrType auf dem zurückgegebenen QrResult zu. Die Eigenschaft gibt einen QrEncoding-Enum-Wert zurück, der die erkannte Symbolik identifiziert.
Eingabe
Der nachfolgende 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 wie QrEncoding.QRCode, QrEncoding.MicroQRCode oder QrEncoding.RMQRCode zurück. Dies macht es sicher, ihn direkt in einer switch-Anweisung zu verwenden, ohne Parsing oder Zeichenfolgenvergleich.
Ausgabe
Wie leite ich die Verarbeitung nach QR-Code-Format?
Wenn eine Anwendung QR-Codes aus mehreren Quellen erhält, wird nicht jede Eingabe dasselbe Format haben. Verwenden Sie ein switch auf QrResult.QrType, um jeden erkannten Code gemäß seinem QrEncoding-Wert an den richtigen Handler zu leiten. Dies hält format-spezifische Logik isoliert und macht das Hinzufügen neuer Format-Branches unkompliziert.
Verwenden des gleichen Eingabe-QR-Codes von 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
Jeder case zielt auf einen bestimmten QrEncoding-Wert. Der default-Zweig fängt jedes Format ab, das nicht explizit behandelt wird, sodass die Schleife bei unerwarteter Eingabe nicht stillschweigend fehlschlägt. Fügen Sie weitere Fälle hinzu, wenn die Anwendung zusätzliche Formate unterstützen muss.
Ausgabe
Was gibt QrResult.QrType zurück?
QrType ist eine QrEncoding-Enum-Eigenschaft auf jedem QrResult, die die vom Scanner erkannte Symbolik identifiziert. Sie wird während QrReader.Read() automatisch befü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, entworfen für kleine Flächen mit begrenztem Druckbereich |
QrEncoding.RMQRCode |
Rechteckiger Micro-QR-Code, optimiert für schmale, längliche Etikettenformen (rMQR) |
QrType ist schreibgeschützt und spiegelt wider, 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: Erkennung, ob ein Etikett einen standardmäßigen QR-Code oder einen kompakten Micro-QR trägt, und jeden in die richtige Parsing-Pipeline leiten.
- Dokumentenverarbeitung: Validierung, dass ein gescanntes Dokument das erwartete Format enthält, bevor sein Wert zum Abgleich von Datensätzen extrahiert wird.
- Mehrformat-Kioske: Akzeptieren verschiedener QR-Formate an einer einzigen Station und jeden ohne manuelle Eingriffe an den entsprechenden Handler weiterleiten.
- Audit und Compliance: Protokollierung der Symbolart neben dekodierten Werten, um eine überprüfbare Aufzeichnung von Eingabeformaten über Chargen hinweg zu erstellen.
- Qualitätssicherung: Überprüfung, dass generierte QR-Codes als beabsichtigter Typ zurückgescannt werden, um zu bestätigen, dass die Ausgabe der Spezifikation entspricht.
Für mehr über das Lesen von QR-Code-Daten nach der Erkennung des Typs, siehe die Anleitung QR-Code-Wert lesen und das vollständige IronQR-Feature-Set.

