IRONSOFTWAREHOME

C# Barcode Scanner: Read Barcodes & QR Codes in .NET Applications

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 4 juin 2026

Besoin de scanner rapidement des codes-barres ou des codes QR dans votre application .NET ? IronBarcode rend la lecture des codes-barres simple et fiable, que vous traitiez des images numériques parfaites ou des photos du monde réel plus complexes. Ce guide vous montre précisément comment implémenter la lecture de codes-barres en C# avec des exemples pratiques que vous pouvez utiliser immédiatement.

Démarrage rapide : Lire un Code-barres à partir d'un Fichier Immédiatement

Ce petit exemple vous montre à quel point il est facile de commencer avec IronBarcode. Une seule ligne de code suffit pour lire les codes-barres à partir d'un fichier image ; aucune configuration complexe n'est requise.

  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("path/to/barcode.png");
    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 installer IronBarcode dans mon projet .NET ?

IronBarcode s'installe facilement via le gestionnaire de packages NuGet ou en téléchargeant directement la DLL. L'installation via NuGet est la méthode recommandée car elle gère automatiquement les dépendances et les mises à jour.

PM > Install-Package BarCode

Après l'installation, ajoutez using IronBarCode; à vos fichiers C# pour accéder à la fonctionnalité de balayage des codes-barres. Pour obtenir des instructions d'installation détaillées pour différents environnements de développement, consultez notre guide d'installation .

Comment puis-je lire mon premier code-barres en utilisant C# ?

La lecture des codes-barres avec IronBarcode ne nécessite qu'une seule ligne de code. La bibliothèque détecte automatiquement les formats de codes-barres et extrait toutes les données encodées.

Code128 code-barres prêt pour le balayage - contient le texte 'https://ironsoftware.com/csharp/barcode/'Un code-barres standard Code128 que IronBarcode peut lire instantanément.
using IronBarCode;

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    // Choose which filters are to be applied (in order)
    ImageFilters = new ImageFilterCollection() {
        new AdaptiveThresholdFilter(),
    },

    // Uses machine learning to auto rotate the barcode
    AutoRotate = true,
};

// Read barcode
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

La méthode BarcodeReader.Read retourne une collection BarcodeResults contenant tous les codes-barres détectés. Chaque BarcodeResult fournit un accès à la valeur textuelle du code-barres, au type de format, aux coordonnées de position et aux données binaires. Cette approche fonctionne parfaitement avec les formats de codes-barres courants, notamment les codes Code128, Code39, les codes QR et les codes Data Matrix.

Quelles options permettent de lire les codes-barres difficiles à lire ou endommagés ?

La lecture des codes-barres dans le monde réel implique souvent des images imparfaites : angles déformés, mauvais éclairage ou dommages partiels. Les options avancées d'IronBarcode permettent de relever efficacement ces défis.

using IronBarCode;
using System;

// Multiple barcodes may be scanned up from a single document or image. A PDF document may also used as the input image
BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

// Work with the results
foreach (var pageResult in results)
{
    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);
}
QR code tourné à 45 degrés démontrant le traitement de rotation d'IronBarcodeUn code QR pivoté qu'IronBarcode lit avec succès grâce aux options avancées

La propriété ExpectBarcodeTypes améliore considérablement les performances en limitant la recherche à des formats spécifiques. Pour une précision maximale avec les images problématiques, combinez les filtres d'image avec la rotation automatique :

using IronBarCode;

// Multi frame TIFF and GIF images can also be scanned
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");

foreach (var pageResult in multiFrameResults)
{
    //...
}

Grâce à ces fonctionnalités avancées, IronBarcode est idéal pour la lecture de codes-barres à partir de photos , de caméras de sécurité ou de captures d'écran d'appareils mobiles, où la qualité d'image varie considérablement.

Comment scanner plusieurs codes-barres à partir de documents PDF ?

La numérisation des codes-barres PDF est essentielle pour le traitement des factures, des étiquettes d'expédition et des documents d'inventaire. IronBarcode lit efficacement tous les codes-barres sur chaque page.

Lecture des codes-barres dans les fichiers PDF

using IronBarCode;

// The Multithreaded property allows for faster barcode scanning across multiple images or PDFs. All threads are automatically managed by IronBarCode.
var ListOfDocuments = new[] { "image1.png", "image2.JPG", "image3.pdf" };

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    // Enable multithreading
    Multithreaded = true,
};

BarcodeResults batchResults = BarcodeReader.Read(ListOfDocuments, options);

Plusieurs codes-barres détectés sur des pages PDF montrant la sortie console Sortie de la console affichant plusieurs codes-barres trouvés sur différentes pages PDF

Pour des plages de pages spécifiques ou un traitement PDF avancé, utilisez BarcodeReaderOptions :

// Read only specific pages to improve performance
PdfBarcodeReaderOptions pdfOptions = new PdfBarcodeReaderOptions
{
    // Scan pages 1-5 only
    PageNumbers = new[] { 1, 2, 3, 4, 5 },

    // PDF-specific settings
    DPI = 300 // Higher DPI for better accuracy
};

BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
C#

Comment puis-je traiter des images TIFF multiframes ?

Les fichiers TIFF multiframes, courants dans les systèmes de numérisation de documents et de télécopie, bénéficient de la même prise en charge complète que les fichiers PDF.

TIFF multiframe contenant plusieurs codes-barres à travers les cadres Un fichier TIFF multiframe avec des codes-barres sur différentes images

using IronBarCode;

// TIFF files are processed similarly to regular images
// Each frame is scanned automatically
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");

foreach (var result in multiFrameResults)
{
    // Access frame-specific information
    int frameNumber = result.PageNumber; // Frame number in TIFF
    string barcodeValue = result.Text;
    
    Console.WriteLine($"Frame {frameNumber}: {barcodeValue}");
    
    // Save individual barcode images if needed
    result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png");
}

Le même BarcodeReaderOptions s'applique au traitement TIFF, y compris les filtres d'image et les réglages de rotation. Pour des scénarios détaillés de traitement des fichiers TIFF, consultez nos tutoriels sur le traitement d'images .

Puis-je accélérer le traitement grâce au multithreading ?

Le traitement de plusieurs documents bénéficie considérablement du traitement parallèle. IronBarcode utilise automatiquement les cœurs de processeur disponibles pour des performances optimales.

using IronBarCode;

// List of documents to process - mix of formats supported
var documentBatch = new[] 
{ 
    "invoice1.pdf", 
    "shipping_label.png", 
    "inventory_sheet.tiff",
    "product_catalog.pdf"
};

// Configure for batch processing
BarcodeReaderOptions batchOptions = new BarcodeReaderOptions
{
    // Enable parallel processing across documents
    Multithreaded = true,
    
    // Limit threads if needed (0 = use all cores)
    MaxParallelThreads = Environment.ProcessorCount,
    
    // Apply consistent settings to all documents
    Speed = ReadingSpeed.Balanced,
    ExpectBarcodeTypes = BarcodeEncoding.All
};

// Process each document, tracking the source path externally
foreach (var document in documentBatch)
{
    BarcodeResults results = BarcodeReader.Read(document, batchOptions);

    Console.WriteLine($"\nDocument: {document}");
    foreach (var barcode in results)
    {
        Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}");
    }
}
C#

Cette approche parallèle traite les documents simultanément, réduisant ainsi le temps de numérisation total jusqu'à 75 % sur les systèmes multicœurs. Pour le traitement des codes-barres à l'échelle de l'entreprise, consultez notre guide d'optimisation des performances .

Résumé

IronBarcode transforme la lecture complexe des codes-barres en un code C# simple. Que vous développiez des systèmes d'inventaire, des logiciels de traitement de documents ou des applications mobiles, la bibliothèque gère tout, des codes-barres numériques impeccables aux captures complexes du monde réel.

Principales fonctionnalités couvertes :

  • Lecture de codes-barres monolignes à partir d'images
  • Options avancées pour les codes-barres endommagés ou pivotés
  • Numérisation complète des documents PDF et TIFF
  • Traitement par lots haute performance avec multithreading
  • Prise en charge de tous les principaux formats de codes-barres

Lectures complémentaires

Développez vos capacités de traitement des codes-barres grâce à ces ressources :

Téléchargements du code source

Exécutez vous-même ces exemples :

Prêt à intégrer la lecture de codes-barres dans votre application ? Démarrez votre essai gratuit et ajoutez dès aujourd'hui la lecture professionnelle de codes-barres à votre projet .NET.

Première étape :
arrow pointer

Questions Fréquemment Posées

Comment puis-je installer une bibliothèque de lecture de codes-barres dans un projet .NET ?

Vous pouvez installer la bibliothèque IronBarcode via le gestionnaire de packages NuGet avec la commande dotnet add package BarCode ou via l'interface NuGet de Visual Studio. Alternativement, téléchargez le DLL pour une installation manuelle.

Quelle est la méthode pour lire un code-barres à partir d'une image en utilisant C# ?

Utilisez la méthode BarcodeReader.Read d'IronBarcode avec une seule ligne de code : var results = BarcodeReader.Read('image.png'); Cette méthode détecte et lit tous les formats de codes-barres présents dans l'image.

Est-il possible de détecter plusieurs codes-barres dans une seule image ou un document ?

Oui, IronBarcode peut automatiquement détecter et lire plusieurs codes-barres dans une image, un PDF ou un TIFF multiframe, renvoyant la valeur, le type et la position de chaque code-barres dans une collection BarcodeResults.

Comment puis-je lire des codes-barres à partir d'un PDF en utilisant C# ?

Utilisez la méthode BarcodeReader.ReadPdf d'IronBarcode pour scanner toutes les pages d'un document PDF : var results = BarcodeReader.ReadPdf('document.pdf'); Chaque résultat comprend le numéro de page où le code-barres a été trouvé.

Que dois-je faire si les images de codes-barres sont floues ou tournées ?

Configurez BarcodeReaderOptions pour gérer les images difficiles en configurant AutoRotate = true et en appliquant des filtres d'image comme SharpenFilter ou AdaptiveThresholdFilter. Utilisez Speed = ExtremeDetail pour une meilleure précision.

Quels formats de code-barres sont pris en charge dans les applications .NET ?

IronBarcode prend en charge tous les principaux formats de codes-barres tels que le QR Code, Code 128, Code 39, EAN-13, UPC-A, Data Matrix, PDF417, et plus. Utilisez BarcodeEncoding.All pour scanner tout format pris en charge.

Comment puis-je améliorer la performance de la lecture de codes-barres dans une application C# ?

Améliorez les performances en spécifiant les types de codes-barres attendus avec ExpectBarcodeTypes, en activant le traitement multithreads, et en choisissant les réglages Speed appropriés. Pour les tâches en lots, utilisez BarcodeReader.Read avec des chemins de fichiers.

Quelle est l'approche recommandée pour gérer les erreurs de lecture de codes-barres ?

Encapsulez la lecture de codes-barres dans des blocs try-catch et vérifiez si les résultats sont nuls ou vides. IronBarcode fournit des messages d'erreur détaillés et une propriété de Confiance pour indiquer la fiabilité de la détection.

Puis-je extraire des images de codes-barres après leur scan ?

Oui, BarcodeResult d'IronBarcode inclut une propriété BarcodeImage qui contient un Bitmap du code-barres détecté, qui peut être enregistré ou traité séparément.

Comment puis-je lire des codes-barres à partir de pages spécifiques dans un document PDF ?

Définissez la propriété PageNumbers dans BarcodeReaderOptions pour spécifier les pages : options.PageNumbers = new[] {1, 2, 3}; Cela optimise les performances en scannant uniquement les pages désignées.

Quels formats d'images sont compatibles avec la lecture de codes-barres dans .NET ?

IronBarcode prend en charge le scan dans des formats tels que PNG, JPEG, BMP, GIF, TIFF (y compris multiframe), et PDF. Vous pouvez charger des images à partir de chemins de fichiers, de flux ou de tableaux d'octets.

Comment puis-je accéder aux données binaires des codes-barres scannés en C# ?

Utilisez la propriété BinaryValue de BarcodeResult pour obtenir des données binaires brutes, particulièrement utiles pour les codes-barres contenant des données non-textuelles telles que des informations compressées ou des protocoles binaires.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

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