Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
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.
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.
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.
Scanner de codes-barres
La bibliothèque de codes-barres peut être installée en utilisant l'une des trois méthodes suivantes :
Écrivez la commande suivante dans la console du gestionnaire de paquets. Il téléchargera et installera le paquet pour vous.
Install-Package BarCode
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.
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
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.
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
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
Le lecteur de codes-barres affiche les données du code-barres dans la zone de texte comme suit :
Barcode Image to be Scanned with C# (Image de code-barres à scanner avec C#)
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
Le résultat sera le suivant après l'ouverture de l'image du code QR asymétrique :
Skewed QrCode Image (Image de code Qr)
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
Code-barres et code QR présents dans les fichiers PDF :
C# - Lecture de codes-barres à partir d'un résultat PDF
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.
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.
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")
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.
9 produits de l'API .NET pour vos documents de bureau