IRONSOFTWAREHOME
COMPARER À D'AUTRES COMPOSANTS

Guide comparatif LEADTOOLS Barcode vs IronBarcode pour entreprises

Curtis Chau
Curtis Chau
Updated: 21 avril 2026

Un scanner de code-barres peut ne pas toujours convenir à nos applications. Vous pouvez déjà avoir une image numérique du code-barres et vouloir savoir ce qu'il représente en texte anglais. De plus, ce scanner ne lit que des codes-barres 1D, qui contiennent une quantité limitée de données et ne peuvent être utilisés que dans la bibliothèque de classe Windows RT. Les codes-barres 2D (également appelés QR codes) sont désormais courants et peuvent contenir beaucoup plus d'informations.

Une application basée sur C# peut être créée pour lire des codes-barres en utilisant des appels d'API simples et quelques étapes de codage. Une application supportée par .NET fonctionne sur Windows, macOS, ou Linux sans dépendre d'aucun outil ou API tiers.

Cet article comparera les deux bibliothèques d'applications .NET Core les plus puissantes pour lire les codes-barres de manière programmatique. Ces deux bibliothèques sont IronBarcode et ZXing.NET. Nous verrons ce qui rend IronBarcode plus puissant et robuste que ZXing.NET.


Qu'est-ce que ZXing.NET

ZXing.NET est une bibliothèque qui décode et génère des codes-barres (comme le QR Code, PDF 417, EAN, UPC, Aztec, Data Matrix, Codabar). ZXing, qui signifie "passage pour zèbre", est une bibliothèque open-source basée sur Java qui supporte une variété de formats de codes-barres 1D et 2D.

Ses caractéristiques essentielles sont les suivantes :

  • Il a la capacité de stocker des URL, des coordonnées, des événements de calendrier, et plus encore
  • Il est adapté aux applications Java SE
  • Il permet l'intégration d'un scanner de code-barres via intention
  • Il est une application simple pour Google Glass

Qu'est-ce que IronBarcode

IronBarcode est une bibliothèque C# qui permet aux programmeurs de lire et générer des codes-barres. En tant que bibliothèque de codes-barres leader, IronBarcode supporte une grande variété de codes-barres unidimensionnels et bidimensionnels, y compris les QR codes décorés (colorés et de marque). Il supporte .NET Standard et les versions Core 2 et plus, ce qui permet de l'utiliser sur plusieurs plateformes telles que Azure, Linux, macOS, Windows et le Web. IronBarcode est une bibliothèque de classes ou un composant bien connu pour le système .NET qui permet aux développeurs C#, VB.NET, et F# de travailler avec les langages de programmation standardisés. Il permet aux clients de parcourir des étiquettes de scanner et de créer de nouvelles étiquettes standardisées. Il fonctionne exceptionnellement bien avec les codes-barres 2D et d'autres codes-barres 3D standardisés.

IronBarcode supporte maintenant les codes-barres 2D. Il fournit des fonctionnalités pour optimiser la coloration, le style et la pixellisation de ces codes ainsi que la possibilité d'y ajouter des logos pour une utilisation dans des documents imprimés ou des supports publicitaires. Cette bibliothèque peut également lire des codes-barres inclinés et déformés, ce que d'autres logiciels de code-barres peuvent ne pas être capables de lire.

Installation de IronBarcode et ZXing.NET

Installation de ZXing.NET

Pour utiliser la bibliothèque ZXing.NET, installez les deux paquets suivants dans votre application ASP.NET Core en utilisant la console du Package Manager NuGet :

1. ZXing.Net

PM > Install-Package ZXing.Net

2. ZXing.Net.Bindings.CoreCompat.System.Drawing

PM > Install-Package ZXing.Net.Bindings.CoreCompat.System.Drawing -Version 0.16.5-beta

Sinon, installez ZXing.NET dans votre projet en utilisant le Package Manager NuGet. Pour ce faire, allez dans Outils > Package Manager NuGet > Gérer les paquets NuGet pour solutions..., puis passez à l'onglet "Parcourir" et recherchez "ZXing.NET".

A Comparison between IronBarcode and Zxing.NET, Figure 1: Application web ASP.NET

Application web ASP.NET

Installation de IronBarcode

Installez IronBarcode en utilisant le Package Manager NuGet ou en téléchargeant directement le DLL depuis le site produit. L'espace de noms IronBarcode contient toutes les classes IronBarcode.

IronBarcode peut être installé en utilisant le Package Manager NuGet pour Visual Studio : le nom du paquet est "Barcode".

PM > Install-Package BarCode

Créer un Code-barres 2D

Utilisation de ZXing.NET

Tout d'abord, créez un nouveau dossier appelé 'qrr' dans le dossier racine du fichier projet.

Nous allons ensuite procéder à la création de fichiers QR et stocker les fichiers système image à l'intérieur du dossier 'qrr'.

À l'intérieur du contrôleur, ajoutez la méthode GenerateFile() comme indiqué ci-dessous dans le code source.

public ActionResult GenerateFile()
{
    return View();
}

[HttpPost]
public ActionResult GenerateFile(string qrText)
{
    Byte [] byteArray;
    var width = 250; // width of the QR Code
    var height = 250; // height of the QR Code
    var margin = 0;
    
    // BarcodeWriterPixelData acts as a QR code generator
    var qrCodeWriter = new ZXing.BarcodeWriterPixelData
    {
        Format = ZXing.BarcodeFormat.QR_CODE,
        Options = new QrCodeEncodingOptions
        {
            Height = height,
            Width = width,
            Margin = margin
        }
    };
    var pixelData = qrCodeWriter.Write(qrText);

    // creating a PNG bitmap from the raw pixel data; if only black and white colors are used it makes no difference if the raw pixel data is BGRA oriented and the bitmap is initialized with RGB
    using (var bitmap = new System.Drawing.Bitmap(pixelData.Width, pixelData.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb))
    {
        using (var ms = new MemoryStream())
        {
            var bitmapData = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, pixelData.Width, pixelData.Height), System.Drawing.Imaging.ImageLockMode.WriteOnly, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
            try
            {
                // we assume that the row stride of the bitmap is aligned to 4 byte multiplied by the width of the image
                System.Runtime.InteropServices.Marshal.Copy(pixelData.Pixels, 0, bitmapData.Scan0, pixelData.Pixels.Length);
            }
            finally
            {
                bitmap.UnlockBits(bitmapData);
           }

            // Save to folder
            string fileGuid = Guid.NewGuid().ToString().Substring(0, 4);
            bitmap.Save(Server.MapPath("~/qrr") + "/file-" + fileGuid + ".png", System.Drawing.Imaging.ImageFormat.Png);

            // Save to stream as PNG
            bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            byteArray = ms.ToArray();
        }
    }
    return View(byteArray);
}

Le seul changement restant est d'enregistrer le fichier de code QR dans le dossier 'qrr'. Ceci est effectué à l'aide des deux lignes de code ci-dessous.

string fileGuid = Guid.NewGuid().ToString().Substring(0, 4);
bitmap.Save(Server.MapPath("~/qrr") + "/file-" + fileGuid + ".png", System.Drawing.Imaging.ImageFormat.Png);

Ensuite, vous devez créer la vue GenerateFile et y inclure le code suivant. La vue GenerateFile est identique à la vue Index.

@model Byte []
@using (Html.BeginForm(null, null, FormMethod.Post))
{
    <table>
        <tbody>
            <tr>
                <td>
                    <label>Enter text for creating QR Code</label>
                </td>
                <td>
                <input type="text" name="qrText" />
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <button>Submit</button>
                </td>
            </tr>
        </tbody>
    </table>
}
@{
    if (Model != null)
    {
        <h3>QR Code Successfully Generated</h3>
        <img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(Model))" />
    }
}

Entrez une valeur quelconque dans la boîte de texte et cliquez sur le bouton 'Valider'. Le code QR sera généré et enregistré sous forme de fichier .PNG dans le dossier 'qrr'.

A Comparison between IronBarcode and ZXing.NET, Figure 2: Générateur de Code QR

Générateur de Code QR

A Comparison between IronBarcode and ZXing.NET, Figure 3: Fichiers de code QR affichés

Fichiers de code QR affichés

Formats de Code-barres Supportés

IronBarcode supporte une large gamme de formats de code-barres couramment utilisés, y compris :

  • QR codes avec logos et couleurs (y compris les codes décorés et de marque)
  • Codes-barres multi-formats, y compris Aztec, Data Matrix, CODE 93, CODE 128, RSS Expanded Databar, UPS MaxiCode, et USPS, IMB (OneCode) codes-barres
  • Codes-barres linéaires empilés RSS-14 et PDF-417
  • UPCA, UPCE, EAN-8, EAN-13, Codabar, ITF, MSI et Plessey sont des formats de codes-barres numériques traditionnels.

Créer et Enregistrer un Code-barres

using IronBarCode;
// Create a barcode and save it in various formats
var MyBarCode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
MyBarCode.SaveAsImage("MyBarCode.png");
MyBarCode.SaveAsGif("MyBarCode.gif");
MyBarCode.SaveAsHtmlFile("MyBarCode.html");
MyBarCode.SaveAsJpeg("MyBarCode.jpg");
MyBarCode.SaveAsPdf("MyBarCode.Pdf");
MyBarCode.SaveAsPng("MyBarCode.png");
MyBarCode.SaveAsTiff("MyBarCode.tiff");
MyBarCode.SaveAsWindowsBitmap("MyBarCode.bmp");

// Convert barcode to different image formats and obtain binary data
System.Drawing.Image MyBarCodeImage = MyBarCode.Image;
System.Drawing.Bitmap MyBarCodeBitmap = MyBarCode.ToBitmap();
string DataURL = MyBarCode.ToDataUrl();
string ImgTagForHTML = MyBarCode.ToHtmlTag();
byte[] PngBytes = MyBarCode.ToPngBinaryData();

// Save barcode in PDF stream
using (System.IO.Stream PdfStream = MyBarCode.ToPdfStream())
{
    // The Stream barcode image output also works for GIF, JPEG, PDF, PNG, BMP and TIFF
}

// Stamp barcode onto an existing PDF at a specific position
MyBarCode.StampToExistingPdfPage("ExistingPDF.pdf", 1, 200, 50);

D'un autre côté, ZXing est une bibliothèque open-source Java pour le traitement d'images de codes-barres 1D/2D. UPC-A, UPC-E, EAN-8, Code 93, Code 128, QR Code, Data Matrix, Aztec, PDF 417 et d'autres formats de codes-barres sont supportés.

A Comparison between IronBarcode and Zxing.NET, Figure 4: Formats de codes-barres pris en charge

Formats de codes-barres pris en charge

Créer des fichiers QR Code avec IronBarcode

Pour créer des codes QR avec IronBarcode, nous pouvons utiliser la classe QRCodeWriter plutôt que la classe BarcodeWriter. Cette classe introduit des fonctionnalités nouvelles et intéressantes pour créer des QR codes. Elle nous permet de définir le niveau de correction d'erreur du QR, vous permettant de trouver un équilibre entre la taille et la lisibilité de votre code QR.

using IronBarCode;
// Generate a simple QR Code image and save as PNG
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png");

La correction d'erreur nous permet de spécifier à quel point il sera facile de lire un code QR dans des situations réelles. Des niveaux plus élevés de correction d'erreurs entraînent des codes QR plus grands avec plus de pixels et de complexité. Dans l'image ci-dessous, nous voyons le fichier de code QR affiché.

A Comparison between IronBarcode and ZXing.NET, Figure 5: Formats de codes-barres pris en charge

Image du code QR

Nous commençons par spécifier la valeur du code-barres et le format du code-barres à partir de l'enum IronBarCode.BarcodeWriterEncoding. Nous pouvons alors enregistrer comme une image, un System.Drawing.Image, ou un objet code Bitmap.

using IronBarCode;
using System.Diagnostics;

// Generate a simple BarCode image and save as PNG using the following namespaces
GeneratedBarcode MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);
MyBarCode.SaveAsPng("MyBarCode.png");

// This line opens the image in your default image viewer
Process.Start("MyBarCode.png");
A Comparison between IronBarcode and ZXing.NET, Figure 6: Exemple de création d'une image de code-barres en C#

Exemple de création d'une image de code-barres en C#

IronBarcode supporte également la stylisation des QR codes, telle que l'insertion d'un graphique logo placé et ajusté à une grille au centre exact de l'image. Il peut également être coloré pour correspondre à une marque ou une identité graphique spécifique.

Pour tester, créez un logo dans l'exemple de code ci-dessous et voyez à quel point il est simple d'utiliser la méthode QRCodeWriter.CreateQRCodeWithLogo.

using IronBarCode;

// Adding a Logo
var MyQRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", "visual-studio-logo.png", 500);
MyQRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
A Comparison between IronBarcode and ZXing.NET, Figure 7: Créer un code QR avec une image de logo

Créer un code QR avec une image de logo

Enfin, nous enregistrons le code QR généré en tant que fichier PDF. Pour votre commodité, la dernière ligne de code enregistre le code QR sous forme de fichier HTML.

using IronBarCode;

// Adding a Logo
var MyQRWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", "visual-studio-logo.png", 500);
MyQRWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);

// Save as PDF
MyQRWithLogo.SaveAsPdf("MyQRWithLogo.pdf");

// Also Save as HTML
MyQRWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");

Ci-dessous, nous voyons comment créer, styliser et exporter un code-barres avec une seule ligne de code.

IronBarcode inclut une API fluide qui est similaire à System.Linq. Nous créons un code-barres, définissons ses marges, et l'exportons en bitmap en une seule ligne en enchaînant les appels de méthode. Ceci peut être très utile et rend le code plus facile à lire.

using IronBarCode;
using System.Drawing;

// Fluent API for Barcode image generation
string MyValue = "https://ironsoftware.com/csharp/barcode";
Bitmap BarcodeBmp = IronBarCode.BarcodeWriter.CreateBarcode(MyValue, BarcodeEncoding.PDF417)
    .ResizeTo(300, 200)
    .SetMargins(100)
    .ToBitmap();

En conséquence, un System.Drawing.Image d'un code-barres PDF417 apparaît comme indiqué ci-dessous :

A Comparison between IronBarcode and ZXing.NET, Figure 8: Génération simple et fluide de codes-barres PDF417 en C#

Génération simple et fluide de codes-barres PDF417 en C#

Lecture de Fichiers Code QR

Lecture de Codes QR avec IronBarcode

Lire un code-barres ou un code QR est un jeu d'enfant lorsque vous utilisez la bibliothèque de classes IronBarcode en conjonction avec le lecteur de code-barres .NET. Dans notre premier exemple, nous pouvons voir comment lire un code-barres en utilisant seulement une ligne de code.

A Comparison between IronBarcode and ZXing.NET, Figure 9: Image de code-barres Code128 à scanner avec C#

Image de code-barres Code128 à scanner avec C#

Nous pouvons obtenir la valeur du code-barres, l'image, le type d'encodage, et les données binaires (le cas échéant) et les afficher ensuite sur la console.

using IronBarCode;
using System;

// Read a barcode or QR code from an image
BarcodeResult Result = BarcodeReader.QuicklyReadOneBarcode("GetStarted.png");
if (Result != null && Result.Text == "https://ironsoftware.com/csharp/barcode/")
{
    Console.WriteLine("GetStarted was a success.  Read Value: " + Result.Text);
}

Lecture de Codes-barres à l'Intérieur des PDFs

Nous allons examiner la lecture d'un document PDF numérisé et trouver tous les codes-barres unidimensionnels en quelques lignes de code.

Comme vous pouvez le voir, c'est très similaire à la lecture d'un seul code-barres à partir d'un seul document, sauf que maintenant nous savons sur quelle page le code-barres a été découvert.

using IronBarCode;
using System;
using System.Drawing;

// Multiple barcodes may be scanned up from a single document or image. A PDF document may also be used as the input image
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(PageResult.Value + " on page " + PageNum);
}

Vous obtiendrez des données de résultat avec tous les codes-barres bitmap du PDF.

A Comparison between IronBarcode and ZXing.NET, Figure 10: Lecture des codes-barres stockés dans les résultats PDF

Lecture des codes-barres stockés dans les résultats PDF

Lecture de Codes-barres à partir de GIF et TIFF

using IronBarCode;
using System;

// Multi-frame TIFF and GIF images can also be scanned, and multiple threads will be used automatically in the background for improved performance
PagedBarcodeResult[] MultiFrameResults = BarcodeReader.ReadBarcodesFromMultiFrameTiff("Multiframe.tiff", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.High, BarcodeReader.BarcodeImageCorrection.MediumCleanPixels);
foreach (var PageResult in MultiFrameResults)
{
    // Process each page result
}
A Comparison between IronBarcode and ZXing.NET, Figure 11: Lecture des codes-barres à partir d'une image TIFF multi-images

Lecture des codes-barres à partir d'une image TIFF multi-images

L'exemple suivant montre comment lire des QR codes et des codes-barres PDF-417 à partir d'un PDF numérisé. Nous avons défini un niveau approprié de correction de rotation de codes-barres et de correction d'image de codes-barres pour nettoyer légèrement le document sans entraîner de pénalité de performance significative.

using IronBarCode;
using System;

// PDF documents can also be scanned, and multiple threads will be used automatically in the background for improved performance
var ScanResults = BarcodeReader.ReadBarcodesFromPdf("Scan.pdf", BarcodeEncoding.All, BarcodeReader.BarcodeRotationCorrection.Low, BarcodeReader.BarcodeImageCorrection.LightlyCleanPixels);

// Work with the results
foreach (var PageResult in ScanResults)
{
    string Value = PageResult.Value;
    //...
}
A Comparison between IronBarcode and ZXing.NET, Figure 12: Lecture des codes-barres à partir d'un document PDF numérisé

Lecture des codes-barres à partir d'un document PDF numérisé

Lecture de Codes QR CORROMPUS à partir d'Images Bitmap

L'exemple ci-dessous montre que cette bibliothèque de codes-barres C# peut même lire une vignette de code-barres corrompue.

La correction de la taille de la vignette de code-barres est effectuée automatiquement. IronBarcode en C# rend un fichier lisible.

Les méthodes du lecteur détectent automatiquement les images de codes-barres trop petites pour être un code-barres légitime et les améliorent. Elles nettoient tout le bruit numérique associé au travail avec des vignettes, les rendant à nouveau lisibles.

using IronBarCode;

// Small or 'Thumbnail' barcode images are automatically detected by IronBarcode and corrected wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.QuicklyReadOneBarcode("ThumbnailOfBarcode.gif", BarcodeEncoding.Code128);
A Comparison between IronBarcode and ZXing.NET, Figure 13: Correction automatique de la taille des vignettes de codes-barres

Correction automatique de la taille des vignettes de codes-barres

Lecture de Codes-barres à partir d'Images Imparfaites

Dans des scénarios réels, nous pourrions vouloir lire des codes-barres à partir d'images imparfaites. Elles pourraient être des images inclinées ou des photographies avec du bruit numérique. Cela serait impossible avec la plupart des bibliothèques open-source de génération et de lecture de codes-barres .NET. IronBarcode, d'un autre côté, rend la lecture de codes-barres à partir d'images imparfaites un jeu d'enfant.

Nous allons maintenant examiner la méthode ReadASingleBarcode. Avec son paramètre RotationCorrection, IronBarcode tente de désincliner et lire les codes-barres à partir d'échantillons numériques imparfaits.

using IronBarCode;
using System;
using System.Drawing;

// All BarcodeResult.Read methods provide the developer with control to correct image and photograph correction and straightening rotation and perspective from skewed images
// * RotationCorrection   e.g BarcodeReader.BarcodeRotationCorrection.Extreme un-rotates and removes perspective from barcode images.
// * ImageCorrection      e.g BarcodeReader.BarcodeImageCorrection.DeepCleanPixels separates barcodes from background imagery and digital noise.
// * BarcodeEncoding      e.g. BarcodeEncoding.Code128,  Setting a specific Barcode format improves speed and reduces the risk of false positive results

// Example with a photo image
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);
A Comparison between IronBarcode and ZXing.NET, Figure 14: Lecture d'un code-barres sur l'appareil photo d'un téléphone

Lecture d'un code-barres sur l'appareil photo d'un téléphone

IronBarcode peut également lire plusieurs codes-barres en même temps. Nous obtenons de meilleurs résultats d'IronBarcode lorsque nous créons une liste de documents et utilisons le lecteur de code-barres pour lire de nombreux documents. La méthode ReadBarcodesMultithreaded pour le processus de balayage des codes-barres utilise plusieurs threads et potentiellement tous les cœurs de votre CPU, ce qui peut être exponentiellement plus rapide que la lecture des codes-barres un à la fois.

using IronBarCode;

// The BarcodeResult.ReadBarcodesMultiThreaded method allows for faster barcode scanning of multiple images or PDFs. All threads are automatically managed by IronBarcode.
var ListOfDocuments = new[] { "Image1.png", "image2.JPG", "image3.pdf" };
PagedBarcodeResult[] BatchResults = BarcodeReader.ReadBarcodesMultiThreaded(ListOfDocuments);

// Work with the results
foreach (var Result in BatchResults)
{
    string Value = Result.Value;
    //...
}

Lecture et Décodage de QR Codes avec ZXing.NET

Pour lire les fichiers de code QR, ajoutez une méthode d'action ViewFile à votre contrôleur, comme indiqué ci-dessous.

public ActionResult ViewFile()
{
    List<KeyValuePair<string, string>> fileData = new List<KeyValuePair<string, string>>();
    KeyValuePair<string, string> data;

    string[] files = Directory.GetFiles(Server.MapPath("~/qrr"));
    foreach (string file in files)
    {
        // Create a barcode reader instance
        IBarcodeReader reader = new BarcodeReader();

        // Load a bitmap
        var barcodeBitmap = (Bitmap)Image.FromFile(Server.MapPath("~/qrr") + "/" + Path.GetFileName(file));

        // Detect and decode the barcode inside the bitmap
        var result = reader.Decode(barcodeBitmap);

        // Do something with the result
        data = new KeyValuePair<string, string>(result.ToString(), "/QR/" + Path.GetFileName(file));
        fileData.Add(data);
    }
    return View(fileData);
}
A Comparison between IronBarcode and ZXing.NET, Figure 15: Lecture et décodage des codes QR

Lecture et décodage des codes QR

A Comparison between IronBarcode and ZXing.NET, Figure 16: Code QR décodé

Code QR décodé

Décodage d'un Code-barres À l'Intérieur d'un Bitmap

using ZXing;
using System.Drawing;

// Create a barcode reader instance
BarcodeReader reader = new BarcodeReader();

// Load a bitmap
var barcodeBitmap = (Bitmap)Image.FromFile("C:\\sample-barcode-image.png");

// Detect and decode the barcode inside the bitmap
var result = reader.Decode(barcodeBitmap);

// Do something with the result
if (result != null)
{
    txtDecoderType.Text = result.BarcodeFormat.ToString();
    txtDecoderContent.Text = result.Text;
}

ZXing Decoder Online

ZXing Decoder Online est un scanner de codes-barres et de QR codes disponible en ligne qui supporte le décodage. Téléchargez un PNG ou tout autre format de l'image du code QR, et il commencera à le décoder. De même, vous pouvez générer un QR code pour n'importe quelle donnée. La plupart du temps, ces informations seront une URL ou un texte que vous souhaitez encoder dans un QR code.

Accédez au site Web du ZXing Decoder.

A Comparison between IronBarcode and ZXing.NET, Figure 17: Code QR décodé

Site Web de décodage ZXing

A Comparison between IronBarcode and ZXing.NET, Figure 18: Code QR décodé

Résultat du décodage ZXing

Tarification et licences

La bibliothèque ZXing.NET est une bibliothèque open-source gratuite qui vous permet de construire des applications de lecture de codes-barres, sous licence Apache License 2.0, qui permet une utilisation commerciale gratuite avec une attribution appropriée.

Une licence développeur pour IronBarcode est offerte gratuitement. IronBarcode a un schéma de tarification unique : le pack Lite commence à $999 sans coûts supplémentaires. Les articles SaaS et OEM peuvent également être redistribués. Chaque licence comprend une licence perpétuelle, une validité dev/étage/production, une garantie de remboursement de 30 jours, et une année de support logiciel et de mises à jour (achat unique). Visitez cette page pour consulter les informations complètes sur les prix et les licences d'IronBarcode.

Pourquoi Choisir IronBarcode ?

IronBarcode inclut une API facile à utiliser pour les développeurs afin de lire et écrire des codes-barres dans .NET, ce qui optimise la précision et un faible taux d'erreur dans des cas d'utilisation réels.

La classe BarcodeWriter, par exemple, validera et corrigera les 'checksums' sur les codes-barres UPCA et UPCE. Il 'zero-pad' également les numéros trop courts pour être entrés dans un format numérique spécifique. Si vos données sont incompatibles avec le format de données spécifié, IronBarcode informera le développeur d'un format de code-barres plus approprié qu'il peut utiliser.

IronBarcode excelle à lire les codes-barres lorsqu'ils ont été scannés ou lus à partir d'une image photographique autrement dit, lorsque l'image n'est pas parfaite graphiquement et n'est pas une capture d'écran générée par une machine.

Comment IronBarcode Diffère de ZXing.NET ?

IronBarcode est construit à partir du cœur de ZXing.NET (Zebra Crossing), avec une capacité de traitement améliorée. Il vient avec une API facile à utiliser et un faible taux d'erreur comparé à la bibliothèque centrale de ZXing.NET. Non seulement cela, mais IronBarcode supporte également une plus large gamme de formats de codes-barres que la bibliothèque ZXing.NET habituelle ne prend en charge.

IronBarcode est une version améliorée de ZXing.NET, offrant à l'utilisateur la plate-forme pour une utilisation commerciale et la possibilité d'utiliser le même paquet sur plusieurs plates-formes. Il dispose également d'un support technique complet, toujours prêt à vous aider où que vous soyez.

IronBarcode inclut la rotation automatique, la correction de perspective et la correction de bruit numérique et peut détecter le type de code-barres encodé dans une image.

Conclusion

En conclusion, IronBarcode est une bibliothèque logicielle .NET polyvalente et un générateur de codes QR en C# pour lire une large gamme de formats de codes-barres, qu'il s'agisse de captures d'écran, de photographies, de scans ou d'autres images imparfaites du monde réel.

IronBarcode est l'une des bibliothèques les plus efficaces pour créer et identifier des codes-barres. En termes de création et d'identification de codes-barres, elle est aussi parmi les bibliothèques les plus rapides. Divers systèmes d'exploitation sont compatibles avec la bibliothèque. Elle est facile à concevoir et supporte une large gamme de formats de codes-barres. De plus, divers symboles, formats et caractères sont supportés.

Le code-barres ZXing.NET est une bibliothèque puissante qui génère et reconnaît les codes-barres dans divers formats d'image. Nous pouvons lire et créer des images dans une variété de formats. ZXing.NET vous permet également de modifier l'apparence d'un code-barres, en altérant sa hauteur, sa largeur, son texte de code-barres, etc.

En comparaison avec ZXing.NET, les paquets IronBarcode offrent une licence et un support fiables. IronBarcode coûte $999. Bien que ZXing soit gratuit et open-source, IronBarcode fournit un support commercial complet et un entretien professionnel. En plus d'être plus flexible que ZXing.NET, la solution IronBarcode offre aussi plus de fonctionnalités. Ainsi, il est évident qu'IronBarcode a un avantage significatif sur ZXing.NET.

En comparant les temps de traitement pour reconnaître et générer des codes-barres, IronBarcode surpasse ZXing.NET. IronBarcode possède également plusieurs propriétés qui nous permettent de lire des codes-barres à partir de différents formats d'image et de documents PDF. Elle permet également d'inclure des images dans le code-barres ou le code QR, ce qui n'est disponible dans aucune autre bibliothèque.

IronBarcode est gratuit pour les premières étapes de développement. Vous pouvez obtenir un essai gratuit pour une utilisation au niveau de la production ou commerciale. Selon les besoins du développeur, IronBarcode propose trois niveaux de prix. Vous pouvez choisir la solution qui répond le mieux à vos besoins. Vous pouvez maintenant obtenir une suite de cinq produits Iron Software pour le prix de deux éléments Iron Software. Visitez ce site web pour plus d'informations.

Veuillez noter: ZXing.NET est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par ou parrainé par ZXing.NET. 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.
Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise