C#でIronBarcodeを使用してストリームとしてバーコードを作成する方法

C# でバーコードをストリームとしてエクスポートする方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcodeは、バーコードを生成し、ファイルI/OなしでMemoryStreamオブジェクトに直接変換し、パフォーマンスとセキュリティを向上させます。 この合理的なアプローチにより、ディスク操作が不要になり、アプリケーションとのシームレスな統合が可能になります。 Web API の構築、バッチ処理の処理、クラウドサービスとの統合のいずれにおいても、ストリームベースの BarCode 生成は、最新のアプリケーションが必要とする柔軟性と効率性を提供します。

クイックスタート:バーコードのストリームへの即時エクスポート

IronBarcodeを使ってバーコードを生成し、1行のコードで直接MemoryStreamに変換してください。 ファイルシステムは不要です。

Nuget Icon今すぐ NuGet で PDF を作成してみましょう:

  1. NuGet パッケージ マネージャーを使用して IronBarcode をインストールします

    PM > Install-Package BarCode

  2. このコード スニペットをコピーして実行します。

    var stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream();
  3. 実際の環境でテストするためにデプロイする

    今すぐ無料トライアルでプロジェクトに IronBarcode を使い始めましょう
    arrow pointer


BarCodeをストリームとしてエクスポートするにはどうすればよいですか?

希望する値のバーコードを作成したら、ToStreamメソッドを使用して、生成されたバーコードをMemoryStreamに変換します。 デフォルトのフォーマットはPNGです。 この機能は、カスタム スタイリングを適用した後でも、QRCodeWriterでも動作します。 利用可能なすべてのメソッドに関する包括的なドキュメントについては、API Referenceを参照してください。

ストリーム例として BarCode をエクスポートする

.
: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();
$vbLabelText   $csharpLabel

なぜファイルの代わりにストリームを使用するのですか

ストリームを使用することで、ファイル・システム依存を排除し、イン・メモリ処理を提供してパフォーマンスを向上させます。 このアプローチは、Webアプリケーション、API、および一時ファイルの作成が制限されている、または望ましくないシナリオに最適です。 ストリームベースの処理にはいくつかの利点があります:

  • 強化されたセキュリティ: 機密データを公開する可能性のあるディスク上の一時ファイルがありません。
  • より優れたパフォーマンス:直接メモリ操作はディスク I/O よりも高速です。
  • クラウド互換性:コンテナ環境やサーバーレス環境でもシームレスに動作します。
  • リソース効率:ディスク使用量とファイルシステムのオーバーヘッドを削減します。

BarCodeにMemoryStreamを使用するのはいつですか?

メモリ内で BarCode を処理したり、HTTP レスポンスに直接送信したり、一時ファイルを作成せずに他のストリームベースの API と統合したりする必要がある場合は、MemoryStream を使用してください。 よくあるシナリオは以下のとおりです:

  • Web APIレスポンス:ディスクに保存せずに HTTP レスポンスで直接 BarCode を返します。
  • データベースストレージ: BarCodeデータをバイナリblobとしてデータベースに保存する。
  • メール添付:その場で電子メールに BarCode を生成して添付できます。
  • クラウドストレージ:Azure Blob Storage、AWS S3、または同様のサービスに直接アップロードします。
  • リアルタイム処理:永続化せずにすぐに使用できるバーコードを生成します。

ストリームにエクスポートできる画像形式は? IronBarcodeはストリームエクスポート用に複数の[出力データ形式](https://ironsoftware.com/csharp/barcode/how-to/output-data-formats/)をサポートしています。 いくつかのメソッドは、BarCodeオブジェクトを`MemoryStream`に変換します。 これらの方法はプロセスを簡素化し、希望する画像形式に基づいて選択することができます。 利用可能な方法は以下のとおりです: | 方法 |形式|翻訳内容| |--------|--------|-------------| |**BinaryStream**プロパティ|ビットマップ|ビットマップ画像としてレンダリングされたバーコードの `System.IO.Stream` を返します。| |<コード>ToGifStream()ToJpegStream()ToPdfStream()ToPngStream()ToStream()ToTiffStream()

JPEG 画像形式のストリームを出力するには、`ToJpegStream` および ToStream メソッドを使用します: ```csharp :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-jpeg-stream.cs ``` ### 高度なストリーム エクスポートの例

この包括的な例では、[さまざまなデータ型](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-from-data/)から BarCode を作成し、さまざまな形式のストリームとしてエクスポートする方法を示します: ```csharp 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(); } } } } ```

正しいフォーマットを選ぶには? 要件に応じて適切な形式を選択してください: - **PNG**:ウェブでの使用に最適で、透過性、可逆圧縮をサポートしています。 - **JPEG**:ファイルサイズが小さく、透過性が必要ない場合に最適です。 - **PDF**:ドキュメント統合、レポート、印刷可能なフォーマットに最適です。 - **TIFF**:高品質のアーカイブ目的、複数ページのサポート - **GIF**:限られたカラーパレット、アニメーション付きのシンプルなBarCodeに適しています。 ### 一般的なストリーム処理シナリオは何ですか? ストリームベースの BarCode 処理は、数多くの実用的なアプリケーションを可能にします: 1.**ダイレクト HTTP レスポンス**: 中間ストレージなしで Web クライアントに BarCode を提供します。 2.**データベース・バイナリ・ストレージ**: BLOBフィールドとしてバーコードデータを格納する 3.**メモリベースのキャッシュ**:高性能シナリオのために生成された BarCode をキャッシュします。 4.**ストリームチェイニング**:変換パイプラインを通して BarCode を処理する。 5.**バッチ処理**:ディスク I/O なしで何千もの BarCode を生成します。 ### ストリーム データを扱う

ストリームを使用する場合、[ストリームから BarCode を読み取る](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-streams/)必要がある場合があります。 以下は往復処理の例です: ```csharp 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(); } } ``` ### パフォーマンスの考慮事項 BarCode をストリームとしてエクスポートする場合は、以下のパフォーマンスのヒントを考慮してください: - **ストリームを再利用する**:`MemoryStream`を初期容量で使用するとパフォーマンスが向上します。 - **非同期操作**:大量のデータを扱うときは非同期メソッドを使用する - **ストリーム・プーリング**: 高頻度処理のためのストリーム・プーリングを実装する。 - **フォーマットの選択**:フォーマットを賢く選びましょう。 ## IronBarcodeを始める プロジェクトでストリームベースの BarCode 生成を使い始めるには、[comprehensive getting started guide](https://ironsoftware.com/csharp/barcode/docs/) をご覧ください。 [export barcode as stream documentation](https://ironsoftware.com/csharp/barcode/how-to/export-barcode-as-stream/) では、ストリームベースのワークフローに関する追加の例とベストプラクティスを提供しています。 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に変換します。

Hairil Hasyimi Bin Omar
ソフトウェアエンジニア
すべての優れたエンジニアのように、ハイリルは熱心な学習者です。彼はC#、Python、Javaの知識を磨き、その知識を活用してIron Softwareのチームメンバーに価値を追加しています。ハイリルはマレーシアのマラ工科大学からIron Softwareのチームに参加し、化学およびプロセス工学の学士号を取得しました。
準備はできましたか?
Nuget ダウンロード 2,035,202 | バージョン: 2025.12 リリース