UTILISATION D'IRONQR

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6

Publié avril 29, 2024
Partager:

Génération de code QR en C# ;

La création de codes QR dans les applications C# est une exigence courante pour les développeurs, en particulier pour les applications impliquant l'identification de produits, la billetterie ou le partage facile d'URL et d'autres données. Il existe plusieurs bibliothèques permettant de générer des codes QR en C#. Deux options notables sont QRCoder et IronQR. Dans cet article, nous allons comparer en détail ces bibliothèques, en examinant leurs fonctionnalités, leur facilité d'utilisation, leurs performances et d'autres facteurs pertinents pour les développeurs travaillant avec .NET 6. Dans cet article, nous allons nous plonger dans une comparaison détaillée de ces bibliothèques, en examinant leurs fonctionnalités, leur facilité d'utilisation, leur licence, et plus encore, avec des exemples de code pour illustrer leur utilisation.

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6

  1. Créer un nouveau projet Visual Studio pour générer un code QR

  2. Installer les paquets NuGet de QRCoder et d'IronQR pour les comparer

  3. Créer des codes QR à l'aide de QRCoder et IronQR

  4. Options de personnalisation avec QRCoder et IronQR

QRCoder

QRCoder est une bibliothèque open-source écrite en C# et une implémentation de QR Code qui vous permet de générer des QR Codes tels que définis par ISO/IEC 18004 dans n'importe quelle application .NET. Il s'agit d'une bibliothèque légère et facile à utiliser, qui ne dépend pas d'autres bibliothèques ou piles de réseaux.

Voici les principales caractéristiques et avantages de QRCoder :

1. Facilité d'utilisation

C# QRCoder offre une API simple et intuitive qui permet aux développeurs de générer facilement des codes QR et du texte de code QR avec un minimum d'effort. Sa simplicité permet aux développeurs de tous niveaux d'intégrer rapidement la génération de codes QR dans leurs projets.

2. Options de personnalisation étendues

L'une des principales caractéristiques de QRCoder est sa capacité à personnaliser les codes QR en fonction d'exigences spécifiques. Les développeurs peuvent ajuster des paramètres tels que le niveau de correction des erreurs, la taille, la couleur et même intégrer des logos ou des images dans le code QR.

3. Formats d'encodage multiples

QRCoder prend en charge différents formats d'encodage, ce qui permet aux développeurs d'encoder différents types de données dans les codes QR. Qu'il s'agisse de texte brut, d'URL, d'informations de contact ou d'identifiants Wi-Fi, QRCoder peut traiter un large éventail de formats de données.

4. Sortie de haute qualité

Les codes QR générés par C# QRCoder sont de haute qualité, ce qui garantit leur lisibilité et leur fiabilité sur différents appareils et dans différentes conditions de lecture. Cette fiabilité est cruciale pour les applications où les codes QR servent de passerelle entre les interactions physiques et numériques.

5. Source ouverte et développement actif

C# QRCoder est un projet open-source, permettant aux développeurs de contribuer à son développement et garantissant des améliorations et des mises à jour continues. Cet engagement actif de la communauté favorise l'innovation et garantit que la bibliothèque reste pertinente dans le paysage technologique en constante évolution.

IronQR

IronQR est une puissante bibliothèque de codes QR en C# développée et maintenue par Iron Software. Il permet aux ingénieurs logiciels C# de détecter, lire et créer des codes QR dans les applications et sites Web .NET. Voici quelques caractéristiques clés d'IronQR :

Génération de codes QR

IronQR permet une personnalisation très poussée des Génération de codes QR. Vous pouvez créer des codes QR avec diverses options, telles que le redimensionnement, les marges, les bordures et la recoloration.

using IronQr;
using IronSoftware.Drawing;
// Prepare a QR Code object
QrCode theQrGen = QrWriter.Write("Awesome IronQR");
// Save QR Code to memory
AnyBitmap myQrImage = theQrGen.Save();
// Save QR Code image to disk
myQrImage.SaveAs("awesome.png");
using IronQr;
using IronSoftware.Drawing;
// Prepare a QR Code object
QrCode theQrGen = QrWriter.Write("Awesome IronQR");
// Save QR Code to memory
AnyBitmap myQrImage = theQrGen.Save();
// Save QR Code image to disk
myQrImage.SaveAs("awesome.png");
Imports IronQr
Imports IronSoftware.Drawing
' Prepare a QR Code object
Private theQrGen As QrCode = QrWriter.Write("Awesome IronQR")
' Save QR Code to memory
Private myQrImage As AnyBitmap = theQrGen.Save()
' Save QR Code image to disk
myQrImage.SaveAs("awesome.png")
VB   C#

Lecture du code QR

IronQR utilise un modèle avancé d'apprentissage automatique pour la détection des codes QR. Ce modèle garantit une lecture précise et rapide des codes QR. IronQR prend en charge lire les codes QR à partir de différents formats d'image, notamment JPG, PNG, SVG, bmp et des images multipages telles que gif et tiff.

using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Read QR code
var inputBmp = AnyBitmap.FromFile("awesome.png");
// Load the image into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create the QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
using IronQr;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Read QR code
var inputBmp = AnyBitmap.FromFile("awesome.png");
// Load the image into QrImageInput
QrImageInput imageInput = new QrImageInput(inputBmp);
// Create the QR Reader object
QrReader reader = new QrReader();
// Read the Input an get all embedded QR Codes
IEnumerable<QrResult> results = reader.Read(imageInput);
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Collections.Generic
' Read QR code
Private inputBmp = AnyBitmap.FromFile("awesome.png")
' Load the image into QrImageInput
Private imageInput As New QrImageInput(inputBmp)
' Create the QR Reader object
Private reader As New QrReader()
' Read the Input an get all embedded QR Codes
Private results As IEnumerable(Of QrResult) = reader.Read(imageInput)
VB   C#

Compatibilité multiplateforme

  1. Bureau : Fonctionne avec les applications de bureau Windows (WPF ET MAUI).

  2. Mobile : Compatible avec Xamarin et MAUI.

  3. Web : Prend en charge Blazor et WebForms.

  4. Console : Environnements d'applications et de bibliothèques.

  5. Cloud : Docker, Azure et AWS.

Encodage des données

Vous pouvez encoder différents types de données dans les codes QR, notamment du texte, des URL, des octets et des nombres.

Correction des erreurs

IronQR fournit des messages d'erreur détaillés et des options de correction d'erreur personnalisées.

Des millions de personnes font confiance à IronQR, dont la fiabilité et la facilité d'utilisation sont reconnues par les ingénieurs du monde entier. Pour commencer à utiliser IronQR, vous pouvez l'installer via NuGet.

Étape 1 : Créer un nouveau projet Visual Studio pour générer un code QR

Pour commencer avec le code, créons un fichier Visual Studio Projet. Ouvrez Microsoft Visual Studio 2022 et sélectionnez l'option "Créer un nouveau projet".

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 1 - Ouvrez Visual Studio et cliquez sur l'option "Créer un nouveau projet" ;

Sélectionnez le modèle d'application Console dans la liste des modèles

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 2 - Sélectionnez le type de projet comme "Console App" ;.

Indiquez ensuite le nom du projet et les noms des solutions. Sélectionnez le chemin d'accès pour stocker les fichiers du projet

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 3 - Configurez votre projet en spécifiant le nom du projet, l'emplacement et le nom de la solution, puis cliquez sur Next.

Sélectionnez la version .NET requise. J'opterai pour le dernier Framework .NET 8 au moment de la rédaction de cet article.

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 4 - Sélectionnez la dernière version du Framework .NET et cliquez sur le bouton Créer.

Une fois que vous avez cliqué sur le bouton de création, le projet est créé et prêt à être développé.

Étape 2 : Installer les paquets NuGet QRCoder et IronQR

Les QRCoder Les paquets NuGet peuvent être installés à l'aide du gestionnaire de paquets NuGet de Visual Studio, comme indiqué ci-dessous.

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 5 - Installez QRCoder à l'aide du Gestionnaire de paquets NuGet pour la solution en recherchant "QRCoder" ; dans la barre de recherche du Gestionnaire de paquets NuGet, puis sélectionnez le projet et cliquez sur le bouton Installer.

Vous pouvez également l'installer à partir de la console du gestionnaire de paquets NuGet en utilisant la commande suivante

dotnet add package QRCoder --version 1.4.3
dotnet add package QRCoder --version 1.4.3
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package QRCoder --version 1.4.3
VB   C#

Le paquetage NuGet QRCoder est disponible sur le site Web de NuGet à l'adresse suivante

Comment générer un code QR à l'aide de QRCoder comparé à IronQR for .NET 6 : Figure 6 - QRCoder NuGet package

Les IronQR peut également être installé de la même manière en utilisant le gestionnaire de paquets NuGet de Visual Studio, comme indiqué ci-dessous.

How to Generate QR code using QRCoder compare to IronQR in .NET 6 : Figure 7 - Installez IronQR à l'aide du Manage NuGet Package for Solution en recherchant "IronQR" ; dans la barre de recherche du NuGet Package Manager, puis sélectionnez le projet et cliquez sur le bouton Install.

Toujours à partir de la console du gestionnaire de paquets NuGet, utilisez la commande suivante

dotnet add package IronQR --version 2024.4.1
dotnet add package IronQR --version 2024.4.1
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronQR --version 2024.4.1
VB   C#

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 8 - IronQR NuGet Package

Étape 3 : Créer des codes QR à l'aide de QRCoder et IronQR

La création de codes QR dans les deux bibliothèques nécessite un code simple

QRCoder

Le code suivant montre comment générer notre premier code QR à l'aide de QRCoder

using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {
                var qrCodeImage = qrCode.GetGraphic(20);
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {
                var qrCodeImage = qrCode.GetGraphic(20);
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
Imports QRCoder
Imports System.Drawing
Namespace QRCoderVsIronQR
Public Class Program
	Public Shared Sub Main()
			Using qrGenerator As New QRCodeGenerator()
			Using qrCodeData As QRCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)
			Using qrCode = New QRCoder.BitmapByteQRCode(qrCodeData)
				Dim qrCodeImage = qrCode.GetGraphic(20)
				Dim file = Image.FromStream(New MemoryStream(qrCodeImage))
				file.Save("QrCoderDemo1.png")
			End Using
			End Using
			End Using
	End Sub
End Class
End Namespace
VB   C#

Explication du code

  1. Nous créons QRCodeGenerator et appelons la méthode CreateQrCode pour générer le graphique du code QR

  2. Nous utilisons ensuite la méthode QRCoder.BitmapByteQRCode pour obtenir le tableau d'octets de la méthode GetGraphic

  3. Nous enregistrons ensuite le flux d'octets sous forme d'image à l'aide de la méthode Image.FromStream

  4. Le code QR obtenu est indiqué ci-dessous

Sortie

Comment générer un code QR à l'aide de QRCoder comparé à IronQR for .NET 6 : Figure 9 - Sortie : Image de code QR générée à l'aide de la bibliothèque QRCoder.

IronQR

Le code suivant montre comment générer un code QR à l'aide d'IronQR :

using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
{
public class Program
{
    public static void Main()
    {
            // Prepare a QR Code object
            QrCode theQrGen = QrWriter.Write("Awesome IronQR");
            // Save QR Code to memory
            AnyBitmap myQrImage = theQrGen.Save();
            // Save QR Code image to disk
            myQrImage.SaveAs("awesome.png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
{
public class Program
{
    public static void Main()
    {
            // Prepare a QR Code object
            QrCode theQrGen = QrWriter.Write("Awesome IronQR");
            // Save QR Code to memory
            AnyBitmap myQrImage = theQrGen.Save();
            // Save QR Code image to disk
            myQrImage.SaveAs("awesome.png");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing
Namespace QrCodeWithIronQR
Public Class Program
	Public Shared Sub Main()
			' Prepare a QR Code object
			Dim theQrGen As QrCode = QrWriter.Write("Awesome IronQR")
			' Save QR Code to memory
			Dim myQrImage As AnyBitmap = theQrGen.Save()
			' Save QR Code image to disk
			myQrImage.SaveAs("awesome.png")
	End Sub
End Class
End Namespace
VB   C#

Comme vous pouvez déjà le constater, il y a une différence dans la quantité de code. La génération de code IronQR nécessite moins de code.

Explication du code

  1. Nous créons le code QR à l'aide de QrWriter.Write() et transmet le contenu.

  2. Enregistrez ensuite le code QR dans la mémoire à l'aide du bouton Enregistrer() méthode.

  3. Enfin, nous enregistrons l'image à l'aide de SaveAs() méthode ;

Sortie

La sortie comporte un filigrane IronQR puisque j'utilise une version d'essai de la bibliothèque. Avec une version sous licence, cela sera supprimé.

Comment générer un code QR à l'aide de QRCoder comparé à IronQR for .NET 6 : Figure 10 - Sortie : Image de code QR générée à l'aide d'IronQR

Étape 4 : Options de personnalisation avec QRCoder et IronQR

Les deux bibliothèques proposent des options de personnalisation. Examinons quelques options disponibles

Nous pouvons définir les couleurs du code QR dans QRCoder comme ci-dessous :

using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {                
                var qrCodeImage = qrCode.GetGraphic(20, [255,0,0], [0,255, 0]); // can also use html hex color notation
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
using QRCoder;
using System.Drawing;
namespace QRCoderVsIronQR
{
public class Program
{
    public static void Main()
    {
            using (QRCodeGenerator qrGenerator = new QRCodeGenerator())
            using (QRCodeData qrCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCoder.BitmapByteQRCode(qrCodeData))
            {                
                var qrCodeImage = qrCode.GetGraphic(20, [255,0,0], [0,255, 0]); // can also use html hex color notation
                var file = Image.FromStream(new MemoryStream(qrCodeImage));
                file.Save("QrCoderDemo1.png");
            }
        }
    }
}
Imports QRCoder
Imports System.Drawing
Namespace QRCoderVsIronQR
Public Class Program
	Public Shared Sub Main()
			Using qrGenerator As New QRCodeGenerator()
			Using qrCodeData As QRCodeData = qrGenerator.CreateQrCode("QRCoder Demo 1", QRCodeGenerator.ECCLevel.Q)
			Using qrCode = New QRCoder.BitmapByteQRCode(qrCodeData)
				Dim qrCodeImage = qrCode.GetGraphic(20, (255,0,0), (0,255, 0)) ' can also use html hex color notation
				Dim file = Image.FromStream(New MemoryStream(qrCodeImage))
				file.Save("QrCoderDemo1.png")
			End Using
			End Using
			End Using
	End Sub
End Class
End Namespace
VB   C#

Explication du code

  1. Nous créons QRCodeGenerator et appelons la méthode CreateQrCode pour générer le graphique du code QR

  2. Nous utilisons ensuite le code QRCoder.BitmapByteQRCode() pour obtenir le tableau d'octets de la méthode GetGraphic

  3. Dans GetGraphic, nous pouvons définir les couleurs de l'arrière-plan et des lignes. Nous avons utilisé le rouge [255,0,0] Couleur R,G,B pour la couleur de la ligne et Vert [0,255,0] pour le contexte.

  4. Nous enregistrons ensuite le flux d'octets sous forme d'image à l'aide de la fonction Image.FromStream() méthode

  5. Le code QR obtenu est indiqué ci-dessous

Sortie

Comment générer un code QR à l'aide de QRCoder comparé à IronQR for .NET 6 : Figure 11 - Sortie : Image colorée du code QR générée en utilisant les fonctions de personnalisation de QRCoder.

Nous pouvons définir des couleurs pour la génération du code QR IronQR comme le code suivant :

using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
public class Program
{
    public static void Main()
    {
            // Set options
            QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20);
            // Create QR
            QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options);
            // Style options
            AnyBitmap logoBmp = new AnyBitmap("logo.png");
            QrStyleOptions style = new QrStyleOptions
            {
                BackgroundColor = Color.Aqua,
                Dimensions = 300, // px
                Margins = 10, // px
                Color = Color.Red,
                Logo = new QrLogo
                {
                    Bitmap = logoBmp,
                    Width = 100,
                    Height = 100,
                    CornerRadius = 2
                }
            };
            // Save QR Code
            AnyBitmap qrImage = myQr.Save(style);
            // Save QR Code to local disk
            qrImage.SaveAs("advancedQr.png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
namespace QrCodeWithIronQR
public class Program
{
    public static void Main()
    {
            // Set options
            QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium, 20);
            // Create QR
            QrCode myQr = QrWriter.Write("IronQR Generation Demo 1", options);
            // Style options
            AnyBitmap logoBmp = new AnyBitmap("logo.png");
            QrStyleOptions style = new QrStyleOptions
            {
                BackgroundColor = Color.Aqua,
                Dimensions = 300, // px
                Margins = 10, // px
                Color = Color.Red,
                Logo = new QrLogo
                {
                    Bitmap = logoBmp,
                    Width = 100,
                    Height = 100,
                    CornerRadius = 2
                }
            };
            // Save QR Code
            AnyBitmap qrImage = myQr.Save(style);
            // Save QR Code to local disk
            qrImage.SaveAs("advancedQr.png");
        }
    }
}
Imports IronQr
Imports IronSoftware.Drawing
namespace QrCodeWithIronQR Public Class Program
	Public Shared Sub Main()
			' Set options
			Dim options As New QrOptions(QrErrorCorrectionLevel.Medium, 20)
			' Create QR
			Dim myQr As QrCode = QrWriter.Write("IronQR Generation Demo 1", options)
			' Style options
			Dim logoBmp As New AnyBitmap("logo.png")
			Dim style As New QrStyleOptions With {
				.BackgroundColor = Color.Aqua,
				.Dimensions = 300,
				.Margins = 10,
				.Color = Color.Red,
				.Logo = New QrLogo With {
					.Bitmap = logoBmp,
					.Width = 100,
					.Height = 100,
					.CornerRadius = 2
				}
			}
			' Save QR Code
			Dim qrImage As AnyBitmap = myQr.Save(style)
			' Save QR Code to local disk
			qrImage.SaveAs("advancedQr.png")
	End Sub
End Class
}
VB   C#

Avec IronQR, il existe de nombreuses options de personnalisation. Dans le programme ci-dessus, nous avons essayé de personnaliser la couleur d'arrière-plan, la couleur du code QR et les marges. Nous pouvons également définir des dimensions.

Explication du code

  1. Tout d'abord, nous créons l'objet option pour définir le niveau de correction des erreurs

  2. Nous préparons ensuite le code QR avec QrWriter.Write() méthode

  3. Nous définissons ensuite les options de style à l'aide de QrStyleOptions

  4. Nous définissons la couleur d'arrière-plan, la couleur de premier plan, les marges, les dimensions et un logo pour le code QR

  5. Nous enregistrons ensuite l'image du code QR sur le disque local.

Sortie

Comment générer un code QR à l'aide de QRCoder comparé à IronQR dans .NET 6 : Figure 12 - Sortie : Image de code QR colorée générée à l'aide d'IronQR et de ses fonctions de personnalisation.

Licences

QRCoder est un paquetage sous licence MIT et est développé avec l'aide de la communauté. Cette formule convient aux projets à petit budget. L'utilisateur doit attendre que la communauté résolve les problèmes ou peut corriger et pousser le code vers le dépôt Git avec des demandes d'extraction approuvées.

IronQR à utiliser dans les applications. Elle bénéficie du soutien de Iron Software.

IronQR que l'on peut obtenir. La clé obtenue doit être placée dans le fichier appSettings.json ici :

{
   "IronQR.License.LicenseKey":"myKey"
}
{
   "IronQR.License.LicenseKey":"myKey"
}
If True Then
   "IronQR.License.LicenseKey":"myKey"
End If
VB   C#

Conclusion

Choisir entre C# QRCoder et IronQR dépend en fin de compte des exigences spécifiques de votre projet. Si vous avez besoin d'une bibliothèque de génération de codes QR gratuite et open source avec de nombreuses options de personnalisation, alors C# QRCoder pourrait être le choix préféré en raison de sa simplicité et de ses options de personnalisation étendues.

Si vous avez besoin d'une bibliothèque d'entreprise qui prenne en charge non seulement la génération de codes QR avec des options de personnalisation, mais aussi la lecture de codes QR, alors IronQR serait le choix ultime. En fin de compte, avec la bibliothèque IronQR, ses nombreux avantages et ses fonctionnalités de soutien de Iron Softwareles développeurs peuvent ainsi créer des applications d'entreprise en toute simplicité et en toute sérénité.

< PRÉCÉDENT
Comment créer une application de génération de code QR en C#
SUIVANT >
Comment générer un code QR en VB .NET