IRONSOFTWAREHOME

How to Read Barcodes from Streams with C#

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

IronBarcode lit des codes-barres directement à partir des objets MemoryStream dans les applications .NET, éliminant ainsi le besoin de sauvegarder les flux sur le disque en premier. Cela permet un traitement efficace des codes-barres à partir des flux d'images et de documents PDF stockés en mémoire.

MemoryStream est une classe du .NET Framework qui lit et écrit dans des flux stockés en mémoire. Il manipule les données sans fichiers physiques, en les stockant dans la mémoire. Cette approche fonctionne bien pour les applications web, les API ou les scénarios dans lesquels vous recevez des données de codes-barres sous forme de tableaux d'octets ou avez besoin de traiter des images sans créer de fichiers temporaires.

Au-delà de la lecture de codes-barres à partir de fichiers images ou fichiers PDF, IronBarcode lit également les codes-barres à partir de flux. La bibliothèque accepte en entrée des flux de documents PDF ou d'images et produit en sortie les résultats de la lecture des codes-barres. Cette capacité convient au traitement de données provenant de bases de données, de téléchargements sur le web ou de contenu mis en mémoire cache.

Démarrage rapide : Lire directement un code-barres depuis un flux d'image

Utilisez deux lignes de code avec IronBarcode pour lire des codes-barres à partir de n'importe quel flux d'images - aucune écriture sur disque n'est nécessaire. Cet exemple démontre la lecture de codes-barres basée sur un flux dans .NET.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

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

    var result = IronBarCode.BarcodeReader.Read(myImageStream);
    Console.WriteLine(result[0].Text);
    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 des BarCodes à partir de flux d'images?

Pourquoi utiliser des flux de mémoire plutôt que des fichiers ?

Les flux de mémoire offrent plusieurs avantages par rapport aux opérations basées sur des fichiers. Ils éliminent les surcharges d'E/S sur disque, ce qui rend les applications plus rapides. Ils renforcent la sécurité puisque les données sensibles des codes-barres ne touchent jamais le disque. Ils conviennent également aux environnements en nuage où l'accès au disque est limité ou coûteux. Combinées aux capacités async et multithreading d'IronBarcode, vous pouvez traiter plusieurs flux simultanément pour des performances maximales.

Cette section montre comment utiliser IronBarcode pour lire un flux d'image et plusieurs flux d'images stockés dans un List<MemoryStream>. Le code suivant comprend des commentaires pour expliquer le processus :

Quels sont les formats d'image pris en charge ?

IronBarcode prend en charge plusieurs formats d'image lors de la lecture à partir de flux : JPEG, PNG, GIF, TIFF, BMP et SVG. Cette flexibilité permet de traiter les images de codes-barres quel que soit le format source. Pour des résultats optimaux, utilisez les paramètres du lecteur de codes-barres pour affiner le processus de lecture.

using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.IO;

List<MemoryStream> list = new List<MemoryStream>();
list.Add(AnyBitmap.FromFile("image1.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image2.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image3.png").ToStream());

var myBarcode = BarcodeReader.Read(list);

foreach (var barcode in myBarcode)
{
    Console.WriteLine(barcode.ToString());
}

Comment gérer des flux d'images multiples?

Le code ci-dessus montre qu'IronBarcode accepte un seul objet MemoryStream ou une liste d'objets MemoryStream dans la méthode BarcodeReader.Read(). L'exemple convertit des fichiers image en objets MemoryStream et lit les codes-barres directement à partir des flux.

Lors du traitement de plusieurs flux, IronBarcode utilise efficacement ses options de vitesse de lecture. Ajustez la vitesse de lecture en fonction de vos besoins, qu'il s'agisse d'une précision maximale ou d'un temps de traitement plus rapide. Pour lire plusieurs codes-barres à partir d'un seul flux, IronBarcode détecte et renvoie automatiquement tous les codes-barres trouvés.

Pour une précision accrue avec des images imparfaites ou de faible qualité dans les flux, appliquez des filtres de correction d'image avant le traitement. Les taux de reconnaissance des codes-barres s'en trouvent considérablement améliorés.

Comment lire des BarCodes à partir de flux de documents PDF?

Pourquoi utiliser ReadPdf() au lieu de Read() ?

La méthode ReadPdf() optimise spécifiquement pour les documents PDF, offrant des avantages par rapport à la méthode générique Read(). La traduction doit rester professionnelle, en préservant la précision technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. La méthode traite automatiquement toutes les pages PDF et prend en charge différents formats PDF et types de compression. Pour des fonctionnalités complètes, voir le tutoriel lecture de codes-barres.

Cette section démontre l'utilisation d'IronBarcode pour lire des fichiers de documents PDF comme objets MemoryStream ou comme listes de flux de documents PDF. Voici le code :

Qu'en est-il des documents PDF multiples?

using IronBarCode;
using IronPdf;
using System;
using System.IO;

MemoryStream document = PdfDocument.FromFile(@"file_path.pdf").Stream;

var myBarcode = BarcodeReader.ReadPdf(document);

foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}

Comment traiter efficacement plusieurs flux PDF?

Lire des codes-barres à partir de documents PDF en tant qu'objets MemoryStream ressemble à une lecture à partir d'images. La principale différence est la méthode : BarcodeReader.ReadPdf() gère spécifiquement les documents PDF. L'exemple utilise IronPDF pour convertir des documents PDF en objets MemoryStream.

Pour plusieurs documents PDF, fusionnez tous les PDFs en un seul flux de document avant de l'envoyer à BarcodeReader.ReadPdf(). Cette approche est plus efficace que le traitement de chaque PDF séparément et réduit la charge de mémoire. Configurez les paramètres du lecteur de codes-barres spécifiques au PDF afin d'optimiser la lecture pour vos documents.

Pour les scénarios avancés, traitez des pages ou des régions PDF spécifiques. IronBarcode permet de spécifier des plages de pages et de recadrer des régions au sein des pages, en ciblant les zones où apparaissent les codes-barres. Cela permet d'améliorer la vitesse de traitement des documents volumineux.

Lorsque vous utilisez des flux en production, éliminez correctement les objets MemoryStream pour éviter les fuites de mémoire. L'énoncé using assure une élimination automatique :

using (MemoryStream pdfStream = new MemoryStream(pdfBytes))
{
    var results = BarcodeReader.ReadPdf(pdfStream);
    // Process results
}

Expérimentez et adaptez la bibliothèque à vos besoins spécifiques. L'API flexible d'IronBarcode permet une personnalisation poussée du processus de lecture, du réglage de la sensibilité de détection à la spécification des formats de codes-barres attendus.

Questions Fréquemment Posées

Comment lire des BarCodes à partir de flux sans enregistrer d'abord sur le disque ?

IronBarcode vous permet de lire des codes-barres directement à partir d'objets MemoryStream sans enregistrer sur le disque. Il suffit de passer votre flux à la méthode BarcodeReader.Read(). Cette approche élimine les frais généraux d'E/S sur disque et est idéale pour traiter les images provenant de téléchargements sur le web, de bases de données ou d'API.

Quels formats d'image le lecteur de BarCode prend-il en charge lors du traitement des flux ?

IronBarcode prend en charge plusieurs formats d'image lors de la lecture à partir de flux, notamment JPEG, PNG, GIF, TIFF, BMP et SVG. Cette flexibilité vous permet de traiter des images de codes-barres provenant de diverses sources sans conversion de format.

Puis-je traiter plusieurs flux d'images de codes-barres simultanément ?

Oui, IronBarcode prend en charge les capacités asynchrones et multithreading, ce qui vous permet de traiter plusieurs flux de codes-barres simultanément pour des performances maximales. Ceci est particulièrement utile lorsque vous traitez des opérations de lecture de codes-barres en masse à partir de la mémoire.

Quels sont les avantages de l'utilisation des flux de mémoire par rapport à la lecture de codes-barres basée sur des fichiers ?

Le traitement des flux de mémoire avec IronBarcode offre des performances plus rapides en éliminant la surcharge d'E/S sur disque, une sécurité accrue puisque les données sensibles ne touchent jamais le stockage sur disque, et une meilleure compatibilité avec les environnements cloud où l'accès au disque peut être limité ou coûteux.

Comment lire des BarCodes à partir de flux de documents PDF ?

IronBarcode peut lire des codes-barres à partir de flux d'images et de documents PDF. Il suffit de passer votre MemoryStream PDF à la méthode BarcodeReader.Read(), et il extraira et décodera tous les codes-barres trouvés dans les pages du PDF.

Est-il possible d'affiner le processus de lecture des codes-barres lorsqu'on travaille avec des flux ?

Oui, IronBarcode fournit des paramètres de lecteur de codes-barres personnalisables qui vous permettent d'optimiser le processus de lecture pour votre cas d'utilisation spécifique, qu'il s'agisse de traiter des flux uniques ou des flux multiples stockés dans des collections.

How do I manage multiple PDF streams for barcode reading with IronBarcode?

For multiple PDFs, merge them into a single document stream and process with `BarcodeReader.ReadPdf()`. This approach enhances efficiency by reducing processing overhead and memory usage.

What steps are involved in reading a barcode from an image stream using IronBarcode?

First, instantiate a `MemoryStream` for your image data, then call `BarcodeReader.Read()` on the stream. This simple process allows for direct barcode extraction from in-memory data.

How can IronBarcode handle image correction for low-quality images?

IronBarcode provides image correction filters, improving barcode recognition rates for imperfect or low-quality image streams, enhancing overall reading accuracy.

How do I ensure efficient memory usage when processing streams with IronBarcode?

Ensure to dispose of `MemoryStream` objects after use, ideally with a `using` statement to prevent memory leaks. This practice is crucial in production to maintain optimal performance.

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