IRONSOFTWAREHOME

How to Export Barcodes as Streams in C#

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

IronBarcode, barkod oluşturmanıza ve dosya girişi/çıkışı olmadan doğrudan MemoryStream nesnelerine dönüştürmenize olanak tanıyarak performansı ve güvenliği artırır. Bu basitleştirilmiş yaklaşım, disk işlemlerini ortadan kaldırır ve uygulamalarla sorunsuz entegrasyona olanak tanır. İster web API'leri oluşturun, toplu işlemleri işleyin, ister bulut hizmetleri ile entegre edin, akış tabanlı barkod oluşturma, modern uygulamaların gerektirdiği esneklik ve verimliliği sağlar.

Hızlı Başlangıç: Barkodu Hemen Bir Akışa Aktarma

Tek satır kod ile bir barkod oluşturmak ve doğrudan bir MemoryStream'ye dönüştürmek için IronBarcode kullanın. Dosya sistemi gerekmiyor.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    var stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream();
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronBarcode kullanmaya başlayın
    arrow pointer

Barkodları Nasıl Akış Olarak Dışa Aktarırım?

İstediğiniz değerle barkodu oluşturduğunuzda, oluşturulan barkodu bir MemoryStream'ye dönüştürmek için ToStream yöntemini kullanın. Varsayılan format PNG'dir. Bu işlevsellik, özelleştirilmiş stil uygulandıktan sonra bile QRCodeWriter ile çalışır. Mevcut tüm yöntemler hakkında kapsamlı dökümantasyon için API Referansı'na başvurun.

Akış Olarak Barkod Dışa Aktarma Örneği

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

Dosyalar Yerine Neden Akışlar Kullanılır?

Akışların kullanılması, dosya sistemi bağımlılıklarını ortadan kaldırır ve daha iyi performans için bellek içi işleme sağlar. Bu yaklaşım, geçici dosya oluşturulmasının kısıtlandığı veya istenmediği web uygulamaları, API'ler ve senaryolar için idealdir. Akış tabanlı işlemenin birkaç avantajı vardır:

  • Geliştirilmiş Güvenlik: Diskteki hassas verileri açığa çıkarabilecek geçici dosyalar yok
  • Daha İyi Performans: Doğrudan bellek işlemleri disk I/O'dan daha hızlıdır
  • Bulut Uyumluluğu: Konteynerli ve sunucusuz ortamlarda sorunsuz çalışır
  • Kaynak Verimliliği: Disk alanı kullanımını ve dosya sistemi yükünü azaltır

Barkodlar İçin MemoryStream'i Ne Zaman Kullanmalıyım?

Barkodları bellekte işlemek, doğrudan HTTP yanıtlarına göndermek veya geçici dosyalar oluşturmadan diğer akış tabanlı API'lerle entegre etmek gerektiğinde MemoryStream kullanın. Yaygın senaryolar şunları içerir:

  • Web API Yanıtları: Diskte kaydetmeden doğrudan HTTP yanıtlarında barkodları döndürün
  • Veritabanı Depolama: Barkod verilerini veritabanlarında ikili bloblar olarak saklayın
  • E-posta Ekleri: E-postalara barkodları hızlıca oluşturun ve ekleyin
  • Bulut Depolama: Doğrudan Azure Blob Storage, AWS S3 veya benzeri hizmetlere yükleyin
  • Gerçek Zamanlı İşleme: Anında tüketim için kalıcı olmadan barkod oluşturun

Hangi Görüntü Formatlarını Akış Olarak Dışa Aktarabilirim?

IronBarcode, akış dışa aktarımı için birden fazla çıkış veri formatını destekler. Birkaç yöntem, barkod nesnesini bir MemoryStream'ye dönüştürür. Bu yöntemler süreci basitleştirir ve istenen görüntü formatına göre seçim yapmanıza izin verir. Mevcut yöntemler şunlardır:

YöntemBiçimAçıklama
BinaryStream özelliğiBitmapBarkodun birBitmapgörüntüsü olarak oluşturulmuş bir System.IO.Stream döndürür
ToGifStream()GIFGIFgörüntü formatı için
ToJpegStream()JPEG/JPGJPEG/JPGgörüntü formatı için
ToPdfStream()PDFPDFbelge formatı için
ToPngStream()PNGPNGgörüntü formatı için
ToStream()PNG(varsayılan)Varsayılan olarakPNGgörüntü formatı için. İstenilen formatı belirtmek için AnyBitmap.ImageFormat enum alanını kabul eder
ToTiffStream()TIFFTIFFgörüntü formatı için

Çeşitli Görüntü Formatlarında Akış Olarak Barkod Dışa Aktarma

ToJpegStream ve ToStream yöntemlerini JPEG görüntü formatında akışları çıkarmak için kullanın:

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

Gelişmiş Akış İhracat Örnekleri

Bu kapsamlı örnek, çeşitli veri türlerinden bar kodları oluşturmayı ve farklı formatlarda akış olarak ihraç etmeyi gösterir:

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

Doğru Formatı Nasıl Seçerim?

Gereksinimlerinize göre uygun formatı seçin:

  • PNG: Web kullanımı için en iyisi, şeffaflık destekler, kayıpsız sıkıştırma
  • JPEG: Daha küçük dosya boyutları, şeffaflık gerekmediğinde ideal
  • PDF: Belge entegrasyonu, raporlar ve yazdırılabilir formatlar için mükemmel
  • TIFF: Yüksek kaliteli arşivleme amaçları, çok sayfalı destek
  • GIF: Sınırlı renk paleti, animasyonlu basit barkodlar için uygun

Yaygın Akış İşleme Senaryoları Nelerdir?

Akış tabanlı barkod işlemi, birçok pratik uygulamayı mümkün kılar:

  1. Doğrudan HTTP Yanıtı: Ara depolama olmadan web müşterilerine barkod sunar
  2. Veritabanı İkili Depolama: Barkod verilerini BLOB alanları olarak depolayın
  3. Bellek Tabanlı Önbellekleme: Yüksek performans senaryoları için üretilen barkodları önbelleğe alma
  4. Akış Zincirleme: Barkodları dönüşüm hatları aracılığıyla işleyin
  5. Toplu İşleme: Disk G/Ç olmadan binlerce barkod oluşturun

Akış Verileriyle Çalışmak

Akışlarla çalışırken, akışlardan barkod okumaya ihtiyacınız olabilir. İşte gidiş-dönüş işlemenin bir örneği:

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

Performans Hususları

Barkodları akış olarak ihraç ederken, aşağıdaki performans ipuçlarını dikkate alın:

  • Akışları Yeniden Kullanma: Daha iyi performans için başlangıç kapasitesi ile MemoryStream kullanın
  • Asenkron İşlemler: Büyük hacimlerle uğraşırken asenkron yöntemleri kullanın
  • Akış Havuzlama: Yüksek frekanslı işlemler için akış havuzlama uygulayın
  • Format Seçimi: Formatları akıllıca seçin—PNG genellikle PDF'den daha hızlıdır

IronBarcode ile Başlarken

Projelerinizde akış tabanlı barkod oluşturma kullanmaya başlamak için kapsamlı başlama kılavuzumuzu ziyaret edin. Barkodu akış olarak ihraç etme belgeleri, akış tabanlı iş akışları için ek örnekler ve en iyi uygulamaları sağlar.

IronBarcode, barkodları MemoryStream nesnelerine oluşturmayı ve dışa aktarmayı basitleştirir. Bu akış tabanlı yaklaşım, üstün performans, artırılmış güvenlik ve modern bulut tabanlı uygulamalarla sorunsuz entegrasyon sunar.

Sıkça Sorulan Sorular

Barkodu diske kaydetmeden nasıl MemoryStream'e dönüştürebilirim?

IronBarcode ile, ToStream() metodunu kullanarak bir barkodu doğrudan MemoryStream'e dönüştürebilirsiniz. Barkodunuzu BarcodeWriter.CreateBarcode() ile oluşturun ve sonucu üzerine ToStream() metodunu çağırın. Bu, varsayılan olarak herhangi bir dosya I/O işlemi olmadan bir PNG stream'i oluşturur.

Barkodları stream'lere dönüştürdüğümde hangi görüntü formatlarını dışa aktarabilirim?

IronBarcode, barkodları çeşitli formatlarda stream'lere dışa aktarmayı destekler. Varsayılan format, ToStream() metodunu kullanırken PNG'dir. Uygulamanızın gereksinimlerine bağlı esneklik sağlayarak farklı görüntü türleri için özel olarak tasarlanmış metodları kullanarak başka formatlara da dışa aktarabilirsiniz.

Neden akış tabanlı barkod oluşturma, dosya tabanlı yöntemlere göre kullanmalıyım?

IronBarcode ile akış tabanlı barkod oluşturma, geçici dosyalardan kaçınarak artan güvenlik, doğrudan hafıza işlemleriyle daha iyi performans, konteynerleştirilmiş ortamlar için sorunsuz bulut uyumluluğu ve disk alanı kullanımını ve dosya sistemi yükünü azaltarak daha iyi kaynak verimliliği sunar.

QR kodları stream'lere aktarmadan önce özel stiller uygulayabilir miyim?

Evet, IronBarcode, QR kodlarına stream'lere aktarmadan önce özel stil uygulamanıza olanak tanır. QRCodeWriter, tüm stil seçeneklerini destekler ve ToStream() işlemi, istediğiniz özelleştirmeler uygulandıktan sonra sorunsuz çalışır, stilize edilmiş görünümü stream çıktısında devam ettirir.

MemoryStream olarak barkodları dışa aktarmanın yaygın kullanım durumları nelerdir?

IronBarcode'un akış dışa aktarma özelliği, HTTP yanıtlarında barkodları doğrudan döndürmeniz gerektiğinde, veri tabanı depolama için ikili bloblar olarak, e-posta ekleri ve bulut hizmetleri veya dosya sistemine erişimin kısıtlandığı sunucusuz ortamlarla entegrasyon için idealdir.

Sadece tek bir satır kodla barkod akışı nasıl oluştururum?

IronBarcode, tek satırlık barkod akışı oluşturmaya olanak tanır: BarcodeWriter.CreateBarcode("Değeriniz", BarcodeEncoding.Code128).ToStream(). Bu, belirttiğiniz değeri ve kodlamayı içeren bir barkod oluşturur, ardından hemen bir MemoryStream'e ara adım olmadan dönüştürür.

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.

Başlamaya Hazır mısınız?

Nuget Downloads 2,422,100Sürüm:2026.9yeni yayınlandı

ÜCRETSİZİNİZİ EDİNİN

30 günlük Deneme Anahtarınızı anında edinin.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmez
bullet_testÜretimde Test
filigran olmadan
bullet_calendar30 gün tamamen
işlevsel ürün
bullet_supportDeneme sırasında teknik
24/5 destek
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Gözat'ı seçin ve "IronBarCode" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

  1. ~/Libs gibi bir yere, Çözüm dizininizde IronBarCode'u indirip çıkarın
  2. Visual Studio Çözüm Gezgini'nde, Başvurulara sağ tıklayın. Gözat'ı seçin, "IronBarCode.dll"

$999 adresinden lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez