Comment Lire un Code QR et Identifier Son Type 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é à l'exécution. Lisez QrResult.QrType pour détecter la symbologie et construisez une logique de traitement sensible au type 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. Lire QrResult.QrType donne à l'application une visibilité sur le format détecté, rendant possible la validation de l'entrée, l'acheminement des données vers le gestionnaire approprié, ou l'enregistrement des 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, passez-la à QrReader.Read(), et 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 le rend sûr à utiliser directement dans une instruction switch sans analyse ou 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 correct 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 cible une valeur QrEncoding spécifique. La branche default attrape tout format non explicitement traité, de sorte que la boucle ne échoue jamais silencieusement sur une 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 retourne QrResult.QrType?

QrType est une propriété d'énumération QrEncoding sur chaque QrResult qui identifie la symbologie détectée par le scanner. Elle est remplie 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
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 pour 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.

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 63,625 | Version : 2026.4 vient de sortir
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.