C#でCode128バーコードを生成する方法
バーコードは、在庫管理から製品ラベル付け、出荷に至るまで、現代のビジネス運用において非常に重要です。 Code 128は、さまざまなバーコードコードセットの中で、多用途で広く使用されているオプションとして際立っています。 この記事では、IronBarcodeライブラリを使用してC#でCode 128バーコードジェネレーターを構築する方法を探ります。
How to Generate Code 128 Barcode in C#
- IronBarcodeライブラリをインストールする
- Code 128エンコーディングを使用してバーコードを生成する
- バーコードをリサイズする
- バーコードの背景とバーコードの色を変更してスタイルを設定します
- 作成されたバーコードを読み取る
Code 128バーコードの紹介
Code 128コードセットは、高密度で可変長の線形バーコードで、英数字データと特殊文字の両方をエンコードできます。 これは自己チェックであり、データの正確性を確保するためのチェックサム数字を含んでいます。 Code 128エンコーディングスキームは、3つの制御文字をサポートしています:
- 文字セットA: 大文字、数字、および特殊文字を含みます。
- 文字セットB: 大文字、小文字、数字、および追加の特殊文字を含みます。
- 文字セットC: 数字のペア(00から99)をエンコードします。
なぜIronBarcodeを選ぶべきか?
IronBarcodeは、バーコードの生成、デコーディング、およびカスタマイズを容易にする強力な.NETライブラリです。 Code 128、Code 39、Code 93、Code EAN 13、EAN 8、QRコードなど、さまざまなバーコードエンコーディングをサポートしています。 コンテンツ、サイズ、および外観調整のための直感的なAPIを提供します。 そのデコード機能、自動チェックサム計算、および画像エクスポートは、在庫管理およびそれ以外の分野で開発者にとって貴重なツールとなります。 ライブラリのプロパティ、余白、フォント、色に関するカスタマイズオプションは、バーコード関連のタスクでの汎用性を向上させます。
Creating Code 128 Barcode Generator in C#
これで、C#でCode 128バーコード画像を生成するコードを書きます。 最初のステップは、プロジェクトにIronBarcodeライブラリをインストールすることです。 プロジェクトは、Windows Forms、Webフォーム、MAUI、Xamarin、ASP.NET MVC、Razor、またはBlazorプロジェクトなど、どのタイプでもかまいません。
IronBarcodeライブラリのインストール
Visual Studioのパッケージマネージャーコンソールを使用してIronBarcode NuGetパッケージをインストールするには、次の手順に従います:
- Visual Studioを開きます。
-
上部メニューで"表示">"その他のウィンドウ">"パッケージマネージャーコンソール"に進み、パッケージマネージャーコンソールを開きます。 3.パッケージマネージャーコンソールでは、
Install-Packageコマンドを使用してIronBarcodeパッケージをインストールできます。 次のコマンドを入力し、Enterキーを押します:Install-Package BarCodeInstall-Package BarCodeSHELL - このコマンドにより、IronBarcode NuGetパッケージの最新バージョンとその依存関係がプロジェクトにダウンロードされインストールされます。
プロジェクトでバーコードライブラリを使用するには次の名前空間を追加します。
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Code 128バーコード画像を生成する
次のコードはCode 128バーコードを生成します。
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
このコードは入力文字列からバーコードを作成し、"myBarcode.Jpeg"という名前のJPEG画像ファイルとして保存します。使用される特定のエンコーディングは、英数字文字を表現できるCode 128です。
説明
コードの最初の行は、myBarcodeという新しい変数を作成します。 入力文字列 "12345ABC12345 "に基づいてバーコードを生成するために、BarcodeWriter.CreateBarcode@メソッドを使用します。
2番目の引数、BarcodeWriterEncoding.Code128は、バーコードのエンコードタイプを指定します。 この場合、英数字データに一般的に使用されるCode 128エンコーディングを使用しています。 結果のBarCodeは、myBarcode変数に格納されます。
二行目は、生成されたバーコードをJPEG画像ファイルとして保存します。保存される画像のファイル名は"myBarcode.Jpeg"です。 保存される画像の形式はJPEG(Joint Photographic Experts Group)です。
出力
生成されたバーコードは以下のとおりです:

このコードはバーコードリーディングデバイスを使用して今すぐ読み取ることができます。
さて、バーコードのサイズを変更しましょう。
バーコードのサイズ変更
次のコードは、指定された寸法に従ってバーコードのサイズを変更します。
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
バーコードを作成して保存するためのコードは変わりません。 バーコードのサイズを変更するために追加の行を追加するだけです。
CODE-42408--@@メソッドは、@@--CODE-42409--@変数に格納されているバーコード画像のサイズを変更します。 メソッドResizeToは、myBarcodeオブジェクト上で呼び出されます。 CODE-42412--@@に渡される2つの引数は、幅と高さです。 この場合、幅は800ピクセル、高さは300ピクセルに設定されています。
この方法で、最小幅とバーのモジュールの高さを設定できます。 リサイズ後のバーコード画像は以下の寸法になります。
バーコード画像

さて、バーコードをスタイル化しましょう。
Code 128バーコードのスタイル設定
さて、バーコードの背景色とバーコード色を変更してスタイルを付けましょう。
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
' Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
' Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
バーコードを生成して保存するためのコードは同じです。 背景色とバーコード色を変更するために2行を追加しました。 説明は以下のとおりです:
-
ChangeBackgroundColor:メソッド@--CODE-42413--@@は、@--CODE-42414--@@オブジェクト上で呼び出されます。 このメソッドはバーコード画像の背景色を変更します。 CODE-42415--@@に渡される引数は
IronSoftware.Drawing.Color.Cornsilkで、希望する背景色を指定します。 この場合、背景色はコーンシルクに設定されており、淡い黄色がかった色です。 - ChangeBarCodeColor:メソッド@--CODE-42417--@@は、@--CODE-42418--@@オブジェクト上で呼び出されます。 このメソッドはバーコードのバーの色を変更します。 CODE-42419--@@に渡される引数は
IronSoftware.Drawing.Color.Brownで、希望するバーコードの色を指定します。 この場合、バーコードの色はBrownに設定されています。
出力
私たちのスタイル化されたバーコードは以下の通りです:

Code 128バーコードの読み取り
私たちはCode 128バーコードを生成する方法を学びました。 バーコードを読み取るコードを書いてみましょう:
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
Shared Sub Main(ByVal args() As String)
' Read barcodes from the specified image file
Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
' Loop through each barcode value read from the image
For Each barcodeValue In resultFromBarcode
' Print each barcode value to the console
Console.WriteLine(barcodeValue)
Next barcodeValue
End Sub
上記のコードは"myBarcode.Jpeg"画像ファイルからバーコードを読み取り、その値をコンソールに表示します。 CODE-42421-@@クラスは、画像からバーコードデータをデコードする役割を担っています。 コードの説明は以下のとおりです:
コードの説明
-
最初の行は、
resultFromBarcodeという変数を作成します。 これは、BarcodeReader.Readメソッドを呼び出して、"myBarcode.Jpeg "という名前の画像ファイルからバーコードを読み取ります。 この操作の結果は、resultFromBarcode変数に格納されます。 -
2行目は、
resultFromBarcodeコレクション内の各 BarCode 値を繰り返し処理するループを開始します。 CODE-42426--@@ループにより、バーコードの値を1つずつ処理することができます。 - ループの中で、この行は各バーコード値をコンソールに出力します。 CODE-42427は、画像から読み取ったバーコードの内容を表しています。
バーコードの値は次のようにコンソールに表示されます。
出力

コード128エンコーディングセグメントの分析
前述のとおり、Code 128はA、B、Cの3つの文字セットを使用し、それらを切り替えることでデータを効率的にエンコードします。 IronBarcodeはCode128GS1Parser.GetEncodingInfoメソッドを提供し、与えられた入力文字列にどの文字セットが使用されているかを分析します。
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
Imports System
' Analyze Code 128 encoding segments
Dim result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF")
Console.WriteLine(result.CharacterSetSummary) ' "B → C → B"
Console.WriteLine(result.TotalSymbols) ' 14
Console.WriteLine(result.IsGS1) ' False
For Each segment In result.Segments
Console.WriteLine($"{segment.CharacterSetName}: ""{segment.Data}"" ({segment.SymbolCount} symbols)")
Next
' Output:
' Code B: "ABC" (3 symbols)
' Code C: "123456" (3 symbols)
' Code B: "DEF" (3 symbols)
このメソッドは、エンコーディングセグメントの内訳を含む Code128EncodingInfo オブジェクトを返します。 この例では、エンコーダは文字にはコードBを使用し、数字のペアにはコードC(数字を表す最もコンパクトな符号化方式)を使用し、残りの文字には再びコードBを使用します。 CODE-42430--@@@カウントには、開始記号、データ記号、コードスイッチ、チェックデジット、停止記号が含まれます。
結論
結論として、この記事ではIronBarcodeライブラリを使用してC#でCode 128バーコードジェネレーターを作成する方法を示しました。 IronBarcodeの機能を活用することで、開発者は在庫管理、製品ラベル付け、出荷を含むさまざまなアプリケーションのためにCode 128バーコードを容易に生成、カスタマイズおよびスタイル設定できます。 このチュートリアルに従うことで、開発者はC#プロジェクトに強力なバーコード機能を組み込み、バーコード生成およびデコーダーに関連するタスクの効率的な処理を向上させることができます。 IronBarcodeの多様性と直感的なAPIは、バーコード実装を含むアプリケーションに取り組む開発者にとって貴重なツールです。
IronBarcodeライブラリでCode 128バーコードを生成する過程で、開発者はコードセット選択キャラクターをカスタマイズする柔軟性を持ち、さまざまなASCII値を持つデータの最適なエンコーディングを保証します。 レンダリングコードは、好みの画像フォーマットにシームレスに適応し、開発者にJPEGまたは他のフォーマットでバーコードを保存する選択肢を提供します。 さらに、ストップキャラクターの追加により、生成されたバーコード内のエンコードされた情報の正確な終了が保証されます。
IronBarcodeは無料トライアルを提供しており、開発のニーズに合わせてライブラリの完全な可能性を引き出すことができます。 このアプローチにより、開発者は商用ライセンスを取得する前にIronBarcodeの機能を評価できます。
よくある質問
C#でCode 128バーコードを生成するにはどうすればいいですか?
C#でCode 128バーコードを生成するには、IronBarcodeライブラリのBarcodeWriter.CreateBarcodeメソッドを使用し、希望の入力文字列とCode 128をエンコーディングタイプとして指定します。その後、SaveAsJpegなどのメソッドを使用して生成されたバーコード画像をエクスポートできます。
Code 128は何に使用されますか?
Code 128は、コンパクトなバーコード形式でアルファベットデータと特殊文字をエンコードするために使用されます。在庫管理、製品ラベル、出荷アプリケーションに最適で、高いデータ密度と汎用性を備えています。
IronBarcodeを使ってバーコードの外観をカスタマイズできますか?
はい、IronBarcodeを使用して、ChangeBackgroundColorおよびChangeBarCodeColorで色を変更し、ResizeToメソッドを使用してサイズ変更することで、バーコードの外観をカスタマイズできます。
C#でバーコードを読み取るにはどうすればいいですか?
C#でバーコードを読み取るには、IronBarcodeライブラリのBarcodeReader.Readメソッドを使用します。このメソッドは、バーコードを含む画像ファイルを処理し、さらなる処理のためにデコードされた値を返します。
バーコード生成にIronBarcodeライブラリを使用する利点は何ですか?
IronBarcodeライブラリは、ユーザーフレンドリーなAPIを提供し、さまざまなバーコードエンコードをサポートし、自動チェックサム計算を提供し、複数の形式で画像をエクスポートできるため、バーコード生成とカスタマイズのための柔軟で効率的なツールです。
IronBarcodeがエクスポートできる画像形式は何ですか?
IronBarcodeは、JPEGなどの様々な形式でバーコード画像をエクスポート可能です。
購入前にIronBarcodeの試用が可能ですか?
はい、IronBarcodeの無料試用版を活用して、機能を試すことができます。C#プロジェクトへの統合も確認できます。



