COMPARAISON AVEC D'AUTRES COMPOSANTS

Comparaison entre IronBarcode et QrCoder C#

Publié mars 12, 2023
Partager:

Dans ce tutoriel, nous comparerons deux bibliothèques C# largement utilisées - IronBarcode et QrCoder - pour travailler avec des codes QR et des codes-barres.

Commençons par une brève présentation des deux bibliothèques :

IronBarcode

IronBarcode est une bibliothèque créée et maintenue par Iron Software qui permet aux ingénieurs logiciels C# de lire et d'écrire des codes-barres et des codes QR dans des applications et des sites Web .NET. Il est disponible sur NuGet pour tous les Frameworks .NET et les Frameworks .NET Core. IronBarcode ne nécessite qu'une seule ligne de code pour lire ou écrire des codes-barres.

QrCoder

QRCoder est une bibliothèque C# simple qui permet de créer des codes QR. Elle ne dépend pas d'autres bibliothèques et est disponible sur NuGet dans les versions PCL de .NET Framework et .NET Core.

Les deux bibliothèques doivent présenter les caractéristiques principales suivantes :

  • Scanner le code QR
  • Scanner le code-barres
  • Générer un code QR
  • Générer un code-barres

    Nous mettrons en œuvre toutes ces fonctionnalités à partir des deux bibliothèques et nous comparerons leurs performances.

    Tout d'abord, installons les deux bibliothèques dans notre projet Visual Studio. Comme les deux bibliothèques ont leurs propres paquets NuGet, nous les installerons via la console du gestionnaire de paquets NuGet.

Installer IronBarcode

Pour installer IronBarcode, tapez la commande suivante dans la console du gestionnaire de paquets :

Install-Package BarCode

Ceci installera la bibliothèque IronBarcode dans notre projet.

Une comparaison entre IronBarcode et QrCoder C# - Figure 1 : Installation de IronBarcode

Installation d'IronBarcode

Installer QrCoder

Tapez la commande suivante dans la console du gestionnaire de paquets

Install-Package QRCoder

Cela installera la bibliothèque QrCoder dans notre projet.

Comparaison entre IronBarcode et QrCoder C# - Figure 2 : Installation d'IronBarcode

Installation de QrCoder

Nous allons maintenant générer notre premier code QR en utilisant les deux bibliothèques.

Générer des codes QR à l'aide d'IronBarcode

Le code suivant génère un code QR.

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Dim qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder")
qrCode.SaveAsPng("D:\Barcode Images\QrCodeByIronBarcode")
stopwatch.Stop()
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms")
VB   C#

L'instance Stopwatch est créée pour mesurer le temps d'exécution du programme afin d'analyser l'efficacité de la bibliothèque.

Comparaison entre IronBarcode et QrCoder C# - Figure 3 : Résultat IronBarcode

Code-barres généré à partir d'IronBarcode

Temps d'exécution d'IronBarcode

IronBarcode prend 3503 ms pour générer et enregistrer un code QR.

Comparaison entre IronBarcode et QrCoder C# - Figure 4 : Temps d'exécution

Temps d'exécution d'IronBarcode pour la génération de nouveaux codes-barres

Créer un code QR avec QRCoder

L'exemple de code suivant génère un code QR à l'aide de QrCoder.

QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
Dim qrGenerator As New QRCodeGenerator()
Dim qrCodeData As QRCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q)
Dim qrCode As New QRCode(qrCodeData)
Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20)
qrCodeImage.Save("D:\Barcode Images\QrCodeByQrCoder.png")
VB   C#

QrCoder ne fournit pas de fonction intégrée permettant d'enregistrer le code QR sous forme d'image. Cependant, nous pouvons l'enregistrer en analysant le QrCoder en un objet Bitmap. Nous pouvons ensuite enregistrer le code QR à l'aide de la fonction d'enregistrement fournie par Bitmap.

Comparaison entre IronBarcode et QrCoder C# - Figure 5 : Résultat du codeur QR

Code-barres généré par QrCoder

Temps d'exécution de Qrcoder

QrCoder prend 592 ms pour générer et enregistrer un code QR.

Comparaison entre IronBarcode et QrCoder C# - Figure 6 : QrCoder's Execution Time

Le temps nécessaire à QrCoder pour générer un nouveau code-barres

Analyse

Le temps d'exécution d'IronBarcode est de 3503 ms, alors que celui de QrCoder n'est que de 592 ms. QrCoder est donc plus performant qu'IronBarcode.

La génération de codes QR est beaucoup plus simple dans IronBarcode, car nous n'avons besoin d'écrire que deux lignes de code. Avec la bibliothèque QrCoder, cinq lignes de code suffisent.

IronBarcode propose également une fonction intégrée permettant d'enregistrer les codes QR générés dans un fichier, ce qui n'est pas le cas de QrCoder. Nous devons créer un objet bitmap pour enregistrer le code QR dans un fichier. Nous devons donc créer quatre objets pour générer des codes QR à l'aide de QrCoder. Il suffit de créer un objet dans IronBarcode pour faire la même chose.

Ensuite, nous allons générer des codes-barres à l'aide des deux bibliothèques.

Générer un code-barres à l'aide d'IronBarcode

Le code suivant génère un code-barres à l'aide d'IronBarcode :

var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
Dim barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128)
barcode.SaveAsPng("D:\Barcode Images\BarcodeByIronBarcode.png")
VB   C#
Une comparaison entre IronBarcode et QrCoder C# - Figure 7 : Code-barres généré à l'aide de IronBarcode

Code-barres généré à l'aide d'IronBarcode

Le temps d'exécution nécessaire pour générer un code-barres à l'aide d'IronBarcode est le suivant :

Comparaison entre IronBarcode et QrCoder C# - Figure 8 : Temps d'exécution d'IronBarcode pour générer un nouveau code-barres

Temps de génération des codes-barres d'IronBarcode

Il faut 3756 ms ou 3,76 sec pour générer un code-barres.

Générer un code-barres à l'aide de QrCoder

Il convient de noter que la bibliothèque QrCoder ne permet pas de créer des codes-barres. Par conséquent, si vous devez créer des codes-barres, IronBarcode est la meilleure option.

En ce qui concerne la lecture des codes QR, voyons quelle bibliothèque est la meilleure option.

Lire un code QR avec IronBarcode

Le code suivant permet de lire un code QR à l'aide d'IronBarcode.

BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Extracted text from QR Code is: "+result.Text);
    }
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Extracted text from QR Code is: "+result.Text);
    }
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\QrcodeByIronBarcode.png")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine("Extracted text from QR Code is: " & result.Text)
	Next result
End If
VB   C#

IronBarcode renvoie un Enumerable comme résultat de la lecture des codes QR. Nous devons parcourir en boucle le Enumerable pour récupérer chaque résultat. Cette fonction est utile pour lire des codes QR à partir d'un document ou d'une image comportant plusieurs codes QR.

Comparaison entre IronBarcode et QrCoder C# - Figure 9 : IronBarcode's QR Code Scanning Execution Time

Le temps nécessaire à IronBarcode pour lire/scannériser tous les codes QR d'un document

Il faut 3136 ms ou 3,1 secondes avec IronBarcode.

Lire un code QR avec QrCoder

La bibliothèque QrCoder ne permet pas de lire ou de scanner un code QR.

Lire un code-barres avec IronBarcode

Le code suivant scanne le code-barres à l'aide d'IronBarcode.

BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
    }
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
    }
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\BarcodeByIronBarcode.png")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine("Text Extracted from Barcode is: " & result.Text)
	Next result
End If
VB   C#

IronBarcode renvoie Enumerable comme résultat de la lecture des codes-barres. Nous devons le parcourir en boucle pour obtenir chaque résultat. Il est utile pour lire les codes-barres d'un document ou d'une image qui contient plus d'un code-barres.

La sortie générée par le code ci-dessus est la suivante :

Comparaison entre IronBarcode et QrCoder C# - Figure 10 : Temps d'exécution pour IronBarcode Scanner un ou plusieurs codes à barres

Le temps nécessaire à IronBarcode pour scanner un code-barres contenu dans un PDF ou une image

Lire un code-barres avec QrCoder

La bibliothèque QrCoder ne permet pas de lire ou de scanner les codes QR.

Examinons maintenant les options de licence des deux bibliothèques.

Licences

Licences pour IronBarcode

IronBarcode est gratuit pour le développement. Cependant, il nécessite une licence pour être déployé en dehors de l'environnement de développement Visual Studio. Le prix des licences est compris entre $749 et $2999(USD). Vous pouvez bénéficier d'une réduction si vous achetez l'ensemble des documentsIron Suite.

Comparaison entre IronBarcode et QrCoder C# - Figure 11 : Licences Iron

Consultez la [page de licence] d'IronBarcode (/csharp/barcode/licensing/) pour plus d'informations sur les licences disponibles.

Licences pour QrCoder

QrCoder est un logiciel libre et ne nécessite donc aucune licence. Vous êtes libre de l'utiliser dans n'importe quel type d'environnement. Vous pouvez également contribuer à son code source si vous aimez le développement open-source.

Quand utiliser QrCoder

Si nous n'avons besoin que de la fonctionnalité de génération de codes QR, QRCoder est la meilleure option à utiliser car il est gratuit et ne nécessite aucun paiement ou frais d'abonnement.

Quand utiliser IronBarcode ?

IronBarcode est une excellente option lorsque nous avons besoin de fonctionnalités allant au-delà de la génération de codes QR, comme par exemple :

  • Lecture de codes-barres simples ou multiples et de codes QR à partir d'images ou de PDF.
  • Correction de l'image pour l'inclinaison, l'orientation, le bruit, la faible résolution, le contraste, etc.
  • Créer des codes-barres et les appliquer à des images ou à des documents PDF.
  • Intégration de codes-barres dans des documents HTML.
  • Stylisation des codes-barres et ajout d'un texte d'annotation.
  • Rédaction de codes QR permettant d'ajouter des logos, des couleurs et un alignement QR avancé.

Résumé

Le tableau ci-dessous compare IronBarcode et QrCoder.

Comparaison entre IronBarcode et QrCoder C# - Figure 12 : Comparaison des deux bibliothèques

Comparaison côte à côte d'IronBarcode et de QrCoder

Conclusion

IronBarcode for .NET permet aux développeurs de lire et d'écrire des codes-barres et des codes QR dans leurs applications .NET en utilisant une seule ligne de code. La bibliothèque prend en charge la plupart des normes relatives aux codes-barres et aux codes QR, y compris 39/93/128, UPC A/E, EAN 8/13 et QR, entre autres. La bibliothèque pré-traite automatiquement les images de codes-barres et offre une correction de la rotation, du bruit, de la distorsion et de l'inclinaison afin d'améliorer la vitesse et la précision. IronBarcode est compatible avec les systèmes 32 et 64 bits, tous les langages .NET et diverses plateformes, notamment les applications de bureau, de console, de cloud, ainsi que les applications mobiles et web. Il permet également aux développeurs d'écrire des codes-barres et des codes QR pour les documents PDF, JPG, TIFF, GIF, BMP, PNG et HTML, et de modifier la couleur, la taille, la rotation et la qualité du texte. La bibliothèque est sécurisée et n'utilise pas de services web ni n'envoie de données sur Internet. IronBarcode est disponible pour un essai gratuit et offre trois options de licence, dont une version License Lite pour un usage individuel, un package Professional pour des équipes de 10 développeurs maximum, et un package Unlimited pour les entreprises.

QRCoder est une bibliothèque C# .NET qui génère des codes C# basés sur la norme ISO/IEC 18004 sans dépendre d'autres bibliothèques. Il offre plusieurs classes de rendu de code QR, dont QRCode, ArtQRCode, AsciiQRCode, et d'autres. Cependant, tous les moteurs de rendu ne sont pas disponibles sur tous les Framework NET, et les versions .NET Standard/.NET >=5.0 présentent certaines contraintes. QRCoder est gratuit et ne nécessite pas de licence.

IronBarcode est plus polyvalent que QRCoder car il prend en charge toutes les versions du Framework .NET, dispose d'un plus large éventail de fonctionnalités et offre une couverture SaaS et OEM Redistribution. IronBarcode fournit également une documentation complète et une assistance 24/7, ce qui n'est pas le cas de QRCoder. IronBarcode est soumis à des frais de licence, mais ceux-ci sont raisonnables compte tenu des fonctionnalités et de l'assistance qu'il offre.

IronBarcode est une bibliothèque développée parIron Softwarequi propose également d'autres bibliothèques utiles, notammentIronPDF, IronXL, IronOCRetIronWebscraper. Acheter la version complèteIron Suite pour obtenir les cinq produits à une réduction remarquable.

En résumé, IronBarcode est le mieux adapté à ceux qui ont besoin de travailler à la fois avec des codes-barres et des codes QR et qui souhaitent créer un générateur de codes-barres, un générateur de codes QR, un lecteur de codes-barres et un lecteur de codes QR. D'autre part, QRCoder convient à ceux qui ont seulement besoin de créer un générateur de code QR.

< PRÉCÉDENT
La bibliothèque de codes QR de ZXing.org et IronBarcode : Une comparaison complète
SUIVANT >
Comparaison entre ZXing Decoder et IronBarcode