Passer au contenu du pied de page
COMPARER à D'AUTRES COMPOSANTS

Une comparaison entre le décodeur ZXing & IronBarcode

Les codes-barres sont partout. Les implémentations de la numérisation des codes-barres sont utilisées par les auteurs pour signer leurs produits, et la plupart des signatures de livres sont alimentées par des implémentations de numérisation de codes-barres. Pour nos applications cependant, un scanner de code-barres peut ne pas toujours être approprié. Vous pouvez avoir des images numériques et des vidéos de codes-barres et vouloir savoir ce qu'ils représentent en texte anglais. De plus, seuls les codes-barres 1D, qui ne peuvent être utilisés que dans la bibliothèque de classes Windows RT et ont une quantité limitée de données, peuvent être lus par un scanner de code-barres. Les codes-barres 2D, également appelés codes QR, sont largement utilisés aujourd'hui et peuvent stocker beaucoup plus de données dans leur matrice de données.

ZXing (Zebra Crossing) est une bibliothèque open-source de traitement d'images de codes-barres 1D/2D multi-formats implémentée en Java, avec des ports vers d'autres langues. Il peut lire et écrire des données dans de nombreux formats de code-barres différents, y compris les codes QR et UPC sur les ordinateurs.

IronBarcode est une bibliothèque logicielle C# .NET qui permet aux développeurs de lire et d'écrire des images de code-barres en utilisant la bibliothèque ZXing pour les tests d'applications Web. Il est conçu pour être simple à utiliser et facile à intégrer dans n'importe quelle application .NET, et peut être utilisé avec les frameworks Windows Forms, WPF et ASP.NET.

La bibliothèque d'IronBarcode fournit une API simple pour lire et écrire des images de code-barres, facilitant ainsi l'ajout par les développeurs de la fonctionnalité de numérisation et de génération de codes-barres à leurs logiciels. IronBarcode prend en charge la lecture et l'écriture de nombreux formats de code-barres différents, y compris les codes QR, les codes UPC, les codes UPC-A, les codes EAN, les RSS étendus et bien plus, qui sont utilisés pour signer des produits.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 1 : Formats de codes-barres pris en charge

class="content__image-caption">Formats de codes-barres pris en charge

La bibliothèque dispose de documentation bien rédigée et de code exemple montrant comment commencer avec IronBarcode, comment numériser et décoder des codes-barres, comment générer et encoder des codes-barres, et comment personnaliser le processus de lecture et d'écriture.

L'une des caractéristiques les plus importantes d'IronBarcode est son support pour la reconnaissance de codes-barres et de codes QR à partir de documents PDF ou de fichiers image, avec la capacité de lire des codes-barres à partir d'un chemin de fichier ou d'un objet bitmap.

IronBarcode est facile à utiliser, puissant et rapide. C'est un excellent outil pour quiconque a besoin d'ajouter une fonctionnalité de numérisation ou de génération de codes-barres à leur logiciel. Et comme il est construit sur la base de la bibliothèque populaire et fiable ZXing, vous pouvez être sûr qu'il s'agit d'une solution fiable et de haute qualité.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 2 : Formats de codes-barres pris en charge

class="content__image-caption">Bibliothèque IronBarcode C# & ses fonctionnalités

Comment IronBarcode a été créé à partir de ZXing Decoder

IronBarcode est une bibliothèque commerciale tierce .NET pour le décodage de codes-barres en C# et VB.NET, qui utilise la bibliothèque open-source ZXing comme moteur sous-jacent. La bibliothèque fournit une API simplifiée et facile à utiliser pour travailler avec des codes-barres, ainsi que des fonctionnalités supplémentaires telles que la possibilité de lire des codes-barres à partir d'images et de PDF, et la possibilité de créer des codes-barres dans divers formats.

IronBarcode a été créé par une équipe de développeurs qui souhaitaient construire une bibliothèque de décodage de codes-barres plus conviviale et riche en fonctionnalités pour l'écosystème .NET. Ils ont tiré parti de la bibliothèque ZXing, qui est une bibliothèque mature et open-source avec une large gamme de formats de codes-barres pris en charge, comme fondement de leur bibliothèque. Ils ont ensuite construit leur propre wrapper personnalisé autour du codebase de ZXing, fournissant une API plus simple et plus cohérente pour les développeurs, ainsi que des fonctionnalités supplémentaires telles que le support de la lecture de codes-barres à partir d'images et de PDF.

Comparer IronBarcode à ZXing Decoder

IronBarcode et ZXing sont deux bibliothèques de décodage d'images de codes-barres, mais elles ont quelques différences importantes qui font d'IronBarcode une option plus avancée et polyvalente.

IronBarcode offre une gamme plus large de formats de codes-barres Web pris en charge que ZXing. IronBarcode peut décoder des formats pris en charge tels que les codes QR, Code 39, Code 128, EAN-8, EAN-13, UPC-A, UPC-E, Codabar, ITF, Data Matrix, PDF-417, RSS étendu et plus encore. Les utilisateurs d'Android ne sont pas exclus ; IronBarcode peut être facilement intégré dans des applications mobiles pour faciliter la numérisation de codes-barres pour les utilisateurs Android. ZXing prend en charge de nombreux formats similaires, mais n'a pas une prise en charge complète de certains formats comme ITF et Codabar, et n'offre pas de support pour certains formats de codes-barres 2D comme PDF-417.

// Example showing how to generate a simple QR Code image and save it as a PNG file
// using IronBarcode in C#.
var qrCode = IronBarCode.QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");
// Example showing how to generate a simple QR Code image and save it as a PNG file
// using IronBarcode in C#.
var qrCode = IronBarCode.QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("MyQR.png");
' Example showing how to generate a simple QR Code image and save it as a PNG file
' using IronBarcode in C#.
Dim qrCode = IronBarCode.QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium)
qrCode.SaveAsPng("MyQR.png")
$vbLabelText   $csharpLabel
class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 3 : Génération de code-barres

class="content__image-caption">Génération d'une simple image de code QR utilisant IronBarcode

Un autre avantage d'IronBarcode est son API web plus conviviale. La bibliothèque est conçue pour être simple à utiliser et facile à intégrer dans des projets existants, avec une API Web de haut niveau qui abstrait de nombreux détails complexes du décodage de codes-barres.

IronBarcode a également de meilleures performances que ZXing. La bibliothèque a été développée en C# et est capable d'utiliser le traitement parallèle pour décoder les codes-barres plus rapidement que la bibliothèque ZXing. De plus, IronBarcode peut lire des codes-barres à partir de types de fichiers image non pris en charge par ZXing, tels que GIF, TIFF et JPEG-XR.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 4 : Génération de code-barres

class="content__image-caption">Génération d'une simple image de QR Code utilisant IronBarcode

En résumé, IronBarcode est une bibliothèque plus avancée et polyvalente pour le décodage des codes-barres par rapport à ZXing. Elle offre une gamme plus large de formats de codes-barres pris en charge, une API plus conviviale et de meilleures performances, ce qui en fait un bon choix pour les développeurs travaillant avec le framework .NET.

Comment utiliser ZXing Decoder et IronBarcode en C

ZXing .NET est un portage de la bibliothèque ZXing, une bibliothèque open-source pour le traitement des codes-barres 1D/2D sous plusieurs formats, initialement implémentée en Java. Il a été porté sur C# et est disponible via le gestionnaire de paquets NuGet. IronBarcode est une bibliothèque C# .NET qui peut lire et écrire des codes-barres. C'est un wrapper autour de la bibliothèque ZXing et est également disponible via NuGet.

Dans ce tutoriel, nous allons utiliser à la fois le décodeur ZXing en ligne et IronBarcode pour décoder des codes-barres dans une application Web .NET C# pour décoder des codes-barres. Nous allons utiliser Visual Studio pour ce tutoriel, mais les concepts devraient s'appliquer à tout environnement de développement C#.

Étape 1 : Créer un nouveau projet C# .NET dans Visual Studio

Créez un nouveau projet C# dans Visual Studio en allant sur Fichier > Nouveau > Projet. Sélectionnez "Application Windows Forms" et donnez un nom à votre projet.

Étape 2 : Installer les paquets NuGet ZXing .NET et IronBarcode

Dans l'Explorateur de solution, cliquez droit sur le projet et sélectionnez "Gérer les paquets NuGet". Recherchez ZXing.NET et "IronBarcode" et installez-les au projet.

Étape 3 : Ajouter un PictureBox et un Button au formulaire

Dans la vue Design du formulaire, ajoutez un PictureBox et un Button au formulaire. Le PictureBox sera utilisé pour afficher l'image que nous allons décoder, et le Button sera utilisé pour lancer le processus de décodage.

Étape 4 : Ajouter les instructions using suivantes en haut du code du formulaire :

using IronBarCode;
using ZXing;
using IronBarCode;
using ZXing;
Imports IronBarCode
Imports ZXing
$vbLabelText   $csharpLabel

Étape 5 : Gérer l'événement de clic du Button

Double-cliquez sur le Button en vue Design pour créer un gestionnaire d'événements de clic. Dans le gestionnaire, ajoutez le code suivant pour ouvrir un OpenFileDialog et permettre à l'utilisateur de sélectionner une image à décoder :

private void button1_Click(object sender, EventArgs e) {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";
    ofd.FilterIndex = 1;
    if (ofd.ShowDialog() == DialogResult.OK) {
        pictureBox1.Image = Image.FromFile(ofd.FileName);
        // Decode the barcode from the image here
    }
}
private void button1_Click(object sender, EventArgs e) {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*";
    ofd.FilterIndex = 1;
    if (ofd.ShowDialog() == DialogResult.OK) {
        pictureBox1.Image = Image.FromFile(ofd.FileName);
        // Decode the barcode from the image here
    }
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim ofd As New OpenFileDialog()
	ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)|*.BMP;*.JPG;*.GIF;*.PNG|All files (*.*)|*.*"
	ofd.FilterIndex = 1
	If ofd.ShowDialog() = DialogResult.OK Then
		pictureBox1.Image = Image.FromFile(ofd.FileName)
		' Decode the barcode from the image here
	End If
End Sub
$vbLabelText   $csharpLabel

Étape 6 : Décoder le code-barres à partir de l'image

Après la ligne suivante :

pictureBox1.Image = Image.FromFile(ofd.FileName); 
pictureBox1.Image = Image.FromFile(ofd.FileName); 
pictureBox1.Image = Image.FromFile(ofd.FileName)
$vbLabelText   $csharpLabel

Ajoutez le bloc de code suivant pour décoder le code-barres à partir de l'image dans le gestionnaire d'événements de clic du bouton.

// Create a BarcodeReader instance from ZXing.NET and decode the image.
var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
    MessageBox.Show(Result.Text);
} else {
    MessageBox.Show("No barcode found.");
}
// Create a BarcodeReader instance from ZXing.NET and decode the image.
var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
    MessageBox.Show(Result.Text);
} else {
    MessageBox.Show("No barcode found.");
}
' Create a BarcodeReader instance from ZXing.NET and decode the image.
Dim BarcodeReader As New BarcodeReader()
Dim Result = BarcodeReader.Decode(CType(pictureBox1.Image, Bitmap))
If Result IsNot Nothing Then
	MessageBox.Show(Result.Text)
Else
	MessageBox.Show("No barcode found.")
End If
$vbLabelText   $csharpLabel

Ce code crée une nouvelle instance de la classe BarcodeReader de ZXing.NET, puis utilise la méthode Decode pour décoder le code-barres à partir de l'image. La méthode Decode retourne un objet Result, qui contient des informations sur le code-barres qui a été décodé.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 5 : Créer un Code QR avec une image de logo

class="content__image-caption">Créer un Code QR avec une image de logo

Les avantages d'IronBarcode comparés à ZXIng DecoderOnline

IronBarcode et ZXing sont deux bibliothèques de lecture de codes-barres et de codes QR pour le langage de programmation C#. Chaque bibliothèque a ses propres avantages et inconvénients, et le choix entre elles dépendra des exigences spécifiques de votre projet.

L'un des principaux avantages d'IronBarcode par rapport à ZXing est sa facilité d'utilisation. IronBarcode a une API simple et intuitive qui permet aux développeurs de commencer rapidement à travailler avec les codes-barres et les codes QR. En quelques lignes de code, vous pouvez lire et écrire des codes-barres et des codes QR avec un effort minimal. En revanche, ZXing a une API plus complexe qui peut poser des défis aux développeurs, surtout s'ils débutent dans la lecture de codes-barres et de codes QR.

Un autre avantage d'IronBarcode est ses performances élevées. IronBarcode utilise des algorithmes avancés pour lire et décoder rapidement les codes-barres et les codes QR, le rendant plus rapide que d'autres bibliothèques comme ZXing. Cela en fait un bon choix pour les projets nécessitant une numérisation et un décodage rapides des codes-barres et des codes QR.

IronBarcode offre également un meilleur support pour la lecture et l'écriture de codes-barres à partir de divers formats d'image, y compris JPEG, PNG, GIF, BMP et TIFF. En revanche, le support de ZXing pour les formats d'image est plus limité, et il peut ne pas être capable de lire ou d'écrire des codes-barres à partir de certains types d'images.

using IronBarCode;
using System;
using System.Drawing;

// Example of using IronBarcode to read barcodes with advanced options 
// such as rotation and image correction.
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte[] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
using IronBarCode;
using System;
using System.Drawing;

// Example of using IronBarcode to read barcodes with advanced options 
// such as rotation and image correction.
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte[] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);
Imports IronBarCode
Imports System
Imports System.Drawing

' Example of using IronBarcode to read barcodes with advanced options 
' such as rotation and image correction.
Private PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels)
Private Value As String = PhotoResult.Value
Private Img As System.Drawing.Bitmap = PhotoResult.BarcodeImage
Private BarcodeType As BarcodeEncoding = PhotoResult.BarcodeType
Private Binary() As Byte = PhotoResult.BinaryValue
Console.WriteLine(PhotoResult.Value)
$vbLabelText   $csharpLabel
class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 6 : Lire un code-barres à partir d'une caméra de téléphone en C#

class="content__image-caption">Lire un code-barres à partir d'une image de caméra de téléphone en C#

IronBarcode offre plus d'options de personnalisation, telles que le réglage fin de la lecture de codes-barres, le support des documents multipages, et plusieurs formats de codes-barres, tels que DataMatrix, Aztec, et PDF-417. Ceci peut être utile si vous avez besoin de travailler avec différents types de codes-barres ou avez des exigences spécifiques.

D'autre part, ZXing est une bibliothèque open-source qui est gratuite à utiliser. Cela peut être un avantage significatif pour les projets ayant des contraintes budgétaires.

En conclusion, les deux IronBarcode et ZXing sont de puissantes bibliothèques pour travailler avec les codes-barres et les codes QR en C#, mais IronBarcode offre plusieurs avantages par rapport à ZXing, tels que la facilité d'utilisation, de hautes performances, un meilleur support des formats d'image, et plus d'options de personnalisation. Il est préférable d'évaluer les deux bibliothèques et de choisir celle qui correspond le mieux aux besoins de votre projet.

IronBarcode et ZXing sont deux bibliothèques populaires pour travailler avec les codes-barres et les codes QR en C#. Chaque bibliothèque a ses propres avantages et inconvénients, et le choix entre elles dépendra des exigences spécifiques de votre projet. Dans cet article, nous allons examiner en détail les avantages de l'utilisation d'IronBarcode par rapport à ZXing, avec des exemples pour illustrer les différences clés.

L'un des principaux avantages d'IronBarcode est sa facilité d'utilisation. IronBarcode a une API directe et intuitive qui permet aux développeurs de commencer rapidement à travailler avec les codes-barres et les codes QR. En quelques lignes de code, vous pouvez lire et écrire des codes-barres et des codes QR avec un effort minimal. Par exemple, pour lire un code-barres à partir d'un fichier image en utilisant IronBarcode, vous pouvez utiliser le code suivant :

var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);
var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);
Dim reader = New BarcodeReader()
Dim result = reader.Read("image.jpg")
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

En revanche, ZXing a une API plus complexe qui peut être difficile à utiliser pour les développeurs, particulièrement s'ils débutent dans la lecture de codes-barres et de codes QR. L'exemple fourni ci-dessus aurait nécessité plus de lignes de code pour obtenir le même résultat avec ZXing.

Un autre avantage d'IronBarcode est ses performances élevées. IronBarcode utilise des algorithmes avancés pour lire et décoder rapidement les codes-barres et les codes QR, le rendant plus rapide que d'autres bibliothèques comme ZXing. Cela en fait un bon choix pour les projets exigeant une numérisation et un décodage rapides des codes-barres et des codes QR. Par exemple, IronBarcode peut lire et décoder un code-barres à partir d'une image en moins d'une seconde, ce qui en fait un choix idéal pour les opérations de numérisation et de décodage à grande échelle.

IronBarcode offre également un meilleur support pour la lecture et l'écriture de codes-barres à partir de divers formats d'image, y compris JPEG, PNG, GIF, BMP et TIFF. Cela permet aux développeurs de travailler facilement avec des codes-barres dans différents formats d'image sans se soucier des problèmes de compatibilité. En revanche, le support de ZXing pour les formats d'image est plus limité et il peut ne pas être capable de lire ou d'écrire des codes-barres à partir de certains types d'images.

using IronBarCode;
using System;
using System.Drawing;

// Example of reading multiple barcodes from a PDF using IronBarcode
PagedBarcodeResult[] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");

// Work with the results
foreach (var PageResult in PDFResults)
{
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine("Page " + PageNum + ": " + PageResult.Value);
}
using IronBarCode;
using System;
using System.Drawing;

// Example of reading multiple barcodes from a PDF using IronBarcode
PagedBarcodeResult[] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");

// Work with the results
foreach (var PageResult in PDFResults)
{
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte[] Binary = PageResult.BinaryValue;
    Console.WriteLine("Page " + PageNum + ": " + PageResult.Value);
}
Imports IronBarCode
Imports System
Imports System.Drawing

' Example of reading multiple barcodes from a PDF using IronBarcode
Private PDFResults() As PagedBarcodeResult = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf")

' Work with the results
For Each PageResult In PDFResults
	Dim Value As String = PageResult.Value
	Dim PageNum As Integer = PageResult.PageNumber
	Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
	Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
	Dim Binary() As Byte = PageResult.BinaryValue
	Console.WriteLine("Page " & PageNum & ": " & PageResult.Value)
Next PageResult
$vbLabelText   $csharpLabel
class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 7 : Lire des codes-barres à partir d'une image TIFF multi-frames

class="content__image-caption">Lire des codes-barres à partir d'une image TIFF multi-frames

IronBarcode offre également plus d'options de personnalisation, permettant aux développeurs d'affiner le processus de lecture de codes-barres pour répondre à leurs besoins spécifiques. Par exemple, vous pouvez utiliser IronBarcode pour spécifier différents formats de codes-barres, tels que DataMatrix, Aztec et PDF-417. Ceci peut être utile si vous devez travailler avec des codes-barres dans différents formats ou avez des exigences spécifiques. De plus, IronBarcode offre un support pour les documents multipages, permettant aux développeurs de lire et d'extraire des informations de codes-barres à partir de plusieurs pages d'un document.

IronBarcode offre également une gestion améliorée des erreurs et est mieux adapté pour les applications de niveau entreprise.

Voici un exemple de comment décoder plusieurs codes-barres à partir d'un fichier image :

var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
    Console.WriteLine(result.Text);
}
var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
    Console.WriteLine(result.Text);
}
Dim barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png")
For Each result In barcodeResults
	Console.WriteLine(result.Text)
Next result
$vbLabelText   $csharpLabel

D'autre part, ZXing est une bibliothèque open source et peut être utilisée gratuitement. Cela peut être un avantage significatif pour les projets avec un budget limité. Cependant, il convient de noter que le coût de l'utilisation d'IronBarcode peut être compensé par le temps et les efforts économisés en utilisant une bibliothèque plus conviviale et puissante.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 8 : Lire des codes-barres à partir d'une image TIFF multi-frames

class="content__image-caption">Utiliser C# pour créer une image de code-barres annotée et stylisée

En conclusion, les deux IronBarcode et ZXing sont de puissantes bibliothèques pour travailler avec les codes-barres et les codes QR en C#. Cependant, IronBarcode offre un certain nombre d'avantages par rapport à ZXing, tels que la facilité d'utilisation, des performances élevées, un meilleur support des formats d'image, et plus d'options de personnalisation. Si votre projet nécessite une numérisation et un décodage rapides et efficaces de codes-barres, ou si vous avez besoin de plus de contrôle sur le processus de lecture des codes-barres, IronBarcode est un excellent choix.

Tarification et licences

ZXing est publié sous la licence open-source Apache 2.0, ce qui signifie qu'il peut être utilisé, distribué et modifié librement. Aucun coût n'est associé à l'utilisation de la bibliothèque dans vos projets logiciels. Cependant, si vous utilisez la bibliothèque dans un produit commercial, vous devez vous conformer aux termes de la licence Apache 2.0, qui inclut l'affichage en évidence de l'avis de licence et la clause de non-responsabilité.

IronBarcode est un logiciel qui offre une licence gratuite pour les développeurs. La tarification commence à $liteLicense pour le package Lite et inclut une licence perpétuelle, la possibilité d'utiliser le logiciel dans des environnements de développement, de test et de production, une garantie de remboursement de 30 jours et un an de support logiciel et de mises à jour. Pour plus d'informations sur la tarification et les licences d'IronBarcode, visitez le site Web de la société.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 9 : Lire des codes-barres à partir d'une image TIFF multi-frames

class="content__image-caption">Tarifs des licences IronBarcode

Pourquoi choisir IronBarcode

IronBarcode a été développé spécifiquement pour les applications .NET et est basé sur la bibliothèque ZXing. IronBarcode est également entièrement écrit en C#, ce qui peut être un avantage si votre application est également écrite en C# et que vous souhaitez l'utiliser dans votre écosystème .NET.

IronBarcode vise à fournir une interface plus conviviale et facile à utiliser pour décoder et encoder des codes-barres, tandis que ZXing se concentre principalement sur la fourniture d'algorithmes et de bibliothèques sous-jacents.

IronBarcode offre plusieurs fonctionnalités supplémentaires en plus de la bibliothèque ZXing, telles que la capacité de corriger automatiquement les erreurs de numérisation courantes, le soutien de différents types de lecture et de balayage de codes-barres, et la capacité de lire le contenu des codes-barres directement à partir de fichiers image ou de bitmaps.

En résumé, IronBarcode peut être un bon choix si votre application est écrite en C# et que vous recherchez une bibliothèque facile à utiliser, puissante, pouvant lire et écrire une variété de formats de codes-barres. Cependant, si vous recherchez une bibliothèque plus universelle, de bas niveau, pouvant être utilisée dans plusieurs langues, ZXing peut être un meilleur choix.

Conclusion

En résumé, IronBarcode est une bibliothèque logicielle flexible et efficace qui prend en charge une large gamme de formats de codes-barres, de symboles et de caractères. Il est compatible avec divers systèmes d'exploitation et offre une licence et un support fiables.

IronBarcode et ZXing sont deux bibliothèques pour la lecture et l'écriture de codes-barres dans le .NET Framework. IronBarcode utilise la bibliothèque ZXing comme dépendance pour effectuer les opérations de lecture et d'écriture de codes-barres. IronBarcode fournit une API simple et facile à utiliser pour lire et écrire des codes-barres en C# et VB.NET, tandis que ZXing est une bibliothèque de bas niveau qui offre beaucoup de flexibilité et de personnalisation. IronBarcode utilise ZXing pour effectuer le traitement et le décodage des codes-barres sous-jacents, mais offre une interface plus simple et plus pratique pour les développeurs.

IronBarcode est un wrapper C# / VB.NET autour de la bibliothèque ZXing, ce qui signifie qu'il fournit une interface C# / VB.NET aux fonctions fournies par ZXing. IronBarcode facilite l'utilisation de ZXing en fournissant une API plus pratique et plus simple pour lire et écrire des codes-barres.

Comparé à ZXing.NET, IronBarcode offre plus de fonctionnalités et des temps de traitement plus rapides pour la reconnaissance et la génération de codes-barres, et a la capacité supplémentaire de lire des codes-barres à partir de divers formats d'images et de documents PDF.

class="content-img-align-center"> Une comparaison entre IronBarcode et ZXing .NET, Figure 10 : Prix de la suite Iron

class="content__image-caption">Prix des licences Suite Iron

In addition, IronBarcode is available for free for early-stage development and offers a free trial for commercial use. Avec ses différents niveaux de tarification, les développeurs peuvent choisir la solution qui correspond le mieux à leurs besoins et à leur budget. Une offre consiste à acheter une suite de 5 produits logiciels Iron pour le prix de 2. Dans l'ensemble, IronBarcode a un net avantage sur ZXing.NET

Veuillez noterZXing est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié, approuvé, ou parrainé par ZXing. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Quels sont les avantages d'utiliser IronBarcode plutôt que ZXing pour les applications C# ?

IronBarcode offre une API plus conviviale, de meilleures performances et une gamme plus large de formats de codes-barres pris en charge par rapport à ZXing. De plus, il prend en charge la reconnaissance de codes-barres à partir de documents PDF et de fichiers image, y compris GIF, TIFF et JPEG-XR.

IronBarcode peut-il lire les codes-barres à partir de documents PDF ?

Oui, IronBarcode peut lire les codes-barres à partir de documents PDF, offrant plus de flexibilité que ZXing, qui se concentre principalement sur les fichiers image.

Quels formats d'image supporte IronBarcode pour la lecture de codes-barres ?

IronBarcode prend en charge la lecture de codes-barres à partir de divers formats d'image, y compris GIF, TIFF et JPEG-XR, ce qui renforce sa polyvalence dans la gestion de différents types de médias.

Quelles options de personnalisation propose IronBarcode ?

IronBarcode offre des options de personnalisation telles que la lecture de codes-barres à partir de documents multi-pages et des fonctionnalités avancées de correction d'image comme la rotation et le nettoyage en profondeur des pixels.

Comment IronBarcode gère-t-il les formats de codes-barres 2D ?

IronBarcode gère efficacement les formats de codes-barres 2D, tels que les codes QR et les matrices de données, qui peuvent stocker plus de données que les codes-barres 1D traditionnels.

Existe-t-il une version gratuite d'IronBarcode disponible ?

Oui, IronBarcode propose une licence développeur gratuite, offrant un accès à ses fonctionnalités avec certaines limitations. Il existe également des options payantes avec des fonctionnalités avancées pour un usage commercial.

Quel est le moteur principal derrière IronBarcode ?

IronBarcode utilise la bibliothèque ZXing comme son moteur principal mais l'améliore avec un wrapper personnalisé, fournissant une interface plus conviviale et des fonctionnalités supplémentaires.

Pourquoi les développeurs pourraient-ils choisir IronBarcode pour les applications .NET ?

Les développeurs pourraient choisir IronBarcode pour sa facilité d'utilisation, son déploiement rapide, et son support pour une large gamme de formats de codes-barres, le rendant idéal pour les applications de niveau entreprise au sein du framework .NET.

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