IRONSOFTWAREHOME

How to Export Barcodes as Streams in C#

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

IronBarcode pozwala generować kody kreskowe i bezpośrednio konwertować je na obiekty MemoryStream bez I/O plików, poprawiając wydajność i bezpieczeństwo. To usprawnione podejście eliminuje operacje na dysku i umożliwia płynną integrację z aplikacjami. Niezależnie czy tworzysz webowe API, przetwarzasz operacje wsadowe, czy integrujesz się z usługami w chmurze, generowanie kodów kreskowych oparte na strumieniach zapewnia elastyczność i wydajność, jakiej wymagają nowoczesne aplikacje.

Szybki start: Eksportowanie kodu kreskowego do strumienia natychmiast

Użyj IronBarcode, aby wygenerować kod kreskowy i przekonwertować go bezpośrednio na MemoryStream za pomocą jednej linii kodu. Nie jest wymagany system plików.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Skopiuj i uruchom ten fragment kodu.

    var stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream();
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronBarcode w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak eksportować kody kreskowe jako strumienie?

Po utworzeniu kodu kreskowego z żądaną wartością, użyj metody ToStream, aby przekonwertować wygenerowany kod kreskowy na MemoryStream. Domyślny format to PNG. Ta funkcjonalność działa również z QRCodeWriter, nawet po zastosowaniu niestandardowego stylu. Dla pełnej dokumentacji na temat wszystkich dostępnych metod, odwiedź Dokumentacja API.

Przykład eksportowania kodu kreskowego jako strumień

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

Dlaczego używać strumieni zamiast plików?

Użycie strumieni eliminuje zależności od systemu plików i zapewnia przetwarzanie w pamięci dla lepszej wydajności. Podejście to jest idealne dla aplikacji webowych, API oraz scenariuszy, gdzie tworzenie tymczasowych plików jest ograniczone lub niepożądane. Przetwarzanie strumieniowe oferuje kilka zalet:

  • Zwiększone bezpieczeństwo: brak plików tymczasowych na dysku, które mogłyby ujawnić poufne dane
  • Lepsza wydajność: Operacje na pamięci bezpośredniej są szybsze niż operacje wejścia/wyjścia na dysku
  • Kompatybilność z chmurą: Działa płynnie w środowiskach kontenerowych i bezserwerowych
  • Efektywne wykorzystanie zasobów: zmniejsza zużycie miejsca na dysku i obciążenie systemu plików

Kiedy należy używać MemoryStream do BarCodes?

Użyj MemoryStream, gdy potrzeba przetwarzać kody kreskowe w pamięci, wysłać je bezpośrednio do odpowiedzi HTTP lub zintegrować z innymi API opartymi na strumieniach bez tworzenia tymczasowych plików. Typowe scenariusze obejmują:

  • Odpowiedzi Web API: Zwracają BarCodes bezpośrednio w odpowiedziach HTTP bez zapisywania na dysku
  • Przechowywanie w bazie danych: Przechowuj dane BarCode jako binarne bloby w bazach danych
  • Załączniki do wiadomości e-mail: Generuj i dołączaj BarCodes do wiadomości e-mail w locie
  • Przechowywanie w chmurze: Przesyłaj bezpośrednio do Azure Blob Storage, AWS S3 lub podobnych usług
  • Przetwarzanie w czasie rzeczywistym: Generowanie kodów kreskowych do natychmiastowego wykorzystania bez konieczności ich przechowywania

Jakie formaty obrazów mogę eksportować do Streams?

IronBarcode obsługuje wiele formatów danych wyjściowych do eksportu strumieniowego. Kilka metod konwertuje obiekt kodu kreskowego na MemoryStream. Metody te upraszczają proces, umożliwiając wybór w oparciu o pożądany format obrazu. Dostępne metody obejmują:

MetodaFormatOpis
Właściwość BinaryStreamBitmapaZwraca System.IO.Stream kodu kreskowego wyrenderowanego jako obraz Bitmap
ToGifStream()GIFW przypadku formatu obrazuGIF
ToJpegStream()JPEG/JPGW przypadku formatu obrazuJPEG/JPG
ToPdfStream()PDFDla formatu dokumentuPDF
ToPngStream()PNGDla formatu obrazuPNG
ToStream()PNG(domyślnie)Domyślnie dla formatu obrazu PNG. Akceptuje pole wyliczeniowe AnyBitmap.ImageFormat jako argument w celu określenia pożądanego formatu
ToTiffStream()TIFFW przypadku formatu obrazuTIFF

Eksportuj BarCode jako strumień w różnych formatach obrazu

Użyj metod ToJpegStream i ToStream, aby wyprowadzić strumienie w formacie obrazu 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();

Przykłady zaawansowanego eksportu strumieniowego

Ten obszerny przykład pokazuje, jak tworzyć BarCodes na podstawie różnych typów danych i eksportować je jako strumienie w różnych formatach:

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, new QRCodeLogo("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();
            }
        }
    }
}
C#

Jak wybrać odpowiedni format?

Wybierz odpowiedni format w zależności od swoich wymagań:

  • PNG: Najlepszy do użytku w sieci, obsługuje przezroczystość, bezstratną kompresję
  • JPEG: Mniejsze rozmiary plików, idealne, gdy nie jest potrzebna przezroczystość
  • PDF: Idealny do integracji dokumentów, raportów i formatów do druku
  • TIFF: Wysoka jakość do celów archiwizacji, obsługa wielu stron
  • GIF: Ograniczona paleta kolorów, odpowiednia dla prostych BarCODE-ów z animacją

Jakie są typowe scenariusze przetwarzania strumieniowego?

Przetwarzanie BarCodes oparte na strumieniach umożliwia wiele praktycznych zastosowań:

  1. Bezpośrednia odpowiedź HTTP: dostarczanie BarCode do klientów internetowych bez pośredniego przechowywania
  2. Binarne przechowywanie w bazie danych: Przechowuj dane BarCode jako pola BLOB
  3. Buforowanie w pamięci: buforowanie wygenerowanych BARCODE-ów w scenariuszach wymagających wysokiej wydajności
  4. Łańcuchowanie strumieni: Przetwarzanie barcode'ów za pomocą potoków transformacji
  5. Przetwarzanie wsadowe: Generuj tysiące kodów kreskowych bez operacji wejścia/wyjścia na dysku

Praca z danymi strumieniowymi

Podczas pracy ze strumieniami może zaistnieć potrzeba odczytu BarCodes ze strumieni. Oto przykład przetwarzania w obie strony:

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

Rozważania dotyczące wydajności

Podczas eksportowania kodów kreskowych jako strumieni należy wziąć pod uwagę następujące wskazówki dotyczące wydajności:

  • Ponowne użycie strumieni: Użyj MemoryStream z początkową pojemnością dla lepszej wydajności
  • Operacje asynchroniczne: W przypadku pracy z dużymi ilościami danych należy stosować metody asynchroniczne
  • Stream Pooling: Wdrożenie stream poolingu dla operacji o wysokiej częstotliwości
  • Wybór formatu: Wybieraj formaty mądrze —PNGjest zazwyczaj szybszy niż PDF

Pierwsze kroki z IronBarcode

Aby rozpocząć korzystanie z generowania kodów kreskowych opartego na strumieniach w swoich projektach, zapoznaj się z naszym obszernym przewodnikiem dla początkujących. Dokumentacja dotycząca eksportu BARCODE-ów jako strumienia zawiera dodatkowe przykłady i najlepsze praktyki dotyczące przepływów pracy opartych na strumieniach.

IronBarcode ułatwia tworzenie i eksportowanie kodów kreskowych do obiektów MemoryStream. To podejście oparte na strumieniach zapewnia doskonałą wydajność, zwiększone bezpieczeństwo oraz płynną integrację z nowoczesnymi aplikacjami natywnymi dla chmury.

Często Zadawane Pytania

Jak przekonwertować kod kreskowy na MemoryStream bez zapisywania na dysk?

Dzięki IronBarcode można bezpośrednio przekonwertować kod kreskowy na MemoryStream, używając metody ToStream(). Po prostu utwórz kod kreskowy za pomocą BarcodeWriter.CreateBarcode() i wywołaj ToStream() na wyniku. Domyślnie generuje to strumień PNG bez operacji I/O na plikach.

Jakie formaty obrazów mogę eksportować podczas konwersji kodów kreskowych na strumienie?

IronBarcode wspiera eksportowanie kodów kreskowych do strumieni w wielu formatach. Domyślnym formatem jest PNG przy użyciu metody ToStream(). Możesz również eksportować do innych formatów, używając specyficznych metod zaprojektowanych dla różnych typów obrazów, co pozwala na elastyczność w zależności od wymagań aplikacji.

Dlaczego warto używać generowania kodów kreskowych opartego na strumieniu zamiast metod opartych na plikach?

Generowanie kodów kreskowych oparte na strumieniu w IronBarcode oferuje zwiększone bezpieczeństwo przez unikanie plików tymczasowych, lepszą wydajność dzięki operacjom bezpośrednim w pamięci, płynną kompatybilność z chmurą dla środowisk konteneryzowanych oraz lepszą efektywność zasobów przez zmniejszoną przestrzeń dyskową i obciążenie systemu plików.

Czy mogę zastosować niestandardowe stylizowanie przed eksportem kodów QR jako strumieni?

Tak, IronBarcode pozwala na zastosowanie niestandardowego stylizowania do kodów QR przed ich eksportem jako strumienie. QRCodeWriter obsługuje wszystkie opcje stylizacji, a metoda ToStream() działa płynnie po zastosowaniu żądanych dostosowań, utrzymując wygląd stylizacji w wyniku strumienia.

Jakie są typowe zastosowania eksportowania kodów kreskowych jako MemoryStream?

Funkcja eksportu strumienia IronBarcode idealnie nadaje się do odpowiedzi API sieciowych, gdzie trzeba zwrócić kody kreskowe bezpośrednio w odpowiedziach HTTP, przechowywanie w bazie danych jako binarne bloby, załączniki e-mailowe oraz integrację z usługami chmurowymi lub środowiskami bezserwerowymi, gdzie dostęp do systemu plików jest ograniczony.

Jak utworzyć strumień kodu kreskowego w jednym wierszu kodu?

IronBarcode umożliwia utworzenie strumienia kodu kreskowego w jednym wierszu: BarcodeWriter.CreateBarcode("Twoja wartość", BarcodeEncoding.Code128).ToStream(). Tworzy to kod kreskowy z podaną wartością i kodowaniem, a następnie natychmiast przekształca go w MemoryStream bez pośrednich kroków.

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.

Gotowy, aby rozpocząć?

Nuget Downloads 2,422,100Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronBarCode"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronBarCode do lokalizacji, takiej jak ~/Libs w katalogu Twojego rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Referencje. Wybierz Przeglądaj, "IronBarCode.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta