Barcodes als Streams in C# exportieren
Mit IronBarcode können Sie Barcodes generieren und diese direkt in MemoryStream Objekte konvertieren, ohne dass Datei-I/O erforderlich ist. Dies verbessert die Leistung und Sicherheit. Durch diesen rationalisierten Ansatz werden Diskettenoperationen vermieden und eine nahtlose Integration in Anwendungen ermöglicht. Ob beim Aufbau von Web-APIs, bei der Verarbeitung von Stapelverarbeitungsvorgängen oder bei der Integration mit Cloud-Diensten - die strombasierte Barcode-Erzeugung bietet die Flexibilität und Effizienz, die moderne Anwendungen benötigen.
Schnellstart: Barcode sofort in einen Stream exportieren
Mit IronBarcode können Sie einen Barcode generieren und ihn mit nur einer Codezeile direkt in einen MemoryStream konvertieren. Kein Dateisystem erforderlich.
-
Installieren Sie IronBarcode mit NuGet Package Manager
PM > Install-Package BarCode -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream(); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronBarcode in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Laden Sie die C#-Bibliothek herunter, um Barcodes als Stream zu exportieren
- Erstellen Sie verschiedene Barcode-Typen aus Eingabewerten
- Konvertieren Sie den erzeugten Barcode in einen Stream
- Verwenden Sie spezifische Methoden, um verschiedene Bildformate als Stream zu exportieren
- Wenden Sie weitere Verarbeitung auf die Stream-Daten an
Wie exportiere ich BarCodes als Streams?
Sobald Sie den Barcode mit dem gewünschten Wert erstellt haben, verwenden Sie die Methode ToStream, um den generierten Barcode in einen MemoryStream umzuwandeln. Das Standardformat ist PNG. Diese Funktionalität funktioniert auch mit QRCodeWriter, selbst nach Anwendung benutzerdefinierter Formatierungen . Eine umfassende Dokumentation zu allen verfügbaren Methoden finden Sie in der API-Referenz.
Beispiel: BarCode als Stream exportieren
: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();
Imports IronBarCode
Imports System.IO
' Create one-dimensional barcode
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("IronBarcode1234", BarcodeEncoding.Code128)
' Convert barcode to stream
Dim barcodeStream As Stream = barcode.ToStream()
' Create QR code
Dim qrCode As GeneratedBarcode = QRCodeWriter.CreateQrCode("IronBarcode1234")
' Convert QR code to stream
Dim qrCodeStream As Stream = qrCode.ToStream()
Warum Streams anstelle von Dateien verwenden?
Durch die Verwendung von Streams werden Abhängigkeiten vom Dateisystem beseitigt und eine speicherinterne Verarbeitung für eine bessere Leistung ermöglicht. Dieser Ansatz ist ideal für Webanwendungen, APIs und Szenarien, in denen die Erstellung temporärer Dateien eingeschränkt oder unerwünscht ist. Strombasierte Verarbeitung bietet mehrere Vorteile:
- Verbesserte Sicherheit: Keine temporären Dateien auf der Festplatte, die sensible Daten preisgeben könnten
- Bessere Leistung: Direkte Speicheroperationen sind schneller als Festplatten-E/A
- Cloud-Kompatibilität: Funktioniert nahtlos in containerisierten und serverlosen Umgebungen
- Ressourceneffizienz: Reduziert den Speicherplatzbedarf und den Overhead des Dateisystems
Wann sollte ich MemoryStream für BarCodes verwenden?
Verwenden Sie MemoryStream, wenn Sie Barcodes im Speicher verarbeiten, direkt an HTTP-Antworten senden oder mit anderen stream-basierten APIs integrieren müssen, ohne temporäre Dateien zu erstellen. Häufige Szenarien sind:
- Web API Antworten: Geben Sie BarCodes direkt in HTTP-Antworten zurück, ohne sie auf der Festplatte zu speichern
- Datenbankspeicherung: Speichern von BarCode-Daten als binäre Blobs in Datenbanken
- E-Mail-Anhänge: Erzeugen und Anhängen von BarCodes an E-Mails im Handumdrehen
- Cloud-Speicher: Direktes Hochladen auf Azure Blob Storage, AWS S3 oder ähnliche Dienste
- Echtzeit-Verarbeitung: Generierung von BarCodes zum sofortigen Verbrauch ohne Persistenz
Welche Bildformate kann ich in Streams exportieren?
IronBarcode unterstützt mehrere Ausgabedatenformate für den Stream-Export. Mehrere Methoden konvertieren das Barcode-Objekt in ein MemoryStream. Diese Methoden vereinfachen den Prozess und ermöglichen es Ihnen, das gewünschte Bildformat zu wählen. Zu den verfügbaren Methoden gehören:
| Methode | Format | Beschreibung |
|---|---|---|
| BinaryStream Eigenschaft | Bitmap | Gibt ein System.IO.Stream des als Bitmap-Bild gerenderten Barcodes zurück. |
ToGifStream() |
GIF | Für das GIF-Bildformat |
ToJpegStream() |
JPEG/JPG | Für das Bildformat JPEG/JPG |
ToPdfStream() |
Für das PDF-Dokumentenformat | |
ToPngStream() |
PNG | Für das PNG-Bildformat |
ToStream() |
PNG(Standard) | Standardmäßig für das Bildformat PNG. Akzeptiert AnyBitmap.ImageFormat enum Feld als Argument, um das gewünschte Formatzu spezifizieren |
ToTiffStream() |
TIFF | Für das TIFF-Bildformat |
BarCode als Stream in verschiedene Bildformate exportieren
Verwenden Sie die Methoden ToJpegStream und ToStream, um Datenströme im JPEG-Bildformat auszugeben:
:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-jpeg-stream.cs
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();
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.IO
' Create one-dimensional barcode
Private barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("IronBarcode1234", BarcodeEncoding.Code128)
' Convert barcode to JPEG stream
Private barcodeStream As Stream = barcode.ToStream(AnyBitmap.ImageFormat.Jpeg)
' Create QR code
Private qrCode As GeneratedBarcode = QRCodeWriter.CreateQrCode("IronBarcode1234")
' Convert QR code to JPEG stream
Private qrCodeStream As Stream = qrCode.ToJpegStream()
Erweiterte Stream-Export-Beispiele
Dieses umfassende Beispiel zeigt, wie man Barcodes aus verschiedenen Datentypen erstellt und als Streams in verschiedenen Formaten exportiert:
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();
}
}
}
}
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();
}
}
}
}
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Drawing.Imaging
Public Class BarcodeStreamExporter
Public Shared Sub ExportMultipleFormats()
' Generate barcode with custom data
Dim 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
Dim pngStream As Stream = myBarcode.ToPngStream()
Dim jpegStream As Stream = myBarcode.ToJpegStream()
Dim pdfStream As Stream = myBarcode.ToPdfStream()
Dim tiffStream As Stream = myBarcode.ToTiffStream()
' Use with HTTP response (ASP.NET Core example)
' return File(pngStream, "image/png", "barcode.png")
End Sub
Public Shared Function GenerateQRCodeBytes(data As String) As Byte()
' Create QR code with error correction
Dim qrCode = QRCodeWriter.CreateQrCodeWithLogo(data, "logo.png", 500)
' Convert to byte array via stream
Using stream = qrCode.ToStream()
Using memoryStream As New MemoryStream()
stream.CopyTo(memoryStream)
Return memoryStream.ToArray()
End Using
End Using
End Function
End Class
Wie wähle ich das richtige Format?
Wählen Sie je nach Ihren Anforderungen das passende Format:
- PNG: Am besten für die Verwendung im Web geeignet, unterstützt Transparenz, verlustfreie Kompression
- JPEG: Geringere Dateigröße, ideal, wenn keine Transparenz erforderlich ist
- PDF: Perfekt für die Integration von Dokumenten, Berichten und druckbaren Formaten
- TIFF: Hochwertige Archivierungszwecke, Unterstützung von mehreren Seiten
- GIF: Begrenzte Farbpalette, geeignet für einfache BarCodes mit Animation
Was sind gängige Stream-Processing-Szenarien?
Stream-basierte Barcode-Verarbeitung ermöglicht zahlreiche praktische Anwendungen:
- Direkte HTTP-Antwort: Bereitstellung von BarCodes für Web-Clients ohne Zwischenspeicherung
- Datenbank-Binärspeicher: Speichern von Barcode-Daten als BLOB-Felder
- Speichergestütztes Caching: Cache-generierte BarCodes für Hochleistungsszenarien
- Stream Chaining: Verarbeiten von BarCodes durch Transformationspipelines
- Stapelverarbeitung: Generieren Sie Tausende von BarCodes ohne Festplatten-E/A
Arbeiten mit Stream-Daten
Wenn Sie mit Streams arbeiten, müssen Sie möglicherweise Barcodes aus Streams lesen. Hier ist ein Beispiel für die Round-Trip-Verarbeitung:
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();
}
}
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();
}
}
Imports IronBarCode
Imports System.IO
Imports System.Collections.Generic
Public Class StreamRoundTrip
Public Shared Sub ProcessBarcodeStream()
' Generate barcode and get stream
Dim originalBarcode = BarcodeWriter.CreateBarcode("STREAM-TEST-123", BarcodeEncoding.Code128)
Dim barcodeStream As Stream = originalBarcode.ToStream()
' Read barcode back from stream
Dim results = BarcodeReader.Read(barcodeStream)
For Each result In results
Console.WriteLine($"Value: {result.Value}")
Console.WriteLine($"Format: {result.BarcodeType}")
Next
' Don't forget to dispose of the stream
barcodeStream.Dispose()
End Sub
End Class
Erwägungen zur Leistung
Beachten Sie beim Exportieren von BarCodes als Streams die folgenden Leistungstipps:
- Streams wiederverwenden : Verwenden Sie
MemoryStreammit anfänglicher Kapazität für eine bessere Leistung - Async-Operationen: Verwenden Sie asynchrone Methoden, wenn Sie mit großen Datenmengen arbeiten
- Stream Pooling: Implementierung von Stream Pooling für hochfrequente Operationen
- Formatauswahl: Wählen Sie die Formate mit Bedacht - PNGist im Allgemeinen schneller als PDF
Einstieg mit IronBarcode
Um mit der stream-basierten Barcode-Erzeugung in Ihren Projekten zu beginnen, besuchen Sie unseren umfassenden Leitfaden für den Einstieg. Die Dokumentation zum Exportieren von Barcodes als Stream enthält zusätzliche Beispiele und Best Practices für Stream-basierte Arbeitsabläufe.
IronBarcode vereinfacht das Erstellen und Exportieren von Barcodes in MemoryStream Objekte. Dieser Stream-basierte Ansatz bietet überlegene Leistung, verbesserte Sicherheit und nahtlose Integration mit modernen Cloud-nativen Anwendungen.
Häufig gestellte Fragen
Wie kann ich einen BarCode in einen MemoryStream konvertieren, ohne ihn auf der Festplatte zu speichern?
Mit IronBarcode können Sie einen Barcode direkt in einen MemoryStream konvertieren, indem Sie die Methode ToStream() verwenden. Erstellen Sie einfach Ihren Barcode mit BarcodeWriter.CreateBarcode() und rufen Sie ToStream() für das Ergebnis auf. Dies erzeugt standardmäßig einen PNG-Stream ohne jegliche Datei-E/A-Operationen.
Welche Bildformate kann ich bei der Umwandlung von Barcodes in Streams exportieren?
IronBarcode unterstützt den Export von Barcodes in Streams in verschiedenen Formaten. Das Standardformat ist PNG, wenn Sie die Methode ToStream() verwenden. Sie können auch in andere Formate exportieren, indem Sie spezielle Methoden verwenden, die für verschiedene Bildtypen entwickelt wurden, so dass Sie flexibel auf die Anforderungen Ihrer Anwendung reagieren können.
Warum sollte ich Stream-basierte Barcode-Generierung anstelle von dateibasierten Methoden verwenden?
Die streambasierte Barcode-Generierung mit IronBarcode bietet erhöhte Sicherheit durch die Vermeidung temporärer Dateien, bessere Leistung durch direkte Speicheroperationen, nahtlose Cloud-Kompatibilität für containerisierte Umgebungen und verbesserte Ressourceneffizienz durch die Verringerung der Festplattenplatznutzung und des Dateisystem-Overheads.
Kann ich ein benutzerdefiniertes Styling anwenden, bevor ich QR-Codes als Streams exportiere?
Ja, IronBarcode ermöglicht es Ihnen, QR-Codes vor dem Export als Streams mit einem benutzerdefinierten Styling zu versehen. Der QRCodeWriter unterstützt alle Styling-Optionen, und die ToStream()-Methode funktioniert nahtlos nach der Anwendung Ihrer gewünschten Anpassungen, wobei das gestylte Erscheinungsbild in der Stream-Ausgabe beibehalten wird.
Was sind häufige Anwendungsfälle für den Export von BarCodes als MemoryStreams?
Die Stream-Exportfunktion von IronBarcode ist ideal für Web-API-Antworten, bei denen Barcodes direkt in HTTP-Antworten zurückgegeben werden müssen, für die Speicherung in Datenbanken als binäre Blobs, für E-Mail-Anhänge und für die Integration mit Cloud-Diensten oder serverlosen Umgebungen, in denen der Zugriff auf das Dateisystem eingeschränkt ist.
Wie erstelle ich einen Barcode-Stream in nur einer Codezeile?
IronBarcode ermöglicht die Erstellung eines einzeiligen Barcode-Streams mit: BarcodeWriter.CreateBarcode("Your Value", BarcodeEncoding.Code128).ToStream(). Dies erzeugt einen Barcode mit dem von Ihnen angegebenen Wert und der Kodierung und konvertiert ihn dann sofort in einen MemoryStream ohne Zwischenschritte.

