Comment lire des codes-barres à partir de flux en C#

How to read Barcodes from Streams

This article was translated from English: Does it need improvement?
Translated
View the article in English

MemoryStream est une classe du .NET Framework qui permet de lire et d'écrire dans un flux stocké en mémoire. C'est un type de flux qui peut être utilisé pour manipuler des données qui ne sont pas stockées dans un fichier physique, mais plutôt en mémoire.

En plus de lire des codes-barres à partir de fichiers image ou de fichiers PDF, IronBarcode excelle également dans la lecture de codes-barres à partir de flux. En tant que grande API dans une application, IronBarcode est capable d'accepter un document PDF ou un flux d'images en entrée et de produire le résultat de la lecture des codes-barres dans le flux. Voyons maintenant comment nous pouvons y parvenir.

en-tête:2(Démarrage rapide : Lire un code-barres directement à partir d'un flux d'image)

Utilisez seulement deux lignes de code avec IronBarcode pour lire des codes-barres à partir de n'importe quel flux d'image — pas besoin d'écrire d'abord sur le disque. Cet exemple rapide montre à quel point il est simple de commencer la lecture de code-barres basée sur les flux dans .NET.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    var result = IronBarCode.BarcodeReader.Read(myImageStream);
    Console.WriteLine(result[0].Text);
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Lire des codes-barres à partir d'un flux d'images
  2. Lire les codes-barres du flux de documents PDF

Lire des codes-barres à partir d'un flux d'images

Dans cette section, nous vous montrerons comment utiliser IronBarcode pour lire un flux d'image, ainsi que plusieurs flux d'images stockés dans un List<MemoryStream>. Ci-dessous se trouve le bloc de code corrigé avec des commentaires pour vous aider à comprendre le processus :

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

class BarcodeFromImageStream
{
    static void Main(string[] args)
    {
        // Create a list of MemoryStreams to store image streams
        List<MemoryStream> imageStreams = new List<MemoryStream>
        {
            // Example of adding an existing MemoryStream object to the list
            new MemoryStream(File.ReadAllBytes("example1.png")),
            new MemoryStream(File.ReadAllBytes("example2.png"))
        };

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-1.cs
using IronBarCode;
using System;
using System.Collections.Generic;
using System.IO;

class BarcodeFromImageStream
{
    static void Main(string[] args)
    {
        // Create a list of MemoryStreams to store image streams
        List<MemoryStream> imageStreams = new List<MemoryStream>
        {
            // Example of adding an existing MemoryStream object to the list
            new MemoryStream(File.ReadAllBytes("example1.png")),
            new MemoryStream(File.ReadAllBytes("example2.png"))
        };

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());
}
Imports IronBarCode
Imports System
Imports System.Collections.Generic
Imports System.IO

Friend Class BarcodeFromImageStream
	Shared Sub Main(ByVal args() As String)
		' Create a list of MemoryStreams to store image streams
		Dim imageStreams As New List(Of MemoryStream) From {
			New MemoryStream(File.ReadAllBytes("example1.png")),
			New MemoryStream(File.ReadAllBytes("example2.png"))
		}

Dim IronBarCode As using
Using IronSoftware.Drawing
	Dim System As using
	Using System.Collections.Generic
		Using System.IO
			
			Dim list As New List(Of MemoryStream)()
			list.Add(AnyBitmap.FromFile("image1.jpg").ToStream())
			list.Add(AnyBitmap.FromFile("image2.jpg").ToStream())
			list.Add(AnyBitmap.FromFile("image3.png").ToStream())
			
			Dim myBarcode = BarcodeReader.Read(list)
			
			For Each barcode In myBarcode
				Console.WriteLine(barcode.ToString())
			Next barcode
		End Using
	End Using
End Using
$vbLabelText   $csharpLabel

À partir de l'extrait de code ci-dessus, IronBarcode peut accepter un objet ou une liste d'objets MemoryStream dans la méthode BarcodeReader.Read() et lire les objets flux comme entrée. L'exemple montre comment convertir un fichier image en un objet MemoryStream et lire directement les codes-barres présents dans le flux.

Lire des codes-barres à partir d'un flux de document PDF

Dans cette section, nous vous montrerons comment utiliser IronBarcode pour lire un fichier de document PDF en tant qu'objet MemoryStream ou une liste MemoryStream de documents PDF. Voici le bloc de code amélioré :

:path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-2.cs
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());
}
Imports IronBarCode
Imports IronPdf
Imports System
Imports System.IO

Private document As MemoryStream = PdfDocument.FromFile("file_path.pdf").Stream

Private myBarcode = BarcodeReader.ReadPdf(document)

For Each value In myBarcode
	Console.WriteLine(value.ToString())
Next value
$vbLabelText   $csharpLabel

Comme on peut le voir dans l'extrait de code ci-dessus, la lecture des codes-barres à partir d'un document PDF en tant qu'objet MemoryStream est assez similaire à la lecture des codes-barres à partir d'images. La principale différence réside dans la méthode utilisée : BarcodeReader.ReadPdf() est spécifiquement utilisée pour les documents PDF. Dans l'exemple, nous utilisons la bibliothèque IronPDF comme aide pour convertir un document PDF en un objet MemoryStream. Si vous avez plusieurs documents PDF à lire par IronBarcode, il est recommandé de fusionner tous les documents PDF en un seul flux de documents PDF et de l'alimenter dans la méthode BarcodeReader.ReadPdf(). N'hésitez pas à expérimenter et à faire fonctionner la bibliothèque selon vos besoins spécifiques !

Questions Fréquemment Posées

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

Vous pouvez lire des codes-barres à partir d'un flux d'image en C# en utilisant IronBarcode. Convertissez les fichiers image en objets MemoryStream puis utilisez la méthode BarcodeReader.Read() pour décoder les codes-barres à partir de ces flux.

Comment puis-je lire des codes-barres à partir d'un flux de document PDF en utilisant .NET ?

Pour lire des codes-barres à partir d'un flux de document PDF dans .NET, utilisez la méthode BarcodeReader.ReadPdf() d'IronBarcode. D'abord, convertissez vos documents PDF en objets MemoryStream, éventuellement en utilisant IronPDF, puis passez-les à la méthode.

Puis-je lire plusieurs codes-barres à partir d'un seul flux PDF ?

Oui, la méthode BarcodeReader.ReadPdf() d'IronBarcode peut traiter un seul flux PDF et renvoyer plusieurs objets BarcodeResult, chacun représentant un code-barres trouvé dans le PDF.

Quel est l'avantage d'utiliser MemoryStream pour la lecture de code-barres dans .NET ?

Utiliser MemoryStream permet une manipulation efficace des données en mémoire, ce qui est idéal pour les scénarios où vous souhaitez lire des codes-barres sans dépendre d'un stockage de fichiers physiques.

Que dois-je faire si j'ai plusieurs documents PDF à traiter pour les codes-barres ?

Si vous avez plusieurs documents PDF, envisagez de les fusionner en un seul flux PDF. Celui-ci peut être lu efficacement en utilisant la méthode BarcodeReader.ReadPdf() pour extraire tous les codes-barres.

Est-il possible de lire des codes-barres à partir de flux d'images et de PDF dans une seule application ?

Oui, IronBarcode prend en charge la lecture de codes-barres à partir de flux d'images et de PDF. Vous pouvez utiliser BarcodeReader.Read() pour les images et BarcodeReader.ReadPdf() pour les PDF dans la même application.

Comment puis-je convertir un fichier image en MemoryStream en C# ?

Convertissez un fichier image en MemoryStream en C# en lisant les octets de l'image avec File.ReadAllBytes() et en passant le tableau d'octets au constructeur MemoryStream.

Ai-je besoin de bibliothèques supplémentaires pour convertir des fichiers PDF en MemoryStreams ?

Bien qu'IronPDF puisse être utilisé pour faciliter la conversion de fichiers PDF en objets MemoryStream, IronBarcode peut directement traiter les flux PDF pour la lecture de codes-barres.

Quelle est la différence entre la lecture de codes-barres à partir de flux d'images et de flux PDF ?

La principale différence est la méthode utilisée : BarcodeReader.Read() est pour les flux d'images, tandis que BarcodeReader.ReadPdf() est spécifiquement conçu pour les flux de documents PDF.

Y a-t-il du code d'exemple pour lire des codes-barres à partir de flux en C# ?

Oui, l'article fournit un exemple de code C# démontrant comment lire des codes-barres à partir de flux d'images et de PDF en utilisant IronBarcode, en mettant en évidence le processus de conversion en objets MemoryStream.

Hairil Hasyimi Bin Omar
Ingénieur logiciel
Comme tous les grands ingénieurs, Hairil est un apprenant avide. Il affine ses connaissances en C#, Python et Java, utilisant ces connaissances pour apporter de la valeur aux membres de l'équipe dans toute Iron Software. Hairil a rejoint l'équipe d'Iron Software depuis l'Université Teknologi MARA en Malaisie, ...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,935,276 | Version : 2025.11 vient de sortir