Comment lire le type de QR Code en C

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

Identifiez le format de tout code QR scanné lors de l'exécution. Lisez QrResult.QrType pour détecter la symbologie et créer une logique de traitement adaptée au type de données pour diverses sources d'entrée.

Lorsqu'une application accepte des codes QR de plusieurs sources, le format n'est pas toujours prévisible. Une plateforme logistique peut recevoir des codes QR standard des étiquettes d'expédition en plus de codes Micro QR compacts provenant des étiquettes de produit. Un système de traitement de documents peut scanner des codes intégrés dans des PDFs en plus de ceux imprimés sur des supports physiques. La lecture de QrResult.QrType permet à l'application de savoir quel format a été détecté, ce qui permet de valider les données saisies, de les acheminer vers le gestionnaire approprié ou d'enregistrer les formats non pris en charge pour examen.

Ce guide démontre comment récupérer le format du code QR à partir des résultats de scan en utilisant la bibliothèque IronQR. Les développeurs qui n'ont pas encore scanné de code QR devraient commencer par le guide Lire les codes QR à partir d'une image.

Démarrage rapide : Lire un type de QR Code

Chargez une image, scannez-la avec QrReader, et accédez au format détecté.

  1. Installez IronQR avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronQR
  2. Copiez et exécutez cet extrait de code.

    var input = new QrImageInput("qr-code.png");
    var results = new QrReader().Read(input);
    Console.WriteLine(results.First().QrType);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronQR dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer

Comment lire le type de code QR?

Pour lire le type d'un code QR, chargez l'image dans un QrImageInput, transmettez-la à un QrReader.Read(), puis accédez à QrType sur le QrResult renvoyé. La propriété renvoie une valeur d'énumération QrEncoding identifiant la symbologie détectée.

Entrée

Le code QR ci-dessous encode https://ironsoftware.com et sera scanné pour en extraire son type.

Code QR encodant https://ironsoftware.com utilisé comme entrée pour la détection du type
: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 renvoie une valeur d'énumération QrEncoding telle que QrEncoding.QRCode, QrEncoding.MicroQRCode ou QrEncoding.RMQRCode. Cela permet de l'utiliser en toute sécurité directement dans une instruction switch sans analyse syntaxique ni comparaison de chaînes.

Sortie

Sortie console montrant le type de code QR détecté

Comment acheminer le traitement par format de code QR?

Lorsqu'une application reçoit des codes QR de plusieurs sources, toutes les entrées ne seront pas du même format. Utilisez un switch sur QrResult.QrType pour acheminer chaque code détecté vers le gestionnaire approprié en fonction de sa valeur QrEncoding. Cela maintient la logique spécifique au format isolée et rend l'ajout de nouvelles branches de formats simple.

En utilisant le même code QR d'entrée que ci-dessus :

: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

Chaque case correspond à une valeur QrEncoding spécifique. La branche QrType intercepte tout format non explicitement géré, de sorte que la boucle ne se bloque jamais silencieusement en cas d'entrée inattendue. Ajoutez plus de cas au fur et à mesure que l'application doit prendre en charge des formats supplémentaires.

Sortie

Sortie console montrant le résultat de l'acheminement basé sur le format pour chaque code QR détecté

Que renvoie QrResult.QrType ?

QrResult.QrType est une propriété QrEncoding enum de chaque QrResult qui identifie la symbologie détectée par le scanner. Elle est renseignée automatiquement pendant QrReader.Read() et ne nécessite aucune configuration supplémentaire. Ajoutez using IronQr.Enum; pour utiliser les valeurs QrEncoding directement dans un switch.

Valeur Description du projet
QrEncoding.QRCode Code QR standard, le format le plus courant utilisé dans toutes les industries
QrEncoding.MicroQRCode Variante compacte conçue pour les petites surfaces avec espace d'impression limité
QrEncoding.RMQRCode Code QR Micro rectangulaire optimisé pour les formes d'étiquettes étroites et allongées (rMQR)

QrType est en lecture seule et reflète ce que le scanner a détecté dans l'image. Sa valeur ne dépend pas de la manière dont le code QR a été généré.


Quels sont les cas d'utilisation courants de QrType ?

  • Logistique et expédition : Détectez si une étiquette porte un code QR standard ou un Micro QR compact et affectez chacun au bon canal de traitement.
  • Traitement de documents : Validez qu'un document scanné contient le format attendu avant d'extraire sa valeur pour l'appariement de dossiers.
  • Kiosques multi-formats : Acceptez différents formats de QR à une seule station et envoyez chacun au gestionnaire approprié sans intervention manuelle.
  • Audit et conformité : Connectez le type de symbologie aux valeurs décodées pour créer un enregistrement vérifiable des formats d'entrée sur plusieurs lots.
  • Assurance qualité : Vérifiez que les codes QR générés se scannent comme le type prévu, confirmant que la sortie correspond à la spécification.

Pour en savoir plus sur la lecture des données de code QR après détection du type, consultez le guide Lire la valeur du code QR et l'ensemble des fonctionnalités IronQR.

Questions Fréquemment Posées

Quel est le but de QrResult.QrType dans IronQR ?

QrResult.QrType dans IronQR est utilisé pour détecter la symbologie d'un code QR scanné, permettant un traitement intelligent basé sur le format dans vos applications C#.

Comment puis-je lire un type de code QR avec IronQR ?

Pour lire un type de code QR avec IronQR, vous pouvez utiliser la méthode QrReader.Read() sur un QrImageInput. Cela vous permettra d'accéder à QrResult.QrType, qui fournit des informations sur le type spécifique de code QR scanné.

Pourquoi est-il important de détecter le type de code QR dans les applications C# ?

Détecter le type de code QR est important dans les applications C# car cela permet aux développeurs de traiter intelligemment les codes QR en fonction de leur format, assurant un traitement approprié et une extraction de données efficace.

IronQR peut-il gérer différentes symbologies de codes QR ?

Oui, IronQR peut gérer différentes symbologies de codes QR en utilisant QrResult.QrType pour identifier et traiter avec précision divers types de codes QR.

Quel est le rôle de QrReader.Read() dans le scan de codes QR ?

QrReader.Read() est une méthode de IronQR qui scanne les codes QR à partir d'un QrImageInput, vous permettant de récupérer le type de code QR et d'autres informations pertinentes pour un traitement ultérieur.

Est-il possible de traiter plusieurs types de codes QR avec IronQR ?

Oui, IronQR vous permet de traiter plusieurs types de codes QR en utilisant la propriété QrResult.QrType pour identifier et gérer chaque code QR en fonction de sa symbologie.

Quels sont les avantages d'utiliser IronQR pour lire des codes QR en C# ?

Utiliser IronQR pour lire des codes QR en C# offre des avantages tels qu'une détection précise des types de codes QR, un traitement intelligent basé sur le format et une intégration transparente avec les applications C#.

Comment IronQR améliore-t-il l'efficacité du traitement des codes QR ?

IronQR améliore l'efficacité du traitement des codes QR en fournissant des outils comme QrReader.Read() et QrResult.QrType, qui optimisent l'identification et le traitement de divers types de codes QR dans vos projets C#.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 67,270 | Version : 2026.5 just released
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronQR
exécuter un échantillon regarder votre URL devenir un code QR.