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

Comment lire les codes-barres à partir de flux avec C

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

<TODO : Ajouter une image ici -->

<Description : Diagramme ou capture d'écran illustrant le concept de code -->

IronBarcode lit les codes-barres directement à partir des objets MemoryStream dans les applications .NET, ce qui élimine la nécessité d'enregistrer d'abord les flux sur le disque. Cela permet un traitement efficace des codes-barres à partir de 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 un BarCode directement à partir d'un flux d'images

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.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronBarcode avec le gestionnaire de packages NuGet

    PM > Install-Package BarCode

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

    var result = IronBarCode.BarcodeReader.Read(myImageStream);
    Console.WriteLine(result[0].Text);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Comment lire des BarCodes à partir de flux d'images?

<TODO : Ajouter une image ici -->

<Description : Diagramme ou capture d'écran illustrant le concept de code -->

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](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/) d'IronBarcode, vous pouvez traiter plusieurs flux simultanément pour des performances maximales. Cette section montre comment utiliser IronBarcode pour lire un flux d'images et plusieurs flux d'images stockés dans une `Liste`. 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](https://ironsoftware.com/csharp/barcode/examples/barcode-reader-settings-csharp/) pour affiner le processus de lecture. ```csharp 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 imageStreams = new List { // 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 ``` ### 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 images 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](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/). 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](https://ironsoftware.com/csharp/barcode/how-to/read-multiple-barcodes/) à 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](https://ironsoftware.com/csharp/barcode/how-to/image-correction/) 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 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](https://ironsoftware.com/csharp/barcode/tutorials/reading-barcodes/). Cette section démontre l'utilisation d'IronBarcode pour lire des fichiers de documents PDF en tant qu'objets `MemoryStream` ou listes de flux de documents PDF. Voici le code : ### Qu'en est-il des documents PDF multiples? ```csharp :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-2.cs ``` ### Comment traiter efficacement plusieurs flux PDF? La lecture de codes-barres à partir de documents PDF en tant qu'objets `MemoryStream` ressemble à la lecture à partir d'images. La principale différence réside dans 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 les documents PDF multiples, fusionnez tous les PDF en un seul flux de documents 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](https://ironsoftware.com/csharp/barcode/examples/pdf-barcode-reader-settings-csharp/) 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` afin d'éviter les fuites de mémoire. La mention `utilisant` garantit une élimination automatique : ```csharp 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.

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 2,002,059 | Version : 2025.12 vient de sortir