UTILISATION D'IRONBARCODE

Comment utiliser les lecteurs de BarCode dans les applications Windows C#

Mise à jour janvier 20, 2024
Partager:

Ce tutoriel explique comment scanner des codes QR et des codes-barres dans les applications C# Console et les applications .NET Windows Forms, en utilisant la bibliothèque IronBarcode pour l'exemple.

Grâce à la bibliothèque IronBarcode, plusieurs codes-barres peuvent être scannés et lus simultanément, et il est également possible de scanner avec succès des images imparfaites. Précisons d'abord ce qu'est un lecteur de codes-barres.

Qu'est-ce qu'un lecteur de codes-barres ?

Un code-barres est une image carrée ou rectangulaire constituée d'une série de lignes noires parallèles et d'espaces blancs de largeurs variables. Un scanner de codes-barres ou lecteur de codes-barres est un appareil capable de lire des codes-barres imprimés, de décoder les données contenues dans le code-barres et d'envoyer ces données à un ordinateur.

Les étapes suivantes expliquent comment créer un lecteur de codes-barres à l'aide de la bibliothèque IronBarcode.

Comment lire les codes-barres dans C# ;

  • Créer un projet d'application Windows Forms .NET dans Microsoft Visual Studio
  • Installer la bibliothèque de codes-barres
  • Lire n'importe quel code-barres ou code QR
  • Lire plusieurs codes-barres ou codes QR en un seul balayage
  • Permettre à IronBarcode de lire des scans et des photos imparfaits

1. Créer une application Windows Forms dans Microsoft Visual Studio

Ouvrez Visual Studio > Cliquez sur Créer un nouveau projet > Sélectionnez Windows Forms Application Template > Appuyez sur Suivant > Nommez le projet > Appuyez sur Suivant > Sélectionnez votre Framework .NET cible > Cliquez sur le bouton Créer.

Après avoir créé le projet, concevez le formulaire comme suit à partir de la boîte à outils de Visual Studio : Contrôles PictureBox, Label, TextBox et Button.

Comment utiliser les lecteurs de codes-barres dans l'application Windows C#, Figure 1 : Scanner de codes-barres

Scanner de codes-barres

2. Installer la bibliothèque Barcode .NET dans C# ;

La bibliothèque de codes-barres peut être installée en utilisant l'une des trois méthodes suivantes :

1. Console du gestionnaire de paquets

Écrivez la commande suivante dans la console du gestionnaire de paquets. Il téléchargera et installera le paquet pour vous.

Install-Package BarCode

2. Solution NuGet Packages Manager

Vous pouvez également installer la bibliothèque de codes-barres en utilisant la solution NuGet Package. Il suffit de suivre les étapes suivantes :

Cliquez sur Outils > NuGet Package Manager > Gestion des paquets NuGet pour la solution.

Cela ouvrira le gestionnaire de paquets NuGet. Cliquez sur Browse et recherchez Barcode, puis installez la bibliothèque de classes.

3. Télécharger à partir du lien

En guise d'alternative, leIronBarCode.Dll peut être téléchargé et ajouté à votre projet comme référence.

Après le téléchargement, ajoutez les références suivantes à votre projet de lecteur de code-barres.

using IronBarCode;
using IronBarCode;
Imports IronBarCode
VB   C#

3. Lire n'importe quel code-barres ou code QR

La lecture d'un code-barres ou d'un code QR dans .NET est incroyablement facile grâce à la bibliothèque IronBarcode for .NET.NET Barcode Reader.

Lecteur de codes-barres

Dans votre projet, recherchez l'image que vous souhaitez lire. Il l'ouvrira dans PictureBox ; cliquez ensuite sur "scan code". Le texte apparaît dans la zone de texte.

Voici le code du bouton "parcourir" pour ouvrir une image :

// open file dialog   
OpenFileDialog open = new OpenFileDialog();  
// image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)
*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {  
    // display image in picture box
    pictureBox1.Image = new Bitmap(open.FileName); 
    // store image file path in class data member. Initialize it as string ImageFileName;
    ImageFileName = open.FileName; 
}
// open file dialog   
OpenFileDialog open = new OpenFileDialog();  
// image filters  
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)
*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {  
    // display image in picture box
    pictureBox1.Image = new Bitmap(open.FileName); 
    // store image file path in class data member. Initialize it as string ImageFileName;
    ImageFileName = open.FileName; 
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Le code du bouton "scan code" :

BarcodeResult Result = BarcodeReader.Read(ImageFileName);
textBox1.Text = Result.Text;
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
textBox1.Text = Result.Text;
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName)
textBox1.Text = Result.Text
VB   C#

Le lecteur de codes-barres affiche les données du code-barres dans la zone de texte comme suit :

Comment utiliser un lecteur de code-barres dans une application Windows C#, Figure 2 : Image de code-barres à scanner avec C#

Barcode Image to be Scanned with C# (Image de code-barres à scanner avec C#)

Scanner de code QR

Dans cette section, la bibliothèque IronBarcode gère efficacement des situations réelles impliquant des codes QR de travers. Bien que le code QR à angle oblique puisse être traité et lu par l'applicationLire elle peut néanmoins prendre plus de temps à résoudre. La bibliothèque IronBarcode offre une façon personnalisée d'utiliser les codesBarcodeReaderOptions (Options du lecteur de codes-barres) en tant que paramètre supplémentaire pour traiter ce type d'entrée d'image. Le code est le suivant :

// Choose which filters are to be applied (in order);
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    // Set chosen filters in BarcodeReaderOptions:
    ImageFilters = filtersToApply,

    ExpectBarcodeTypes = BarcodeEncoding.QRCode 
 BarcodeEncoding.Code128,
};
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
// Choose which filters are to be applied (in order);
var filtersToApply = new ImageFilterCollection() {
    new SharpenFilter(),
    new InvertFilter(),
    new ContrastFilter(),
    new BrightnessFilter(),
    new AdaptiveThresholdFilter(),
    new BinaryThresholdFilter()
};

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    // Set chosen filters in BarcodeReaderOptions:
    ImageFilters = filtersToApply,

    ExpectBarcodeTypes = BarcodeEncoding.QRCode 
 BarcodeEncoding.Code128,
};
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Le résultat sera le suivant après l'ouverture de l'image du code QR asymétrique :

Comment utiliser les lecteurs de codes-barres dans l'application Windows C#, Figure 4 : Image QrCode oblique

Skewed QrCode Image (Image de code Qr)

Lecture de plusieurs codes-barres en un seul balayage

Documents PDF

Les images de codes-barres peuvent être scannées à partir d'un fichier PDF et chaque résultat peut être affiché de manière appropriée. L'exemple de code suivant vous permet de lire plusieurs codes-barres dans un fichier PDF.

// Multiple barcodes may be scanned up from a single document or image.  A PDF document may also used as the input 
imagePagedBarcodeResult [] PDFResults = BarcodeReader.ReadPdf("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);
}
// Multiple barcodes may be scanned up from a single document or image.  A PDF document may also used as the input 
imagePagedBarcodeResult [] PDFResults = BarcodeReader.ReadPdf("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);
}
' Multiple barcodes may be scanned up from a single document or image.  A PDF document may also used as the input 
Dim PDFResults() As imagePagedBarcodeResult = BarcodeReader.ReadPdf("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(PageResult.Value & " on page " & PageNum)
Next PageResult
VB   C#

Code-barres et code QR présents dans les fichiers PDF :

Comment utiliser un lecteur de code-barres dans une application Windows C#, Figure 3 : C# - Lecture de codes-barres à partir d'un résultat PDF

C# - Lecture de codes-barres à partir d'un résultat PDF

Lecture de codes-barres à partir d'images imparfaites

Dans les cas d'utilisation réels, les codes-barres sont souvent associés à des imperfections dans les images, les scans, les vignettes ou les photographies, et peuvent contenir du bruit numérique ou être faussés. Cette section explique comment lire les données des codes-barres dans les vignettes.

Vignettes

La bibliothèque IronBarcode utilise la fonctionGénérateur de code-barres C#qui est même capable de lire une vignette corrompue d'un code-barres.

How to Use Barcode Scanners in C# Windows Application, Figure 5 : Correction automatique de la taille de la vignette du code-barres. Fichier lisible à l'aide d'IronBarcode en C#

Correction automatique de la taille des vignettes des codes-barres. Lecture de fichiers à l'aide d'IronBarcode en C#

Il détecte automatiquement les images de codes-barres qui sont trop petites pour représenter raisonnablement un code-barres réel, puis met à l'échelle et nettoie tout le bruit numérique associé à l'utilisation du pouce, leur permettant ainsi d'être à nouveau lisibles.

// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif")
VB   C#

Résumé

IronBarcode est une bibliothèque logicielle polyvalente pour .NET etGénérateur de code QR C# pour scanner et lire une large gamme de formats d'images de codes-barres, et ce, que ces codes-barres soient ou non de parfaites captures d'écran ou qu'il s'agisse en fait de photographies, de scans ou d'autres imagesimages imparfaites du monde réel. En outre, IronBarcode offre une large gamme d'options de personnalisation pour améliorer la vitesse de lecture des codes-barres, telles querégions de culture oumultithreadingetla précision du modèle ML. Visiterla page des documents officiels pour plus d'informations sur IronBarcode.

Actuellement, si vous achetezla suite complète d'Iron Suitevous pouvez donc obtenir cinq bibliothèques pour le prix de deux.

< PRÉCÉDENT
Générateur de code-barres .NET Tutoriel
SUIVANT >
Comment générer des codes-barres en ASP.NET à l'aide de C#