Passer au contenu du pied de page
UTILISATION D'IRONQR

QR Code .NET Core Generator & Reader | IronQR for .NET Core Generator & Reader | IronQR for .NET Core Generator & Reader | IronQR for .NET Core Generator & Reader

Créer un générateur de codes QR en .NET Core est simple lorsque vous choisissez la bonne bibliothèque. Lorsqu'ils évaluent les exigences d'un générateur de code QR, les développeurs recherchent un équilibre entre la facilité d'utilisation et les fonctions avancées optionnelles. Qu'il s'agisse de créer des applications web ASP.NET Core ou des outils de console, les développeurs ont besoin d'une bibliothèque fiable qui gère tout, de la création basique de codes QR à la personnalisation avancée.

IronQR fournit une solution puissante for .NET Core qui prend en charge l'encodage des chaînes de texte, des URL et du texte japonais Unicode. Bien que certains puissent initialement rechercher une bibliothèque open source .NET telle que la bibliothèque QRCoder (connue pour sa licence MIT permissive), IronQR for .NET offre une alternative de niveau entreprise avec des capacités d'apprentissage automatique et un support dédié.

Ce tutoriel montre comment générer des codes QR, configurer les niveaux de correction d'erreur et lire les codes existants à l'aide d'une détection alimentée par l'apprentissage automatique, le tout au sein de vos projets .NET Core.

Démarrez avec IronQR dès aujourd'hui en utilisant une version d'essai gratuite.

Commencez avec IronQR maintenant.
green arrow pointer

Comment installer une bibliothèque de codes QR dans .NET Core?

Pour commencer, ouvrez Visual Studio et cliquez sur le bouton "Créer" pour lancer un nouveau projet. Une fois que vous avez attribué un nom de projet, l'installation de la bibliothèque via le Package Manager NuGet ne prend que quelques secondes. Bien que certains développeurs puissent rechercher le package NuGet QRCoder, vous pouvez installer le framework IronQR en exécutant la commande suivante dans la console du gestionnaire de packages :

Install-Package IronQR

Vous pouvez également utiliser l'interface utilisateur du Package Manager NuGet en recherchant "IronQR" et en cliquant sur le bouton d'installation. La bibliothèque fournit une implémentation .NET compatible avec .NET Core 3.x, .NET 5, 6, 7, 8, 9 et 10, ce qui la rend idéale pour le développement web moderne et les projets multiplateformes.

Après l'installation, ajoutez les directives using requises en haut de votre fichier. IronQR s'intègre à IronSoftware.Drawing pour la gestion des images multiplateformes, éliminant ainsi le besoin de dépendances spécifiques à chaque plateforme telles que System.Drawing.Common, qui est obsolète pour une utilisation multiplateforme dans .NET 6 et versions ultérieures.

Vous pouvez vérifier que l'installation a réussi en vérifiant les références de package de votre projet dans le fichier .csproj ou en confirmant que le package NuGet apparaît dans la sortie de la console du gestionnaire de packages. Une fois installée, la documentation de l'API IronQR est immédiatement disponible.

Comment générer un code QR?

La classe QrWriter , souvent utilisée conjointement avec des méthodes d'extension pratiques, simplifie la génération de codes QR. Voici le code source d'un exemple complet utilisant des instructions de niveau supérieur pour générer un code QR en quelques lignes de code seulement :

using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from input text
QrCode qrcode = QrWriter.Write("https://ironsoftware.com");

// Save as PNG image
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("website-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Generate a QR code from input text
QrCode qrcode = QrWriter.Write("https://ironsoftware.com");

// Save as PNG image
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("website-qr.png");
$vbLabelText   $csharpLabel

Sortie

Générateur de codes QR .NET Core: Créez et lisez des codes QR en C# : Image 1 - QR créé à partir de l'URL

La méthode QrWriter.Write() traite les données en QrCodeData, qui contient les modules bruts (les carrés noirs et blancs) du symbole QR. IronQR utilise des générateurs de charge utile internes pour s'assurer que le texte d'entrée est efficacement codé pour des données numériques, des chaînes de texte alphanumériques ou des tableaux d'octets.

La classe AnyBitmap de IronSoftware.Drawing fournit un enregistrement d'image multiplateforme, de sorte que le même code fonctionne sur Windows, macOS et Linux sans modification. Vous pouvez enregistrer le résultat au format PNG, JPEG ou dans d'autres formats pris en charge, selon votre cas d'utilisation.

Pour une démonstration pratique, consultez la page d'exemple de génération de code QR qui présente des options de configuration supplémentaires en plus du flux de travail de génération de base.

Qu'est-ce que les niveaux de correction d'erreur et pourquoi sont-ils importants ?

La correction d'erreurs détermine le niveau de dommages qu'un symbole QR peut subir tout en restant scannable. Il s'agit de l'une des fonctions avancées optionnelles qui permet de créer une image de marque et d'assurer la durabilité. La norme relative aux codes QR (ISO/IEC 18004) définit quatre niveaux de correction d'erreurs, chacun privilégiant la capacité de données à la résilience.

Niveaux de correction d'erreurs des codes QR et leurs cas d'utilisation
Niveau Récupération de données Idéal pour
L (Faible) ~7% Affichages numériques propres
M (Moyen) ~15% Usage général
Q (Quartile) ~25% documents imprimés
H (Élevé) ~30% Environnements difficiles, superpositions de logos

Configurer la correction d'erreurs à l'aide de QrOptions :

using IronQr;
using IronSoftware.Drawing;

// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionNiveau.High, 20);

// Generate QR code with options
QrCode qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionNiveau.High, 20);

// Generate QR code with options
QrCode qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
$vbLabelText   $csharpLabel

Sortie QR

Générateur de codes QR .NET Core: Créez et lisez des codes QR en C# : Image 2 - Code QR généré avec correction d'erreurs.

Le deuxième paramètre spécifie le numéro de version maximum autorisé, contrôlant ainsi la taille et la capacité de données du code QR. Une meilleure correction des erreurs est essentielle lors de l'ajout d'une image de logo ou pour les scénarios d'usure physique.

Lorsque vous prévoyez de superposer un logo sur un code QR, utilisez toujours le niveau H. Cette redondance supplémentaire compense les modules masqués par le logo, ce qui permet de conserver la lisibilité du code. La documentation relative à la correction des erreurs IronQR explique comment la sélection de la version interagit avec la capacité des données et le niveau de correction.

Comment personnaliser l'apparence du code QR avec le logo et les couleurs ?

L'option QrStyleOptions d'IronQR permet de générer des codes QR conformes à l'image de marque, avec des couleurs, des dimensions et des logos intégrés personnalisés. Ceci est particulièrement utile pour les supports marketing, les emballages de produits et les billets d'événements où la cohérence visuelle est importante.

using IronQr;
using IronSoftware.Drawing;

var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};

QrCode qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
using IronQr;
using IronSoftware.Drawing;

var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};

QrCode qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
$vbLabelText   $csharpLabel

Code QR stylisé

Générateur de codes QR .NET Core: Créez et lisez des codes QR en C# : Image 3 - Sortie de code QR stylisé

La propriété Dimensions définit la taille de l'image de sortie en pixels. La propriété Margins contrôle la zone silencieuse -- la bordure blanche autour du code QR dont les scanners ont besoin pour identifier correctement la limite du symbole. Le guide de personnalisation des codes QR couvre des propriétés de style supplémentaires, notamment les options de couleur d'arrière-plan et de forme du module.

Lors de l'intégration d'un logo, veillez à ce qu'il ne dépasse pas 30 % de la surface totale du code QR. Le dépassement de ce seuil peut compromettre la lisibilité même avec une correction de niveau H. Il est recommandé de tester avec plusieurs applications de lecture de QR codes après la personnalisation.

Comment générer des codes QR en ASP.NET Core?

L'intégration de la génération de codes QR dans ASP.NET Core suit le modèle Modèle Vue Contrôleur. Voici une implémentation de classe HomeController qui renvoie une image de code QR directement depuis une méthode d'action :

using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;

namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;

namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
$vbLabelText   $csharpLabel

Ce point d'accès accepte les données du code QR en tant que paramètre et renvoie directement l'image PNG générée. Cette approche fonctionne aussi bien avec les projets d'API Web ASP.NET Core qu'avec les vues Razor .

Pour les applications ASP.NET Core de production, envisagez de mettre en cache les codes QR fréquemment générés à l'aide de IMemoryCache ou IDistributedCache afin de réduire la charge du processeur. Les codes QR pour les URL statiques, les identifiants de produits ou les liens d'événements ne changent pas entre les requêtes et sont des candidats idéaux pour la mise en cache.

Vous pouvez également intégrer IronQR dans un point de terminaison d'API Minimal. Le tutoriel d'intégration ASP.NET Core fournit un exemple complet incluant les modèles d'injection de dépendances et la manière de servir des images de code QR à partir d'un composant Blazor .

L'enregistrement de la clé de licence d'IronQR dans Program.cs à l'aide du modèle d'instruction de niveau supérieur permet de conserver une configuration de démarrage propre :

using IronQr;

IronQr.License.LicenseKey = "YOUR-LICENSE-KEY";
using IronQr;

IronQr.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

Définissez la clé de licence avant d'appeler toute méthode IronQR . En phase de développement, vous pouvez utiliser une clé d'essai gratuite obtenue sur la page de licence IronQR .

Comment coder un texte japonais en Unicode?

IronQR prend en charge l'encodage de texte Unicode japonais via le mode Kanji, qui encode efficacement les caractères Unicode japonais en utilisant moins de segments de données que l'encodage standard. Cela réduit la taille du code QR pour un même contenu, produisant un symbole moins complexe qui se scanne plus rapidement.

using IronQr;
using IronSoftware.Drawing;

// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
using IronQr;
using IronSoftware.Drawing;

// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
$vbLabelText   $csharpLabel

Sortie

Générateur de codes QR .NET Core: Créez et lisez des codes QR en C# : Image 4 - Code QR encodé avec du texte Unicode japonais.

La bibliothèque sélectionne automatiquement le mode Kanji lorsqu'elle détecte des caractères japonais, optimisant ainsi la capacité de données du code QR sans configuration manuelle des segments de données. Cela a son importance pour les applications destinées aux utilisateurs japonais, telles que les plateformes de commerce électronique, les menus de restaurants ou les bornes d'information touristique.

Le mode Kanji encode les caractères du jeu de caractères Shift JIS. Si votre application traite à la fois du texte japonais et latin dans la même chaîne, IronQR gère le changement de mode en interne, en sélectionnant l'encodage le plus efficace pour chaque segment. Pour connaître les bonnes pratiques d'internationalisation dans .NET, la documentation Microsoft sur la mondialisation fournit des informations utiles sur l'encodage des caractères.

Comment lire les codes QR avec l'apprentissage automatique?

IronQR se distingue par son lecteur de QR code basé sur l'apprentissage automatique . Le modèle d'apprentissage automatique atteint une grande précision même en lisant les codes QR sous différents angles ou sur des images partiellement masquées, ce qui représente un avantage significatif par rapport aux algorithmes de détection traditionnels basés sur un seuil utilisés dans de nombreuses alternatives open source.

using IronQr;
using IronSoftware.Drawing;

// Load image containing QR code
AnyBitmap inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);

// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
using IronQr;
using IronSoftware.Drawing;

// Load image containing QR code
AnyBitmap inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);

// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
$vbLabelText   $csharpLabel

Sortie de lecture du code QR

Générateur de codes QR .NET Core: Créer et lire des codes QR en C# : Image 5 - Données lues à partir d'un code QR

L'objet QrResult contient la valeur décodée ainsi que des métadonnées de position, que vous pouvez utiliser pour mettre en évidence la région du code QR détectée dans les superpositions d'interface utilisateur ou les pipelines de traitement de documents. Cette fonctionnalité fait IronQR la solution idéale pour les systèmes de traitement de documents et de gestion des stocks.

Le modèle d'apprentissage automatique s'exécute entièrement sur l'appareil, sans aucun appel d'API cloud, ce qui le rend adapté aux environnements isolés et aux applications hors ligne. Les détecteurs traditionnels basés sur la vision par ordinateur, tels que ZXing .NET, fonctionnent bien pour les codes propres et orientés vers l'avant, mais ont souvent du mal avec les conditions réelles comme les reflets, la rotation ou les dommages. L'approche d'apprentissage automatique d'IronQR gère ces scénarios de manière fiable.

Pour le traitement par lots de documents, vous pouvez transmettre plusieurs images au lecteur en séquence et collecter tous les résultats. La documentation relative à la lecture des codes QR couvre la lecture à partir de pages PDF et de flux vidéo, en plus des fichiers image statiques.

Comment fonctionne la prise en charge multiplateforme?

Contrairement aux solutions dépendantes de System.Drawing.Common (déprécié pour une utilisation multiplateforme dans .NET 6+), IronQR utilise IronSoftware.Drawing pour les véritables projets multiplateformes. Votre code fonctionne de manière cohérente sur Windows, macOS, Linux, iOS et Android. Pour les projets multiplateformes, les alternatives à SkiaSharp sont inutiles : IronQR gère l'abstraction de la plateforme en interne.

La documentation multiplateforme .NET explique plus en détail la compatibilité entre les plateformes for .NET 10. IronQR s'aligne sur ces principes en évitant totalement les API spécifiques à une plateforme.

IronQR prend en charge les cibles de déploiement suivantes :

  • .NET 10, 9, 8, 7, 6 -- toutes les versions modernes de .NET
  • .NET Core 3.x -- pour les applications qui n'ont pas encore migré vers .NET moderne
  • Xamarin et MAUI -- pour le développement d'applications mobiles
  • Azure Functions et AWS Lambda -- pour les charges de travail sans serveur

Lors de l'exécution dans des conteneurs Docker, aucun package système supplémentaire n'est nécessaire au-delà de l'image d'exécution .NET standard. Cela simplifie votre Dockerfile par rapport aux bibliothèques qui nécessitent des dépendances GDI+ natives. Le guide de déploiement IronQR couvre la configuration pour les environnements conteneurisés et cloud.

Comment comparer IronQR aux autres bibliothèques QR .NET ?

Il existe plusieurs bibliothèques de codes QR .NET , chacune présentant des compromis différents. Comprendre ces différences vous aide à choisir l'outil adapté à votre projet.

QRCoder est une bibliothèque open source sous licence MIT. Il fonctionne bien pour la génération simple de codes QR, mais n'inclut pas de fonctionnalités de lecture de codes QR ni de détection basée sur l'apprentissage automatique. Ses options de sortie sont plus limitées que la prise en charge des formats de sortie d'IronQR.

ZXing .NET est un portage en C# de la bibliothèque Java ZXing. Il prend en charge la lecture et l'écriture, mais repose sur des techniques de vision par ordinateur traditionnelles qui ont du mal à traiter les codes endommagés ou pivotés. La gestion des images multiplateformes nécessite une configuration supplémentaire.

IronQR propose la génération et la lecture de QR codes dans un seul et même package, avec une licence entreprise incluant un support dédié. Le lecteur basé sur l'apprentissage automatique, la sortie stylisée et l'intégration IronSoftware.Drawing en font une solution plus complète pour les applications de production.

Pour une comparaison détaillée des fonctionnalités, consultez les articles comparatifs IronQR vs QRCoder et IronQR vs ZXing .

Quelles sont vos prochaines étapes ?

IronQR fournit une solution complète pour la génération et la lecture de codes QR dans .NET Core. En gérant automatiquement les générateurs de charge utile complexes et l'assemblage des modules bruts et des données QrCodeData, il simplifie le cycle de développement. Que vous ayez besoin d'une alternative simple à une bibliothèque open source ou d'un système doté de fonctionnalités avancées optionnelles, l'architecture multiplateforme d'IronQR garantit un fonctionnement fiable.

Pour continuer à développer avec IronQR, explorez ces ressources :

Démarrez votre essai gratuit pour exploiter pleinement le potentiel d'IronQR sans aucun engagement initial.

Questions Fréquemment Posées

Comment générer des codes QR dans .NET Core à l'aide d'IronQR ?

Vous pouvez générer des codes QR dans .NET Core en utilisant IronQR, qui offre une bibliothèque facile à utiliser permettant la création de codes QR de base ainsi que des fonctionnalités de personnalisation avancées.

Quelles sont les options de personnalisation disponibles avec IronQR pour la génération de codes QR ?

IronQR propose diverses options de personnalisation, notamment la configuration des niveaux de correction des erreurs et l'ajout de logos à vos codes QR, garantissant ainsi qu'ils répondent à vos exigences spécifiques.

IronQR peut-il gérer la génération de codes QR dans les applications web ASP.NET Core ?

Oui, IronQR est entièrement compatible avec les applications web ASP.NET Core , permettant aux développeurs d'intégrer la génération de codes QR à leurs projets.

Est-il possible de lire des codes QR avec IronQR for .NET Core ?

Dans l'absolu, IronQR est conçu pour lire les codes QR avec une grande précision, en tirant parti de la technologie d'apprentissage automatique pour assurer une détection et une extraction de données précises.

Qu'est-ce qui fait qu'IronQR convient aux développeurs à la recherche d'un générateur de codes QR ?

IronQR offre un équilibre entre facilité d'utilisation et fonctionnalités avancées, ce qui en fait un choix idéal pour les développeurs qui ont besoin d'une bibliothèque de codes QR polyvalente et fiable.

Existe-t-il des fonctionnalités avancées pour le traitement des codes QR dans IronQR ?

Oui, IronQR inclut des fonctionnalités avancées telles que la configuration de la correction d'erreurs, l'ajout d'éléments de marque et la gestion de divers formats de codes QR.

Comment IronQR garantit-il la précision de la lecture des codes QR ?

IronQR utilise des algorithmes alimentés par l'apprentissage automatique pour améliorer la précision de la lecture des codes QR, garantissant une capture de données fiable même dans des conditions difficiles.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me