using IronBarCode;
using System.Drawing;
// Reading a barcode is easy with IronBarcode!
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf"); // From PDF use ReadPdf
// To configure and fine-tune barcode reading, utilize the BarcodeReaderOptions class
var myOptionsExample = new BarcodeReaderOptions
{
// Choose a reading speed from: Faster, Balanced, Detailed, ExtremeDetail
// There is a tradeoff in performance as more detail is set
Speed = ReadingSpeed.Balanced,
// Reader will stop scanning once a single barcode is found (if set to true)
ExpectMultipleBarcodes = true,
// By default, all barcode formats are scanned for
// Specifying a subset of barcode types to search for would improve performance
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
// Utilize multiple threads to read barcodes from multiple images in parallel
Multithreaded = true,
// Maximum threads for parallelized barcode reading
// Default is 4
MaxParallelThreads = 2,
// The area of each image frame in which to scan for barcodes
// Specifying a crop area will significantly improve performance and avoid noisy parts of the image
CropArea = new Rectangle(),
// Special setting for Code39 barcodes
// If a Code39 barcode is detected, try to read with both the base and extended ASCII character sets
UseCode39ExtendedMode = true
};
// Read with the options applied
var results = BarcodeReader.Read("barcode.png", myOptionsExample);
// Create a barcode with one line of code
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// After creating a barcode, we may choose to resize
myBarcode.ResizeTo(400, 100);
// Save our newly-created barcode as an image
myBarcode.SaveAsImage("EAN8.jpeg");
Image myBarcodeImage = myBarcode.Image; // Can be used as Image
Bitmap myBarcodeBitmap = myBarcode.ToBitmap(); // Can be used as Bitmap
Tutoriel sur le lecteur de codes-barres C#, étape par étape
Mise à jour février 7, 2024
Partager:
Ce tutoriel montre comment créer un lecteur de codes-barres avec l'aide d'une bibliothèque tierce. De nombreuses bibliothèques sont disponibles à cet effet, mais certaines sont payantes, d'autres offrent moins de fonctionnalités et d'autres encore sont difficiles à mettre en œuvre. Il est difficile de trouver une bibliothèque très complète et utile qui soit gratuite, efficace et facile à mettre en œuvre.
C'est pourquoi nous utiliseronsIronBarcodecar il est le mieux adapté au développement d'un lecteur de codes-barres .NET. Il présente également l'avantage d'être libre de développement, très efficace et facile à mettre en œuvre. IronBarcode permet aux développeurs de lire et d'écrire des codes-barres et des codes QR au sein d'applications et de sites Web .NET. La lecture ou l'écriture de codes-barres ne nécessite qu'une seule ligne de code avec cette bibliothèque.
La bibliothèque de codes-barres .NET lit et écrit la plupart des normes de codes-barres et de codes QR. Les types de codes-barres pris en charge comprennent le code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS et QR. Les données de résultat du code-barres comprennent des fichiers de type, de texte, de données binaires, de pages et d'images.
L'API d'écriture de codes-barres contrôle et vérifie le format, la longueur, le nombre et la somme de contrôle afin d'éviter automatiquement les erreurs d'encodage. Lesle rédacteur de codes-barres permet de styliserle logiciel de gestion de l'information permet d'effectuer des recherches sur des sujets tels que l'environnement, la santé et la sécurité, le redimensionnement, les marges, les bordures, la recoloration et l'ajout d'annotations. Le rédacteur de codes-barres peut écrire dans des fichiers d'image, notamment BMP, PNG, GIF, TIFF et JPG. Il peut également écrire au format PDF ouFichiers HTML.
Créons notre lecteur de codes-barres pour mieux le comprendre.
Créer un projet Visual Studio
Tout d'abord, créez un projet Visual Studio pour développer une application de démonstration. Vous pouvez également ouvrir un projet existant.
Suivez les étapes ci-dessous pour créer un nouveau projet d'application console afin de vous concentrer sur les fonctionnalités de base. Le même code peut être mis en œuvre dans des applications Web API, MVC, Web Forms ou Windows Forms.
Ouvrir Visual Studio
Cliquez sur Créer un nouveau projet
Sélectionnez Template, cliquez sur le bouton Next
Nommez le projet, cliquez sur le bouton Suivant
Sélectionnez Target Framework, cliquez sur le bouton Suivant
Cliquez sur le bouton Créer, cliquez sur le bouton Suivant
Un nouveau projet sera créé comme indiqué ci-dessous :
Console Application
L'étape suivante consiste à installer leIronBarcode paquet NuGet pour utiliser ses fonctionnalités.
Installer le paquet NuGet d'IronBarcode
Vous pouvez installer la bibliothèque à l'aide de la console du gestionnaire de paquets, des solutions du gestionnaire de paquets NuGet ou directement à partir du fichierPage du paquet NuGet BarCode.
Ecrivons maintenant un code pour scanner une image de code-barres.
Numérisation d'un code-barres à partir d'un fichier image
Ajouter l'espace de noms suivant
using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText $csharpLabel
Ensuite, écrivez le code suivant dans la fonction principale pour lire les données d'un code-barres à partir d'une image.
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")
Console.WriteLine(myBarcode)
$vbLabelText $csharpLabel
LesBarcodeReader fournit unLire qui prend un chemin de fichier comme argument. Cette fonction lit l'image et renvoie les données du code-barres. Cette méthode permet de lire les codes-barres à partir d'un fichier BMP ou PNG, GIF, TIFFou JPG avec des paramètres granulaires permettant aux développeurs d'équilibrer les performances et la précision en fonction de leur cas d'utilisation.
Le chemin d'accès contient l'image du code-barres suivant que l'application va scanner.
Image de code-barres
L'image du code-barres utilisée dans cette application console
Lisons cette image de code-barres pour voir si ce programme produit le bon résultat.
Sortie
La sortie de la console lors de l'exécution de l'application
On peut constater que le programme a généré un résultat précis.
Numérisation d'un code-barres à partir d'un PDF
Dans de nombreuses circonstances, il est nécessaire de scanner un code-barres à partir d'une facture PDF. Dans cet exemple, nous allons scanner le code-barres de la facture suivante.
Document PDF
**Une facture au format PDF
Prenons l'exemple de l'extrait de code suivant, qui permet de scanner le code-barres d'un document PDF :
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
Console.WriteLine(barcodeData.Value);
}
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
Console.WriteLine(barcodeData.Value);
}
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")
For Each barcodeData In myBarcode
Console.WriteLine(barcodeData.Value)
Next barcodeData
$vbLabelText $csharpLabel
La classe BarcodeReader fournit la fonctionReadPdf qui prend un chemin de fichier comme argument. Cette fonction recherche une image de code-barres dans un fichier PDF, scanne l'ensemble du code-barres et renvoie ses données sous la forme d'un tableau. Cette fonction lit les codes-barres de chaque image intégrée dans le document.
une boucle foreach utilisée pour imprimer les données du code-barres dans la console.
Sortie
Le numéro de la facture est imprimé sur la console.
La sortie de la console affiche le numéro de la facture
Numérisation de codes-barres à partir de plusieurs fichiers
Cet exemple montre comment scanner simultanément plusieurs codes-barres à partir de fichiers images.
Images de codes-barres
**Images de codes-barres utilisées dans l'échantillon ci-dessous
Examinez les extraits de code suivants qui lisent plusieurs codes-barres et scannent leurs résultats en utilisant le multithreading.
List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults = BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
string barcodeValue = result.Text;
}
List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults = BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
string barcodeValue = result.Text;
}
Dim barcodeList As New List(Of String)()
barcodeList.Add("D:\Barcode Images\barcode1.jpg")
barcodeList.Add("D:\Barcode Images\barcode2.jpg")
barcodeList.Add("D:\Barcode Images\barcode3.jpg")
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)
' Work with the results
For Each result In batchResults
Dim barcodeValue As String = result.Text
Next result
$vbLabelText $csharpLabel
Tout d'abord, une liste est créée pour contenir le chemin de fichier de toutes les images de codes-barres. Ensuite, leReadAsync est appelée, qui prend une Liste<string> comme argument et renvoie les données. Cette méthode permet de lire les codes-barres de plusieurs images en parallèle. Plusieurs fils d'exécution seront lancés et gérés automatiquement afin d'améliorer les performances des tâches de lecture de codes-barres par lots.
Scanner le code QR
L'utilisation des codes QR augmente rapidement. Par conséquent, cette section montrera comment scanner des codes QR en utilisant C#.
Code QR
Le code QR utilisé dans cette démonstration
Considérons l'exemple de code suivant :
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
Console.WriteLine(result.Text);
}
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
Console.WriteLine(result.Text);
}
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")
For Each result In qrCodeResult
Console.WriteLine(result.Text)
Next result
$vbLabelText $csharpLabel
La même fonction Read que celle décrite ci-dessus est utilisée pour lire le code QR. C'est la simplicité qu'offre la bibliothèque IronBarcode. Ainsi, la même fonction et le même code peuvent être utilisés pour différentes sources d'images.
Sortie
La console du lecteur de code QR
Résumé
Ce tutoriel présente une méthode très simple pour scanner des codes-barres à partir d'une seule image, scanner des codes-barres à partir d'un document PDF et scanner des codes-barres à partir de plusieurs images et de plusieurs documents en parallèle. Nous avons utilisé la même fonction pour différentes fonctionnalités. Il offre à la fois performance et convivialité. IronBarcode permet de générer des codes-barres et des codes QR avecdifférentes configurations. Il y a tellement de caractéristiques qu'il est impossible d'en parler dans le même article. Veuillez cliquer sur l'icônepage de documentation pour la poursuite de l'exploration de l'IronBarcode.
IronBarcode fait partie de la Iron Software Suite. Cette suite contient d'autres bibliothèques très utiles, telles que IronPDF pour lire et écrire des fichiers PDF, IronXL pour manipuler des fichiers Excel, IronOCR pour lire du texte à partir d'images, et IronWebScraper pour extraire des données de différents sites web. Vous pouvez acheter la version complèteIron Suite pour le prix de deux bibliothèques individuelles.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Comment créer un code QR pour un lien (Tutoriel C#)
SUIVANT > .NET QR Code Generator (Tutoriel d'exemple de code)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier