How to Export Barcodes as Streams in C
IronBarcode を使用すると、バーコードを生成し、ファイル I/O なしで直接 MemoryStream オブジェクトに変換できるため、パフォーマンスとセキュリティが向上します。 この合理的なアプローチにより、ディスク操作が不要になり、アプリケーションとのシームレスな統合が可能になります。 Web API の構築、バッチ処理の処理、クラウドサービスとの統合のいずれにおいても、ストリームベースの BarCode 生成は、最新のアプリケーションが必要とする柔軟性と効率性を提供します。
クイックスタート: バーコードをストリームに即座にエクスポートする
IronBarcodeを使用してバーコードを生成し、1 行のコードでそれを直接 MemoryStream に変換します。 ファイルシステムは不要です。
最小限のワークフロー(5ステップ)
- ストリームとしてバーコードをエクスポートするためのC#ライブラリをダウンロードする
- 入力値から様々なバーコードタイプを作成する
- 生成されたバーコードをストリームに変換する
- 異なる画像形式をストリームとしてエクスポートするための特定のメソッドを使用する
- ストリームデータにさらに処理を適用する
BarCodeをストリームとしてエクスポートするにはどうすればよいですか?
目的の値を持つバーコードを作成したら、ToStream メソッドを使用して、生成されたバーコードを MemoryStream に変換します。 デフォルトのフォーマットはPNGです。 この機能は、カスタム スタイルを適用した後でも、QRCodeWriter でも動作します。 利用可能なすべてのメソッドに関する包括的なドキュメントについては、API Referenceを参照してください。
バーコードをストリームとしてエクスポートする例
: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()
なぜファイルの代わりにストリームを使用するのですか
ストリームを使用することで、ファイル・システム依存を排除し、イン・メモリ処理を提供してパフォーマンスを向上させます。 このアプローチは、Webアプリケーション、API、および一時ファイルの作成が制限されている、または望ましくないシナリオに最適です。 ストリームベースの処理にはいくつかの利点があります:
- 強化されたセキュリティ: 機密データを公開する可能性のあるディスク上の一時ファイルがありません。
- より優れたパフォーマンス:直接メモリ操作はディスク I/O よりも高速です。
- クラウド互換性:コンテナ環境やサーバーレス環境でもシームレスに動作します。
- リソース効率:ディスク使用量とファイルシステムのオーバーヘッドを削減します。
BarCodeにMemoryStreamを使用するのはいつですか?
バーコードをメモリ内で処理したり、HTTP 応答に直接送信したり、一時ファイルを作成せずに他のストリームベースの API と統合したりする必要がある場合は、MemoryStream を使用します。 よくあるシナリオは以下のとおりです:
- Web APIレスポンス:ディスクに保存せずに HTTP レスポンスで直接 BarCode を返します。
- データベースストレージ: BarCodeデータをバイナリblobとしてデータベースに保存する。
- メール添付:その場で電子メールに BarCode を生成して添付できます。
- クラウドストレージ:Azure Blob Storage、AWS S3、または同様のサービスに直接アップロードします。
- リアルタイム処理:永続化せずにすぐに使用できるバーコードを生成します。
ストリームにエクスポートできる画像形式は?
IronBarcodeはストリームエクスポート用に複数の出力データ形式をサポートしています。 いくつかのメソッドは、バーコード オブジェクトを MemoryStream に変換します。 これらの方法はプロセスを簡素化し、希望する画像形式に基づいて選択することができます。 利用可能な方法は以下のとおりです:
| 方法 | 形式 | 翻訳内容 |
|---|---|---|
| BinaryStreamプロパティ | ビットマップ | ビットマップ画像としてレンダリングされたバーコードのSystem.IO.Streamを返します |
ToGifStream() |
GIF | GIF画像フォーマットの場合 |
ToJpegStream() |
JPEG/JPG | JPEG/JPG画像フォーマットの場合 |
ToPdfStream() |
PDFドキュメント形式 | |
ToPngStream() |
PNG | PNG画像フォーマットの場合 |
ToStream() |
PNG(デフォルト) | デフォルトでPNG画像形式。 AnyBitmap.ImageFormat列挙フィールドを引数として受け取り、希望するフォーマットを指定します。 |
ToTiffStream() |
TIFF | TIFF画像フォーマットの場合 |
さまざまな画像形式で BarCode をストリームとしてエクスポートする
JPEG 画像形式でストリームを出力するには、ToJpegStream および ToStream メソッドを使用します。
: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()
高度なストリーム エクスポートの例
この包括的な例では、さまざまなデータ型から BarCode を作成し、さまざまな形式のストリームとしてエクスポートする方法を示します:
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
正しいフォーマットを選ぶには?
要件に応じて適切な形式を選択してください:
- PNG:ウェブでの使用に最適で、透過性、可逆圧縮をサポートしています。
- JPEG:ファイルサイズが小さく、透過性が必要ない場合に最適です。
- PDF:ドキュメント統合、レポート、印刷可能なフォーマットに最適です。
- TIFF:高品質のアーカイブ目的、複数ページのサポート
- GIF:限られたカラーパレット、アニメーション付きのシンプルなBarCodeに適しています。
一般的なストリーム処理シナリオは何ですか?
ストリームベースの BarCode 処理は、数多くの実用的なアプリケーションを可能にします:
1.ダイレクト HTTP レスポンス: 中間ストレージなしで Web クライアントに BarCode を提供します。 2.データベース・バイナリ・ストレージ: BLOBフィールドとしてバーコードデータを格納する 3.メモリベースのキャッシュ:高性能シナリオのために生成された BarCode をキャッシュします。 4.ストリームチェイニング:変換パイプラインを通して BarCode を処理する。 5.バッチ処理:ディスク I/O なしで何千もの BarCode を生成します。
ストリーム データを扱う
ストリームを使用する場合、ストリームから BarCode を読み取る必要がある場合があります。 以下は往復処理の例です:
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
パフォーマンスの考慮事項
BarCode をストリームとしてエクスポートする場合は、以下のパフォーマンスのヒントを考慮してください:
-ストリームの再利用: パフォーマンス向上のため、初期容量でMemoryStreamを使用します
- 非同期操作:大量のデータを扱うときは非同期メソッドを使用する
- ストリーム・プーリング: 高頻度処理のためのストリーム・プーリングを実装する。
- フォーマットの選択:フォーマットを賢く選びましょう。
IronBarcodeを始める
プロジェクトでストリームベースの BarCode 生成を使い始めるには、comprehensive getting started guide をご覧ください。 export barcode as stream documentation では、ストリームベースのワークフローに関する追加の例とベストプラクティスを提供しています。
IronBarcode を使用すると、バーコードを簡単に作成し、MemoryStream オブジェクトにエクスポートできます。 このストリームベースのアプローチは、優れたパフォーマンス、強化されたセキュリティ、最新のクラウドネイティブ・アプリケーションとのシームレスな統合を提供します。
よくある質問
バーコードをディスクに保存せずにMemoryStreamに変換するにはどうすればよいですか?
IronBarcodeでは、ToStream()メソッドを使用してバーコードを直接MemoryStreamに変換することができます。BarCodeWriter.CreateBarcode()でバーコードを作成し、その結果に対してToStream()を呼び出すだけです。これにより、ファイルI/O操作なしでデフォルトでPNGストリームが生成されます。
BarCode をストリームに変換する際にエクスポートできる画像形式は?
IronBarcodeは複数のフォーマットでバーコードをストリームにエクスポートすることができます。ToStream()メソッドを使用した場合のデフォルトフォーマットはPNGです。また、異なる画像タイプ用に設計された特定のメソッドを使用することで、他のフォーマットへのエクスポートも可能で、アプリケーションの要件に応じて柔軟に対応できます。
なぜファイルベースの方法ではなく、ストリームベースのバーコード生成を使用する必要があるのですか?
IronBarcodeによるストリームベースのバーコード生成は、一時ファイルを回避することによるセキュリティの強化、直接メモリ操作によるパフォーマンスの向上、コンテナ化環境のためのシームレスなクラウド互換性、ディスクスペースの使用とファイルシステムのオーバーヘッドを削減することによるリソース効率の向上を提供します。
QR コードをストリームとしてエクスポートする前に、カスタム・スタイルを適用できますか。
はい、IronBarcodeではQRコードをストリームとしてエクスポートする前にカスタムスタイルを適用することができます。QRCodeWriterはすべてのスタイリングオプションをサポートしており、ToStream()メソッドは希望のカスタマイズを適用した後にシームレスに動作し、ストリーム出力でスタイリングされた外観を維持します。
BarCodeをMemoryStreamsとしてエクスポートする一般的な使用例を教えてください。
IronBarcodeのストリームエクスポート機能は、HTTPレスポンスで直接バーコードを返す必要があるWeb APIレスポンス、バイナリblobとしてのデータベースストレージ、電子メール添付、ファイルシステムへのアクセスが制限されているクラウドサービスやサーバーレス環境との統合に最適です。
たった1行のコードでBarCodeストリームを作成するには?
IronBarcodeは1行でバーコードストリームを作成することができます:BarcodeWriter.CreateBarcode("Your Value", BarcodeEncoding.Code128).ToStream().これは、指定した値とエンコーディングでバーコードを作成し、中間ステップなしですぐにMemoryStreamに変換します。

