C#で Code 39 BarCode を迅速かつ簡単に読み取る
IronBarcode は、BarcodeEncoding.Code39 を指定した BarcodeReaderOptions クラスを使用し、必要に応じて完全な ASCII 文字サポートのために UseCode39ExtendedMode を有効にすることで、C# での標準および拡張 Code 39 バーコードの両方の読み取りを簡素化します。
Code 39 は、在庫管理、物流、および産業用アプリケーションで広く使用されている汎用バーコード形式です。 Code 39 バーコードは長さを変えることができるため、さまざまな使用ケースに柔軟に対応できます。
オリジナルの標準コード39は、大文字(A-Z)、数字(0-9)、およびいくつかの特殊文字(スペース、-、$、+、%、.)をエンコードします。 これは基本的なIDには有効ですが、最近のアプリケーションでは128のASCII文字すべてをエンコードする必要があることがよくあります。 Code 39 Extended 仕様はこのニーズに対応します。
このガイドでは、IronBarcodeを使用した標準および拡張Code 39の読み取り方法を説明します。 在庫管理システムの構築、出荷の追跡、産業用バーコードの処理など、IronBarcodeは信頼性の高いCode 39読み取り機能を提供します。 バーコード読み取り機能の完全な概要については、総合バーコードクイックスタートガイドをご覧ください。
クイックスタート: C# で Code 39 バーコードを読み取る
IronBarcode の BarcodeReader を使用して、1 行のコードで画像から Code 39 バーコードをデコードします。 エンコードタイプを指定し、画像を渡し、結果を読んでください。
-
IronBarcode をNuGetパッケージマネージャでインストール
PM > Install-Package BarCode -
このコード スニペットをコピーして実行します。
IronBarCode.BarcodeReader.Read("code39.png", new IronBarCode.BarcodeReaderOptions { ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.Code39 }).First().ToString(); -
実際の環境でテストするためにデプロイする
今日プロジェクトで IronBarcode を使い始めましょう無料トライアル
C#でCode 39バーコードを読み取る方法
- Code39バーコードを読み取るためのBarCode C#ライブラリをダウンロードする。
- 新しい`BarcodeReaderOptions`を初期化する
- オプションで`BarcodeEncoding.Code39`を指定してください。
- `Read`でCode 39バーコードを読む
- 結果を検証し、コンソールに出力する。
標準コード 39 バーコードを読むにはどうすればよいですか?
IronBarcodeでCode 39バーコードを読むのは簡単です。 まず、新しい BarcodeReaderOptions を初期化し、バーコード タイプを BarcodeEncoding.Code39 として指定します。 これは、どのような BarCode フォーマットを探すべきかを正確に伝えることで、リーダーを最適化します。
次に、バーコード イメージとオプションをパラメーターとして渡して、Read メソッドを使用してバーコードを読み取ります。 次に、結果コレクションを繰り返し処理し、各 BarCode の文字列値をコンソールに出力します。 より高度な設定については、BarCodeリーダー設定の詳細ガイドをご覧ください。
標準コード 39 バーコードはどのように見えますか?
この画像には標準の Code 39 バーコードが含まれています。 バーコードが、エンコードされた値をバーと人間が読めるテキストの両方で表示していることに注目してください。 この二重表現は、産業および物流アプリケーションにおけるCode 39バーコードの典型です。
標準コード 39 を読むにはどのコードが必要ですか?
:path=/static-assets/barcode/content-code-examples/how-to/read-code39-barcode.cs
using IronBarCode;
using System;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Tell the reader to only look for Code 39.
ExpectBarcodeTypes = BarcodeEncoding.Code39
};
// Read barcode(s) from the image file using the specified options
var results = BarcodeReader.Read("code39.png", options);
// Loop through each BarcodeResult found in the image
foreach (var result in results)
{
// Print the decoded string value of the standard Code 39 barcode
Console.WriteLine(result.ToString());
}
Imports IronBarCode
Imports System
Dim options As New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = BarcodeEncoding.Code39
}
' Read barcode(s) from the image file using the specified options
Dim results = BarcodeReader.Read("code39.png", options)
' Loop through each BarcodeResult found in the image
For Each result In results
' Print the decoded string value of the standard Code 39 barcode
Console.WriteLine(result.ToString())
Next
予想される BarCode タイプを指定することで、読み取り性能が大幅に向上します。 IronBarcodeは他のバーコード形式を探す時間を無駄にしないので、特に大きな画像セットのバッチ処理に役立ちます。 バーコード読み取りパフォーマンスの最適化については、読み取り速度オプションガイドをご覧ください。
どのようなアウトプットを期待すればよいですか?
コンソール出力は、Code 39バーコードから正常にデコードされた値"ABC-1234"を示しています。 終了コード0は、エラーなしで正常に実行されたことを確認します。 本番アプリケーションでは、BarCodeが認識されない場合の適切なエラー処理を実装してください。 問題が発生した場合は、troubleshooting guide for unrecognized barcodes をご覧ください。
拡張コード 39 バーコードを読むにはどうすればよいですか?
拡張 Code 39 バーコードの読み取りは、標準 Code 39 と同様のプロセスに従います。主な違いは、UseCode39ExtendedMode プロパティを true に設定することです。
この設定により、IronBarcodeは特殊文字のペア(例:+T、%O)を解釈し、完全ASCIIの等価文字(例:t、!) 拡張コード39は、標準セット以外の文字を表すために2文字のシーケンスを使用します。 このため、BarCodeは若干長くなりますが、小文字、追加の句読点、および制御文字のエンコードが可能になります。
拡張コード 39 はいつ使用すべきですか?
拡張コード39は、アプリケーションがエンコードする必要がある場合に最適です:
- 大文字と小文字の混在したテキスト
- のような特殊文字、#、&、!、?
- データ伝送用制御文字
- 完全なASCII文字セットのサポート
一般的なアプリケーションには、医療システム、文書追跡、リッチデータエンコーディングを必要とする高度な在庫管理などがあります。
拡張コード 39 バーコードはどのように見えますか?
この画像には拡張コード 39 バーコードが含まれています。 値 Test-Data! には小文字と感嘆符が含まれており、これらは完全な ASCII セットでのみ使用可能であり、拡張モードが必要です。
拡張コード 39 にはどのようなコードが必要ですか?
:path=/static-assets/barcode/content-code-examples/how-to/read-extended-code39-barcode.cs
using IronBarCode;
using System;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Enable extended Code 39 mode
UseCode39ExtendedMode = true,
// Specify that we are expecting Code 39 barcodes
ExpectBarcodeTypes = BarcodeEncoding.Code39
};
// Read barcode(s) from the extended code 39 image
var results = BarcodeReader.Read("code39extended.png", options);
// Loop through each BarcodeResult found in the image
foreach (var result in results)
{
// Print the fully decoded ASCII string (e.g., "Test-Data!")
Console.WriteLine(result.ToString());
}
Imports IronBarCode
Imports System
Dim options As New BarcodeReaderOptions() With {
.UseCode39ExtendedMode = True,
.ExpectBarcodeTypes = BarcodeEncoding.Code39
}
' Read barcode(s) from the extended code 39 image
Dim results = BarcodeReader.Read("code39extended.png", options)
' Loop through each BarcodeResult found in the image
For Each result In results
' Print the fully decoded ASCII string (e.g., "Test-Data!")
Console.WriteLine(result.ToString())
Next
拡張モードではどのような出力が期待できますか?
高度なコード 39 読み取りテクニック
複数の BarCode を処理する
IronBarcodeは、1つの画像内の複数のCode 39バーコードを自動的に検出し、読み取ります。 Read メソッドは結果のコレクションを返すため、各バーコードを個別に処理できます。 シート状の BarCode や複雑なドキュメントを扱うアプリケーションについては、reading multiple barcodes のガイドを参照してください。
質の悪い画像への対処
Code 39 バーコードは、色あせた印刷物、斜めの角度、低解像度のスキャンなど、理想的でない状態で表示されることがあります。 IronBarcodeには、読み取り精度を大幅に向上させる強力な画像補正フィルターが含まれています:
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.Code39,
UseCode39ExtendedMode = true,
// Apply image correction filters
ImageFilters = new ImageFilterCollection() {
new SharpenFilter(),
new ContrastFilter(),
new BrightnessFilter()
}
};
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.Code39,
UseCode39ExtendedMode = true,
// Apply image correction filters
ImageFilters = new ImageFilterCollection() {
new SharpenFilter(),
new ContrastFilter(),
new BrightnessFilter()
}
};
Dim options As New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = BarcodeEncoding.Code39,
.UseCode39ExtendedMode = True,
.ImageFilters = New ImageFilterCollection() From {
New SharpenFilter(),
New ContrastFilter(),
New BrightnessFilter()
}
}
パフォーマンス最適化
大量の BarCode 読み取りアプリケーションについては、以下の最適化戦略を検討してください:
1.バーコードの種類を正確に指定する- 不要なスキャンを避けるために、常にExpectBarcodeTypesを設定します
2.適切な読み取り速度を使用する - ニーズに基づいて速度と精度のバランスをとる。
3.画像を並列処理する - バッチ処理にマルチスレッドを活用する
4.画像の前処理 - パフォーマンスを維持するために必要な場合のみ修正を適用する。
まとめ
IronBarcodeはC#でのCode 39バーコードの読み取りを、標準または拡張フォーマットを問わず簡素化します。 主な手順は以下のとおりです:
これらの基礎があれば、Code 39 バーコード読み取りを .NET アプリケーションに統合する準備が整います。 完全な API ドキュメントとその他の BarCode フォーマットについては、包括的な API リファレンスをご覧ください。 BarCode 39に特化した実践的な例については、専用のCode 39チュートリアルをご覧ください。
よくある質問
Code 39とは何ですか?
Code 39 は、在庫管理、物流、および産業用アプリケーションで広く使用されている汎用性の高いバーコード形式です。長さを変えることができるため、さまざまな使用ケースに柔軟に対応できます。標準のCode 39は、大文字(A-Z)、数字(0-9)、およびいくつかの特殊文字をエンコードしますが、Code 39 Extendedは128のASCII文字すべてをエンコードできます。IronBarcodeは、標準および拡張Code 39の両方を読み取るための信頼性の高い機能を提供します。
C# で標準の Code 39 バーコードを読み取るにはどうすればよいですか?
IronBarcodeでCode 39バーコードを読み取るには、まず新しいBarcodeReaderOptionsを初期化し、バーコードタイプをBarcodeEncoding.Code39として指定します。次にReadメソッドを使用し、バーコードイメージとオプションをパラメータとして渡します。最後に、各バーコードの文字列値にアクセスするために結果コレクションを繰り返し処理します。
標準のCode 39はどのような文字をエンコードできますか?
標準コード39は、大文字(A-Z)、数字(0-9)、およびスペース、ハイフン(-)、ドル記号($)、プラス記号(+)、パーセント(%)、ピリオド(.)などの特殊文字をエンコードします。128のASCII文字をすべてエンコードするには、Code 39 Extendedモードを使用する必要があります。IronBarcodeはUseCode39ExtendedModeオプションでサポートしています。
標準コード39と拡張コード39の違いは何ですか?
標準のCode 39は、大文字、数字、および少数の特殊文字に制限されており、基本的なIDには適しています。Code 39 Extendedは、128文字すべてのASCII文字をエンコードする最新のアプリケーションのニーズに対応します。IronBarcodeでは、BarcodeReaderOptionsクラスでUseCode39ExtendedModeを有効にしてASCII文字を完全にサポートすることで、両方のバリエーションの読み取りを簡素化しています。
Code 39 バーコードに人間が読めるテキストを含めることはできますか?
そう、Code 39 バーコードは通常、エンコードされた値をバーとして、またバーコードの下に人間が読めるテキストとして表示します。この二重表示は、産業や物流のアプリケーションでは一般的で、オペレータがバーコードの内容を確認しやすくなっています。IronBarcodeは、人間が読めるテキストがあるかどうかに関係なく、バーコードデータを読み取ることができます。

