IRONSOFTWAREHOME

Comment lire plusieurs BarCodes en même temps en C#;

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
Updated: 4 juin 2026

IronBarcode permet la lecture simultanée de plusieurs codes-barres à partir d'images et de PDFs en définissant ExpectMultipleBarcodes = true, simplifiant ainsi le traitement des données pour les applications de logistique, de commerce et de gestion des stocks. Qu'il s'agisse de construire des systèmes d'entrepôt, des applications de point de vente au détail ou des solutions de traitement de documents, les capacités de lecture avancées d'IronBarcode vous offrent la fiabilité et les performances dont vous avez besoin.

Démarrage rapide : Lire tous les codes-barres d'une image facilement

Cet exemple montre la rapidité avec laquelle vous pouvez utiliser IronBarcode pour scanner une image pour chaque code-barres qu'elle contient. Définissez simplement ExpectMultipleBarcodes = true ainsi que les types de codes-barres souhaités—pas de répétition de code, pas de souci.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Copiez et exécutez cet extrait de code.

    var results = IronBarCode.BarcodeReader.Read("image.png", new IronBarCode.BarcodeReaderOptions { ExpectMultipleBarcodes = true, ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.AllOneDimensional });
    C#
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Comment lire plusieurs BarCodes à partir d'une image?

Par défaut, IronBarcode scanne continuellement un document pour lire plusieurs codes-barres. Cependant, il est arrivé qu'une seule valeur de code-barres soit renvoyée, même lorsque plusieurs codes-barres sont présents. Pour y remédier, personnalisez les paramètres pour permettre la lecture de plusieurs BarCodes, comme indiqué ci-dessous. La propriété ExpectMultipleBarcodes existe dans les deux classes BarcodeReaderOptions et PdfBarcodeReaderOptions, vous permettant de l'utiliser pour lire des codes-barres dans des images et des documents PDF.

Trois exemples de codes-barres étiquetés A, B et C montrant différents modèles de barres pour la démonstration de la lecture multi-codes-barres
using IronBarCode;
using System;

// Set the option to read multiple barcodes
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
};

// Read barcode
var results = BarcodeReader.Read("testbc1.png", options);

foreach (var result in results)
{
    Console.WriteLine(result.ToString());
}

Définir ExpectMultipleBarcodes à vrai permet à IronBarcode de scanner l'ensemble du document pour de multiples codes-barres et de les stocker dans la variable BarcodeResults. En utilisant une boucle foreach, vous pouvez facilement accéder et imprimer toutes les valeurs des codes-barres sur la console.

Scénarios avancés de lecture de codes-barres multiples

Lorsque vous travaillez avec plusieurs BarCode, vous pouvez rencontrer des scénarios qui nécessitent une configuration supplémentaire. Voici un exemple complet démontrant comment lire plusieurs BarCode de formats différents à partir d'un document complexe :

using IronBarCode;
using System;
using System.Linq;

// Configure advanced options for mixed barcode types
BarcodeReaderOptions advancedOptions = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = true,
    // Read both 1D and 2D barcodes
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode | BarcodeEncoding.DataMatrix,
    // Apply image correction filters for better accuracy
    ImageFilters = new ImageFilterCollection() {
        new SharpenFilter(),
        new ContrastFilter()
    },
    // Set speed vs accuracy balance
    Speed = ReadingSpeed.Balanced
};

// Read barcodes from the image
var imageResults = BarcodeReader.Read("mixed-barcodes.jpg", advancedOptions);

// Process results with error handling
foreach (var result in imageResults)
{
    Console.WriteLine($"Barcode Type: {result.BarcodeType}");
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Page: {result.PageNumber}");
    Console.WriteLine("---");
}
C#

Cet exemple avancé présente plusieurs fonctionnalités importantes :

Comment lire un seul BarCode pour de meilleures performances?

IronBarcode lit les codes-barres simples et multiples dans les images ou les PDF. Par défaut, le moteur scanne l'intégralité du document, même s'il n'existe qu'un seul code-barres. Pour améliorer les performances lors de la lecture d'un seul code-barres, définissez ExpectMultipleBarcodes à faux. Cela empêche le moteur de scanner l'ensemble du document après avoir détecté le premier code-barres, ce qui permet une récupération plus rapide des codes-barres. Le code ci-dessous illustre cette approche.

Trois exemples identiques de codes-barres étiquetés A, B et C pour la démonstration de la lecture de codes-barres
using IronBarCode;
using System;

// Set the option to read single barcode
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
};

// Read barcode
var results = BarcodeReader.Read("testbc1.png", options);

foreach (var result in results)
{
    Console.WriteLine(result.ToString());
}

Dans cet exemple, nous avons utilisé la même image avec plusieurs codes-barres qu'auparavant mais avons défini ExpectMultipleBarcodes à faux. En conséquence, seule la première valeur de code-barres est renvoyée et le processus de scan s'arrête une fois le premier code-barres récupéré.

Optimisation de la lecture d'un seul BarCode avec les Crop Regions

Pour encore de meilleures performances lors de la lecture de codes-barres uniques, combinez le paramètre ExpectMultipleBarcodes = false avec les spécifications de la région de recadrage. Cette technique est particulièrement utile lorsque vous connaissez l'emplacement approximatif de votre code-barres :

using IronBarCode;
using IronSoftware.Drawing;

// Define a crop region where the barcode is likely located
var cropRegion = new Rectangle(100, 100, 300, 200);

// Configure options for optimal single barcode reading
BarcodeReaderOptions optimizedOptions = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    CropArea = cropRegion,
    Speed = ReadingSpeed.Faster
};

// Read with optimized settings
var result = BarcodeReader.Read("product-label.png", optimizedOptions).FirstOrDefault();

if (result != null)
{
    Console.WriteLine($"Barcode found: {result.Value}");
}
C#

Combien plus rapide est la lecture d'un seul BarCode?

Définir ExpectMultipleBarcodes = false améliore considérablement l'efficacité de la lecture des codes-barres uniques. Le gain de performance est particulièrement notable lorsqu'on travaille avec des images haute résolution ou lorsqu'on met en œuvre la lecture asynchrone de codes-barres dans des applications à haut débit.

En utilisant le bout de code fourni, voici une estimation approximative de la différence de performance entre la définition de ExpectMultipleBarcodes = true et faux sur la même machine :

ExpectMultipleBarcodes = trueExpectMultipleBarcodes = false
0,91 seconde0,10 seconde

Cela représente environ une amélioration des performances par 9 lors de la lecture de codes-barres simples. Le gain de performance réel varie en fonction de :

  • Résolution et complexité de l'image
  • Nombre de BarCodes présents dans l'image
  • Formats de codes-barres sélectionnés
  • Filtres d'image appliqués
  • Spécifications matérielles

Bonnes pratiques pour la lecture de codes-barres multiples

Lorsque vous mettez en œuvre la lecture de plusieurs BarCodes dans des applications de production, tenez compte de ces bonnes pratiques :

  1. Spécifiez les types de codes-barres attendus : Au lieu d'utiliser BarcodeEncoding.All, spécifiez uniquement les formats que vous attendez. Les performances s'en trouvent considérablement améliorées.

  2. Utiliser des formats d'image appropriés : Pour de meilleurs résultats, utilisez des images à fort contraste. En savoir plus sur la création d'images de codes-barres optimales.

  3. Gérer les BarCodes imparfaits : Les BarCodes du monde réel peuvent être endommagés ou mal imprimés. Utilisez des techniques de correction d'image pour améliorer les taux de réussite de la lecture.

  4. Traitement en flux : Pour les lots importants, pensez à lire à partir de flux pour optimiser l'utilisation de la mémoire.

  5. Gestion des erreurs : Mettez toujours en œuvre une gestion des erreurs appropriée pour les scénarios dans lesquels les codes-barres ne peuvent pas être lus :

try
{
    var results = BarcodeReader.Read("barcodes.png", new BarcodeReaderOptions 
    { 
        ExpectMultipleBarcodes = true 
    });
    
    if (!results.Any())
    {
        Console.WriteLine("No barcodes found in the image");
    }
    else
    {
        Console.WriteLine($"Found {results.Count()} barcodes");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading barcodes: {ex.Message}");
    // Log error for debugging
}

En suivant ces pratiques et en utilisant les fonctionnalités complètes d'IronBarcode, vous pouvez créer des applications robustes qui gèrent efficacement plusieurs scénarios de lecture de codes-barres dans divers secteurs et cas d'utilisation.

Questions Fréquemment Posées

Comment lire plusieurs BarCodes à partir d'une seule image en C# ?

Avec IronBarcode, vous pouvez lire plusieurs codes-barres à partir d'une seule image en définissant ExpectMultipleBarcodes = true dans les BarcodeReaderOptions. Cela permet à IronBarcode de scanner l'ensemble du document et de renvoyer tous les codes-barres trouvés dans une collection BarcodeResults que vous pouvez parcourir.

Quel est le moyen le plus rapide de scanner tous les codes-barres d'une image ?

L'approche la plus rapide consiste à utiliser la méthode Read d'IronBarcode avec ExpectMultipleBarcodes = true : var results = IronBarCode.BarcodeReader.Read("image.png", new IronBarCode.BarcodeReaderOptions { ExpectMultipleBarcodes = true }). Ce code minimal extrait toutes les valeurs des codes-barres sans configuration complexe.

Puis-je lire plusieurs BarCodes à partir de documents PDF ainsi que des images ?

Oui, IronBarcode prend en charge la lecture de plusieurs codes-barres à partir d'images et de documents PDF. La propriété ExpectMultipleBarcodes est disponible dans les classes BarcodeReaderOptions et PdfBarcodeReaderOptions, ce qui vous permet de configurer la lecture de codes-barres multiples pour n'importe quel type de document.

Que se passe-t-il si je n'attribue pas la valeur true à ExpectMultipleBarcodes ?

Par défaut, IronBarcode scanne en continu les documents à la recherche de plusieurs codes-barres. Cependant, dans certains cas, une seule valeur de code-barres peut être renvoyée même lorsque plusieurs codes-barres existent. En définissant ExpectMultipleBarcodes = true, on s'assure explicitement qu'IronBarcode scanne et renvoie tous les codes-barres du document.

Comment accéder aux valeurs individuelles d'un code-barres après avoir lu plusieurs codes-barres ?

Après avoir lu plusieurs codes-barres avec IronBarcode, les résultats sont stockés dans une variable BarcodeResults. Vous pouvez facilement accéder aux valeurs individuelles des codes-barres à l'aide d'une boucle foreach pour itérer dans la collection et traiter les propriétés de valeur, de texte et de format de chaque code-barres.

La lecture de plusieurs BarCodes est-elle adaptée aux applications de commerce de détail et de logistique ?

Oui, la capacité de lecture de codes-barres multiples d'IronBarcode est idéale pour les systèmes de point de vente au détail, la gestion d'entrepôt, le suivi logistique et les applications de gestion des stocks. Il rationalise le traitement des données en scannant efficacement et simultanément tous les codes-barres des étiquettes d'expédition, des catalogues de produits ou des fiches d'inventaire.

Puis-je spécifier les types de codes-barres à rechercher lors de la lecture de plusieurs codes-barres ?

Oui, IronBarcode vous permet de spécifier les types de codes-barres attendus à l'aide de la propriété ExpectBarcodeTypes. Vous pouvez la configurer pour scanner des formats spécifiques comme AllOneDimensional, QRCode, ou toute combinaison de types de codes-barres pris en charge afin d'optimiser les performances de numérisation.

Le paramétrage de ExpectMultipleBarcodes affecte-t-il les performances de numérisation ?

Définir ExpectMultipleBarcodes = false peut augmenter les performances lorsque vous savez qu'un seul code-barres existe dans le document. IronBarcode arrêtera de scanner après avoir trouvé le premier code-barres, ce qui le rend plus rapide pour les scénarios à un seul code-barres tout en offrant la flexibilité nécessaire pour la lecture de plusieurs codes-barres lorsque cela est nécessaire.

Is stream processing supported in IronBarcode for large barcode batches?

Yes, IronBarcode supports reading barcodes from streams, which is particularly useful for optimizing memory usage in high-throughput applications or large batch processing.

Prêt à commencer?

Nuget Downloads 2,422,100Version :2026.9vient de sortir

Obtenez votre GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez "IronBarcode"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

  1. Téléchargez et décompressez IronBarCode à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans Visual Studio Solution Explorer, faites un clic droit sur Références. Sélectionnez Parcourir, "IronBarcode.dll"

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

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