C#でデータからバーコードを作成する方法

テキスト、URL、ID、バイナリ データから C&#35 で BarCode を作成する

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

IronBarcodeはC#開発者がBarcodeWriter.CreateBarcode()メソッドを使用して文字列、バイト配列、メモリストリームを含む様々なデータソースからバーコードを生成することを可能にし、QRコード、Code128、PDF417のような複数のバーコードフォーマットをサポートします。

クイックスタート: 1行で文字列からバーコードを作成

IronBarcodeのAPIを使用して、最小限のセットアップでバーコードを生成します。この例では、たった1行のコードでシンプルな文字列からバーコードを作成する方法を示します。 包括的な例については、BarCodeクイックスタートガイドを確認してください。

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

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

    PM > Install-Package BarCode

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

    var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);
  3. 実際の環境でテストするためにデプロイする

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


文字列から BarCode を作成するには?

異なる文字列タイプに最適なバーコード形式はどれですか?

異なる BarCode フォーマットは、特定のデータタイプや使用ケースに最適化されています。 サポートされているバーコード形式を理解することは、正しいエンコーディングを選択するのに役立ちます:

  • QRコード:URL、メールアドレス、大きなテキストデータに最適です。 エラー訂正で最大4,296文字の英数字をサポートします。
  • Code128:注文番号やシリアルコードなどの英数字データに最適です。 最新のアプリケーションのために非常に効率的です。
  • PDF417:航空券や政府のIDのような複雑なデータに最適です。 最大1,850文字の英数字を格納します。
  • Code93:コンパクトな数値データを使った郵便サービスや在庫追跡に優れています。
  • Aztec:モバイルチケットや交通機関に最適で、QRコードよりも少ないスペースで済みます。

次のコードは、文字列で BarCode を書き込む方法を示しています:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs
using IronBarCode;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

生成された BarCode の結果はどのようなものですか?

このコードは、5つの異なるデータ例を5つのバーコードタイプにエンコードします:単純なテキストをAztecに、URLをQRコードに、数字IDをCode 93に、英数字IDをPDF417に、数字をCodabarに。 画像はPNGで保存されます。 高度なエクスポートオプションについては、Create Barcode as Image ガイドを参照してください。

Aztec barcode containing 'Hello, World!' text with characteristic square spiral pattern
QR code generated from URL input demonstrating barcode creation functionality
Generated Code93 barcode example showing vertical black and white bars pattern
PDF417 barcode with stacked rows encoding flight ID alphanumeric data
Codabar barcode displaying numeric data with start/stop characters

生成された BarCode をカスタマイズするにはどうすればよいですか?

バーコードを作成した後、IronBarcodeのスタイリング機能を使用して外観を向上させます。 ここでは、色、注釈、余白を使用してカスタマイズされたBarCodeを作成する方法を説明します:

using IronBarCode;

// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);

// Add text annotations
myBarcode.AddBarcodeValueテキストBelowBarcode();
myBarcode.AddAnnotationテキストAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);

// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");
using IronBarCode;

// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);

// Add text annotations
myBarcode.AddBarcodeValueテキストBelowBarcode();
myBarcode.AddAnnotationテキストAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);

// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

スタイリング オプションについては、Customize and Style BarCode チュートリアルを参照してください。

バイト配列から BarCode を作成するには?

なぜバイト配列 BarCode では文字エンコーディングが重要なのですか?

バイト配列からバーコードを作成するには、文字エンコーディングが必要な BarcodeEncoding と一致していることを確認してください。 出力データ形式を理解することで、互換性を確保します。 以下はIronBarcodeで使用可能な文字エンコーディングです:

  • ASCII:英語の文字、数字、句読点に1文字あたり7ビットを使用します。 例: 'A' = 65.
  • UTF-8:すべてのUnicode文字のための可変長エンコーディング。 例:€ = 0xE2 0x82 0xAC.
  • UTF-16:Unicodeの16ビットシーケンスを使用します。 例: α = 0x03B1.
  • UTF-32:文字あたり固定32ビットシーケンス。 例: α = 0x000003B1.
  • ISO-8859-1:西ヨーロッパ言語向けにASCIIを拡張したもの。 例:é = 233.

[{i:IronBarcodeのデフォルトキャラクターエンコーディングはISO-8859-1です。}]

バイト配列を BarCode に変換するには?

次のコードは、バイトデータから BarCode を生成するデモです:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs
using IronBarCode;
using System.Text;

byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.Text

Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

このスニペットは、5つの文字列入力をSystem.Byte[]オブジェクトに変換します。 これらのバイト配列をバーコードに変換するには、希望のBarcodeEncodingBarcodeWriterに渡します。 オプションで、バーコードのサイズにMaxWidthMaxHeightを設定します。

バイナリデータと特殊文字を扱う

バイナリデータや特殊文字を扱う場合は、Writing Unicode BarCode を使用して国際的な文字をサポートしてください。 バイナリデータを扱う例です:

using IronBarCode;
using System.テキスト;
using System.IO;

// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);

// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
    base64Data, 
    BarcodeEncoding.QRCode
);

// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
using IronBarCode;
using System.テキスト;
using System.IO;

// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);

// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
    base64Data, 
    BarcodeEncoding.QRCode
);

// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);

// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

メモリ ストリームから BarCode を作成するには?

バーコード生成にメモリストリームを使用するのはいつですか?

メモリストリームは、Web アプリケーションやデータベース処理で動的に生成されるコンテンツなど、ディスクストレージを必要としないデータを処理する場合に最適です。 Export BarCode as Stream ガイドは、ストリームベースのワークフローに関する追加情報を提供します。

次のコードは、メモリ・ストリームから BarCode を生成するデモです:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs
using IronBarCode;
using System.IO;
using System.Text;

MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.IO
Imports System.Text

Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
$vbLabelText   $csharpLabel

メモリ ストリームを使用する利点は何ですか?

このスニペットは、System.Byte[]オブジェクトからMemoryStreamを作成し、それをBarcodeWriter.CreateBarcode()の入力として使用して、メモリストリームのデータからバーコードを生成します。 メモリストリームにはいくつかの利点があります:

1.パフォーマンス: ディスクI/O操作がなく、一時データに対してより高速です。 2.セキュリティ:データはメモリ内に残り、機密情報の露出を減らします。 3.柔軟性:ストリームベースのAPIやライブラリとの容易な統合 4.リソース効率:自動メモリ管理と廃棄

高度なストリーム処理の例

ストリーム処理を含む複雑なシナリオでは、IronBarcodeを他のストリーミング処理と組み合わせてください:

using IronBarCode;
using System.IO;
using System.テキスト;

// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
    var barcodeStreams = new List<Stream>();

    foreach (var item in dataItems)
    {
        // Convert string to stream
        var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));

        // Generate barcode from stream
        var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);

        // Export barcode back to stream
        var outputStream = new MemoryStream();
        barcode.SaveAsPng(outputStream);
        outputStream.Position = 0; // Reset position for reading

        barcodeStreams.Add(outputStream);
    }

    return barcodeStreams;
}

// Usage example
var order番号s = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(order番号s);
using IronBarCode;
using System.IO;
using System.テキスト;

// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
    var barcodeStreams = new List<Stream>();

    foreach (var item in dataItems)
    {
        // Convert string to stream
        var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));

        // Generate barcode from stream
        var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);

        // Export barcode back to stream
        var outputStream = new MemoryStream();
        barcode.SaveAsPng(outputStream);
        outputStream.Position = 0; // Reset position for reading

        barcodeStreams.Add(outputStream);
    }

    return barcodeStreams;
}

// Usage example
var order番号s = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(order番号s);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

マルチスレッド アプリケーションでの非同期操作とパフォーマンスの向上については、Use Async and Multithread ガイドを参照してください。

よくある質問

C# でテキストから BarCode を作成するには?

C#でIronBarcodeを使ってテキストからバーコードを作成することができます:BarcodeWriter.CreateBarcode("YourText", BarcodeWriterEncoding.Code128)。IronBarcodeはQRコード、Code128、PDF417、Aztecなど複数のフォーマットをサポートしています。

BarCode にはどのようなデータをエンコードできますか?

IronBarcodeは文字列、URL、ID、バイナリデータ(バイト配列)、メモリストリームなど様々なデータタイプをエンコードすることができます。このライブラリは、選択したバーコード形式に基づいて変換とエンコードを自動的に処理します。

URLにはどのバーコード形式を使用すればよいですか?

QRコードはIronBarcodeのURLエンコードに最適です。QRコードは最大4,296文字の英数字を格納でき、エラー訂正機能を備えているため、ウェブアドレスや電子メールアドレスに最適です。

注文番号やシリアルコードに最適なバーコード形式は?

Code128は、IronBarcodeを使用する際の注文番号やシリアルコードなどの英数字データに最適なフォーマットです。最新のアプリケーションでは非常に効率的で、文字セットが混在していても優れたデータ密度を提供します。

バイナリデータからバーコードを作成できますか?

はい、IronBarcodeはSystem.Byte[]配列またはSystem.IO.Stream入力を使用したバイナリデータからのCreateBarcodeメソッドによるバーコード作成をサポートしており、あらゆるタイプのバイナリ情報をエンコードすることができます。

バーコードはどのような画像形式で保存できますか?

IronBarcodeでは、生成されたバーコードをPNG、JPEG、BMP、GIF、TIFFなどの複数の画像形式で保存することができます。このライブラリはさまざまな使用ケースに対応する柔軟なエクスポートオプションを提供します。

PDF417バーコードにはどれくらいのデータを格納できますか?

IronBarcodeで作成されたPDF417バーコードは、最大1,850文字の英数字を格納することができ、航空券、配送ラベル、政府IDのような複雑なデータに最適です。

モバイルチケットに最適なバーコード形式は?

Aztecバーコードは、IronBarcodeを使用する場合、モバイルチケットや交通機関のアプリケーションに最適です。高いデータ容量とモバイルデバイスでの読みやすさを維持しながら、QRコードよりも少ないスペースで済みます。

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