Comment créer des codes-barres sous forme de flux en C# en utilisant IronBarcode

Comment exporter des codes-barres sous forme de flux en C

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

IronBarcode permet de générer des codes-barres et de les convertir directement en objets MemoryStream sans E/S de fichier, ce qui améliore les performances et la sécurité. Cette approche rationalisée élimine les opérations sur disque et permet une intégration transparente dans les applications. Qu'il s'agisse de créer des API web, de traiter des opérations par lots ou d'intégrer des services cloud, la génération de BarCode basée sur les flux offre la flexibilité et l'efficacité dont les applications modernes ont besoin.

<TODO : Ajouter une image ici -->

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

Démarrage rapide : Exporter un code-barres vers un flux instantanément

Utilisez IronBarcode pour générer un code-barres et le convertir directement en un MemoryStream avec une seule ligne de code. Aucun système de fichiers n'est requis.

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 stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream();
  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 exporter des BarCodes sous forme de flux?

Une fois que vous avez créé le code-barres avec la valeur souhaitée, utilisez la méthode ToStream pour convertir le code-barres généré en un MemoryStream. Le format par défaut est PNG. Cette fonctionnalité fonctionne également avec QRCodeWriter, même après application d'un style personnalisé. Pour obtenir une documentation complète sur toutes les méthodes disponibles, consultez la Référence API.

Exportation de BarCode en tant qu'exemple de flux

<TODO : Ajouter une image ici -->

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

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-stream.cs
using IronBarCode;
using System.IO;

// Create one-dimensional barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IronBarcode1234", BarcodeEncoding.Code128);

// Convert barcode to stream
Stream barcodeStream = barcode.ToStream();

// Create QR code
GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode("IronBarcode1234");

// Convert QR code to stream
Stream qrCodeStream = qrCode.ToStream();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Pourquoi utiliser des flux plutôt que des fichiers ? L'utilisation de flux élimine les dépendances du système de fichiers et permet un traitement en mémoire pour de meilleures performances. Cette approche est idéale pour les applications web, les API et les scénarios dans lesquels la création de fichiers temporaires est limitée ou indésirable. Le traitement en flux offre plusieurs avantages : - **Sécurité renforcée** : pas de fichiers temporaires sur le disque qui pourraient exposer des données sensibles - **De meilleures performances** : Les opérations en mémoire directe sont plus rapides que les E/S sur disque - **Compatibilité cloud** : Fonctionne de manière transparente dans les environnements conteneurisés et sans serveur - **Efficacité des ressources** : Réduction de l'utilisation de l'espace disque et de la surcharge du système de fichiers ### Quand devrais-je utiliser MemoryStream pour les BarCodes? Utilisez `MemoryStream` lorsque vous avez besoin de traiter des BarCodes en mémoire, de les envoyer directement dans des réponses HTTP ou de les intégrer à d'autres API basées sur des flux sans créer de fichiers temporaires. Les scénarios les plus courants sont les suivants : - **Réponses API Web** : Renvoyer les BarCodes directement dans les réponses HTTP sans les enregistrer sur le disque - **Database Storage** : stocker les données des codes-barres sous forme de blobs binaires dans les bases de données - **Email Attachments** : Générez et joignez des BarCodes aux courriels à la volée - **Cloud Storage** : Téléchargement direct vers Azure Blob Storage, AWS S3 ou des services similaires - **Traitement en temps réel** : Générer des BarCodes pour une consommation immédiate sans persistance ## Quels formats d'image puis-je exporter vers Streams? IronBarcode prend en charge plusieurs [formats de données de sortie](https://ironsoftware.com/csharp/barcode/how-to/output-data-formats/) pour l'exportation de flux. Plusieurs méthodes convertissent l'objet BarCode en un `MemoryStream`. Ces méthodes simplifient le processus, vous permettant de choisir en fonction du format d'image souhaité. Les méthodes disponibles sont les suivantes : | Méthode| Format| Description du projet| |--------|--------|-------------| | propriété **BinaryStream**| Bitmap| Renvoie un `System.IO.Stream` du code-barres rendu sous la forme d'une image Bitmap| | `ToGifStream()`| GIF| Pour le format d'image GIF| | `ToJpegStream()`| JPEG/JPG| Pour le format d'image JPEG/JPG| | `ToPdfStream()`| PDF| Pour le format PDF| | `ToPngStream()`| PNG| Pour le format d'image PNG| | `ToStream()`| PNG(par défaut)| Pour le format d'image PNGpar défaut. Accepte le champ d'énumération **AnyBitmap.ImageFormat** comme argument pour spécifier le format souhaité| | `ToTiffStream()`| TIFF| Pour le format d'image TIFF| ### Exporter le BarCode en tant que flux dans divers formats d'image Utilisez les méthodes `ToJpegStream` et `ToStream` pour produire des flux au format d'image JPEG : ```csharp :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-jpeg-stream.cs ``` ### Exemples avancés d'exportation de flux Cet exemple complet montre comment [créer des BarCode à partir de divers types de données](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-from-data/) et les exporter sous forme de flux dans différents formats : ```csharp using IronBarCode; using IronSoftware.Drawing; using System.IO; using System.Drawing.Imaging; public class BarcodeStreamExporter { public static void ExportMultipleFormats() { // Generate barcode with custom data var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-2024-001", BarcodeEncoding.Code128); // Apply styling myBarcode.ResizeTo(300, 150); myBarcode.SetMargins(10); myBarcode.AddAnnotationTextAboveBarcode("Product ID"); // Export to different stream formats Stream pngStream = myBarcode.ToPngStream(); Stream jpegStream = myBarcode.ToJpegStream(); Stream pdfStream = myBarcode.ToPdfStream(); Stream tiffStream = myBarcode.ToTiffStream(); // Use with HTTP response (ASP.NET Core example) // return File(pngStream, "image/png", "barcode.png"); } public static byte[] GenerateQRCodeBytes(string data) { // Create QR code with error correction var qrCode = QRCodeWriter.CreateQrCodeWithLogo(data, "logo.png", 500); // Convert to byte array via stream using (var stream = qrCode.ToStream()) { using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); return memoryStream.ToArray(); } } } } ``` ### Comment choisir le bon format? Sélectionnez le format approprié en fonction de vos besoins : - **PNG** : Meilleur pour une utilisation sur le web, supporte la transparence, la compression sans perte - **JPEG** : fichiers plus petits, idéal lorsque la transparence n'est pas nécessaire - **PDF** : Parfait pour l'intégration de documents, les rapports et les formats imprimables - **TIFF** : archivage de haute qualité, prise en charge de plusieurs pages - **GIF** : Palette de couleurs limitée, adaptée aux codes-barres simples avec animation

Quels sont les scénarios courants de traitement des flux ? Le traitement des codes-barres basé sur les flux permet de nombreuses applications pratiques : 1. **Direct HTTP Response** : servir des BarCodes aux clients web sans stockage intermédiaire 2. **Database Binary Storage** : stocker les données des codes-barres sous forme de champs BLOB 3. **Mise en cache basée sur la mémoire** : Mettez en cache les codes-barres générés pour des scénarios à hautes performances 4. **Chaînage de flux** : Traiter les codes-barres par le biais de pipelines de transformation 5. **Traitement par lots** : Générez des milliers de BarCodes sans E/S sur disque ### Travailler avec des flux de données Lorsque vous travaillez avec des flux, vous pouvez être amené à [lire des BarCode dans des flux](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-streams/). Voici un exemple de traitement aller-retour : ```csharp using IronBarCode; using System.IO; using System.Collections.Generic; public class StreamRoundTrip { public static void ProcessBarcodeStream() { // Generate barcode and get stream var originalBarcode = BarcodeWriter.CreateBarcode("STREAM-TEST-123", BarcodeEncoding.Code128); Stream barcodeStream = originalBarcode.ToStream(); // Read barcode back from stream var results = BarcodeReader.Read(barcodeStream); foreach (var result in results) { Console.WriteLine($"Value: {result.Value}"); Console.WriteLine($"Format: {result.BarcodeType}"); } // Don't forget to dispose of the stream barcodeStream.Dispose(); } } ``` ### Considérations de performance Lorsque vous exportez des BarCodes sous forme de flux, tenez compte de ces conseils de performance : - **Réutiliser les flux** : Utilisez `MemoryStream` avec une capacité initiale pour de meilleures performances - **Opérations asynchrones** : Utiliser des méthodes asynchrones pour traiter de gros volumes - **Stream Pooling** : mettre en œuvre le stream pooling pour les opérations à haute fréquence - **Sélection du format** : Choisissez judicieusement les formats : le format PNGest généralement plus rapide que le format PDF ## Pour commencer avec IronBarcode Pour commencer à utiliser la génération de BarCodes basée sur les flux dans vos projets, consultez notre [guide complet de démarrage](https://ironsoftware.com/csharp/barcode/docs/). La [documentation sur l'exportation de BarCode en tant que flux](https://ironsoftware.com/csharp/barcode/how-to/export-barcode-as-stream/) fournit des exemples supplémentaires et des bonnes pratiques pour les flux de travail basés sur les flux. IronBarcode simplifie la création et l'exportation de codes-barres vers des objets `MemoryStream`. Cette approche basée sur les flux offre des performances supérieures, une sécurité renforcée et une intégration transparente avec les applications cloud-natives modernes.

Questions Fréquemment Posées

Comment convertir un BarCode en un MemoryStream sans l'enregistrer sur le disque ?

Avec IronBarcode, vous pouvez convertir un code-barres directement dans un MemoryStream en utilisant la méthode ToStream(). Créez simplement votre code-barres avec BarcodeWriter.CreateBarcode() et appelez ToStream() sur le résultat. Cela génère un flux PNG par défaut sans aucune opération d'entrée/sortie de fichier.

Quels formats d'image puis-je exporter lors de la conversion de codes-barres en flux ?

IronBarcode prend en charge l'exportation de codes-barres vers des flux dans plusieurs formats. Le format par défaut est PNG lorsque vous utilisez la méthode ToStream(). Vous pouvez également exporter vers d'autres formats en utilisant des méthodes spécifiques conçues pour différents types d'images, ce qui permet une certaine flexibilité en fonction des besoins de votre application.

Pourquoi devrais-je utiliser la génération de codes-barres basée sur les flux plutôt que les méthodes basées sur les fichiers ?

La génération de codes-barres basée sur des flux avec IronBarcode offre une sécurité renforcée en évitant les fichiers temporaires, de meilleures performances grâce aux opérations en mémoire directe, une compatibilité cloud transparente pour les environnements conteneurisés et une meilleure efficacité des ressources en réduisant l'utilisation de l'espace disque et la surcharge du système de fichiers.

Puis-je appliquer un style personnalisé avant d'exporter les codes QR sous forme de flux ?

Oui, IronBarcode vous permet d'appliquer un style personnalisé aux codes QR avant de les exporter sous forme de flux. Le QRCodeWriter prend en charge toutes les options de style, et la méthode ToStream() fonctionne de manière transparente après avoir appliqué les personnalisations souhaitées, en conservant l'apparence stylisée dans la sortie du flux.

Quels sont les cas d'utilisation courants pour l'exportation de codes-barres sous forme de MemoryStreams ?

La fonction d'exportation de flux d'IronBarcode est idéale pour les réponses API web où vous devez renvoyer les codes-barres directement dans les réponses HTTP, le stockage dans les bases de données sous forme de blobs binaires, les pièces jointes aux courriels et l'intégration aux services cloud ou aux environnements sans serveur où l'accès au système de fichiers est restreint.

Comment créer un flux de codes-barres en une seule ligne de code ?

IronBarcode permet la création de flux de codes-barres en une seule ligne avec : BarcodeWriter.CreateBarcode("Your Value", BarcodeEncoding.Code128).ToStream(). Ceci crée un code-barres avec la valeur et l'encodage spécifiés, puis le convertit immédiatement en un MemoryStream sans étapes intermédiaires.

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