Wie man den QR-Code-Typ in C# liest

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

  1. Installieren Sie IronQR mit NuGet Package Manager

    PM > Install-Package IronQR
  2. 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);
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronQR in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

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.

QR-Code, der https://ironsoftware.com codiert, als Eingabe für die Typenerkennung verwendet
: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}")
$vbLabelText   $csharpLabel

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

Konsolenausgabe zeigt den ermittelten QR-Code-Typ

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
$vbLabelText   $csharpLabel

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

Konsolenausgabe, die das formatbasierte Routing-Ergebnis für jeden erkannten QR-Code zeigt

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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 67,270 | Version: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronQR
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihre URL zu einem QR-Code wird.