IRONSOFTWAREHOME

How to Export Barcodes as Streams in C#

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

IronBarcode vous 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.

Démarrage rapide : Exporter immédiatement un code-barres vers un flux

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.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

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

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

Une fois que vous avez créé le code-barres avec la valeur désirée, utilisez la méthode ToStream pour convertir le code-barres généré en MemoryStream. Le format par défaut est PNG. Cette fonctionnalité fonctionne également avec les QRCodeWriter, même après l'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

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();

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 devez traiter les codes-barres en mémoire, les envoyer directement aux réponses HTTP, ou les intégrer avec 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 pour l'exportation de flux. Plusieurs méthodes convertissent l'objet code-barres en 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éthodeFormatDescription du projet
propriété BinaryStreamBitmapRetourne un System.IO.Stream du code-barres rendu sous forme d'image Bitmap
ToGifStream()GIFPour le format d'image GIF
ToJpegStream()JPEG/JPGPour le format d'image JPEG/JPG
ToPdfStream()PDFPour le format PDF
ToPngStream()PNGPour 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()TIFFPour 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 sortir des flux au format d'image JPEG :

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

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

// Convert barcode to JPEG stream
Stream barcodeStream = barcode.ToStream(AnyBitmap.ImageFormat.Jpeg);

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

// Convert QR code to JPEG stream
Stream qrCodeStream = qrCode.ToJpegStream();

Exemples avancés d'exportation de flux

Cet exemple complet montre comment créer des BarCode à partir de divers types de données et les exporter sous forme de flux dans différents formats :

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. Voici un exemple de traitement aller-retour :

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. La documentation sur l'exportation de BarCode en tant que flux fournit des exemples supplémentaires et des bonnes pratiques pour les flux de travail basés sur les flux.

IronBarcode facilite 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.

How does stream-based barcode generation improve application performance?

Stream-based generation eliminates file I/O by keeping data in memory, which speeds up processes, reduces disk space use, and enhances application scalability and performance.

Is it possible to read barcodes from a stream in IronBarcode?

Yes, IronBarcode allows you to read barcodes from a stream. You can use `BarcodeReader.Read(barcodeStream)` to process the stream for barcode data.

Does IronBarcode support asynchronous operations for large-scale stream processing?

Yes, IronBarcode supports asynchronous operations, which is beneficial when dealing with large volumes of barcode data for better performance and resource management.

How do I ensure efficient memory usage when exporting barcodes to streams?

To ensure efficient memory usage, consider reusing streams, setting initial capacities for `MemoryStream`, and implementing stream pooling for repetitive high-frequency operations.

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