C#で Code 39 BarCode を迅速かつ簡単に読み取る。

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

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読み取り機能を提供します。 バーコード読み取り機能の完全な概要については、総合バーコードクイックスタートガイドをご覧ください。

IronBarcodeを使い始める

今日あなたのプロジェクトでIronBarcodeを無料トライアルで使用開始。

最初のステップ:
green arrow pointer


クイックスタート: C#でCode 39 Barcodesを読む


標準コード 39 バーコードを読むにはどうすればよいですか?

IronBarcodeでCode 39バーコードを読むのは簡単です。 まず、新しいBarcodeReaderOptionsを初期化し、バーコードタイプをBarcodeEncoding.Code39として指定します。 これは、どのような BarCode フォーマットを探すべきかを正確に伝えることで、リーダーを最適化します。

次に、Readメソッドを使用してバーコードを読み取り、バーコード画像とオプションをパラメータとして渡します。 次に、結果コレクションを繰り返し処理し、各 BarCode の文字列値をコンソールに出力します。 より高度な設定については、BarCodeリーダー設定の詳細ガイドをご覧ください。

標準コード 39 バーコードはどのように見えますか?

この画像には標準の Code 39 バーコードが含まれています。 バーコードが、エンコードされた値をバーと人間が読めるテキストの両方で表示していることに注目してください。 この二重表現は、産業および物流アプリケーションにおけるCode 39バーコードの典型です。

コード39バーコードのエンコーディング.

標準コード 39 を読むにはどのコードが必要ですか?

```cs :title=Standard Code 39 BarCodeの読み取り / :path=/static-assets/barCode/content-code-examples/how-to/read-code39-barcode.cs / IronBarcodeを使用しています; システムを使用しています;

BarcodeReaderOptions options = new BarcodeReaderOptions() { // 読者には、Code 39だけを探すように伝えてください。 ExpectBarcodeTypes = BarcodeEncoding.Code39 };

// 指定されたオプションを使用して、画像ファイルから BarCode を読み取ります。 var results = BarcodeReader.Read("code39.png", options);

// 画像で見つかった各 BarcodeResult をループします。 foreach (var result in results) { // 標準の Code 39 バーコードのデコードされた文字列値を印刷する。 Console.WriteLine(result.ToString()); }


予想される BarCode タイプを指定することで、読み取り性能が大幅に向上します。 IronBarcodeは他のバーコード形式を探す時間を無駄にしないので、特に大きな画像セットのバッチ処理に役立ちます。 バーコード読み取りパフォーマンスの最適化については、[読み取り速度オプションガイド](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/)をご覧ください。

### どのようなアウトプットを期待すればよいですか?

<div class="content-img-align-center">
    <div class="center-image-wrapper" style="width=50%">
         <img src="/static-assets/barcode/how-to/read-code39-barcodes/standard-output.webp" alt="Visual Studioのコンソールで、Code 39バーコードの読み取り出力(デコード値ABC-1234、終了コード0)を表示" barcode class="img-responsive add-shadow">。
    </div>
</div>

コンソール出力は、Code 39バーコードから正常にデコードされた値"ABC-1234"を示しています。 終了コード0は、エラーなしで正常に実行されたことを確認します。 本番アプリケーションでは、BarCodeが認識されない場合の適切なエラー処理を実装してください。 問題が発生した場合は、[troubleshooting guide for unrecognized barcodes](https://ironsoftware.com/csharp/barcode/troubleshooting/barcode-not-recognized/) をご覧ください。

<hr>

## 拡張コード 39 バーコードを読むにはどうすればよいですか?

拡張Code 39バーコードの読み取りは、標準Code 39と同様のプロセスに従います。主な違いは、`UseCode39ExtendedMode` プロパティを true に設定することです。

この設定により、IronBarcodeは特殊文字のペア(例:+T、%O)を解釈し、完全ASCIIの等価文字(例:t、!) 拡張コード39は、標準セット以外の文字を表すために2文字のシーケンスを使用します。 このため、BarCodeは若干長くなりますが、小文字、追加の句読点、および制御文字のエンコードが可能になります。

### 拡張コード 39 はいつ使用すべきですか?

拡張コード39は、アプリケーションがエンコードする必要がある場合に最適です:
- 大文字と小文字の混在したテキスト
- のような特殊文字、#、&、!、?
- データ伝送用制御文字
- 完全なASCII文字セットのサポート

一般的なアプリケーションには、医療システム、文書追跡、リッチデータエンコーディングを必要とする高度な在庫管理などがあります。

### 拡張コード 39 バーコードはどのように見えますか?

この画像には拡張コード 39 バーコードが含まれています。 値`Test-Data!`には小文字と感嘆符が含まれており、これらは完全な ASCII セットでのみ使用可能であり、拡張モードが必要です。

<div class="content-img-align-center">
    <div class="center-image-wrapper" style="width=50%">
         <img src="/static-assets/barcode/how-to/read-code39-barcodes/code39extended.webp" alt="エンコードされたデータを示す拡張コード39バーコードで、バーの下にデコードされた出力として"Test-Data!
    </div>
</div>

### 拡張コード 39 にはどのようなコードが必要ですか?

```cs
:path=/static-assets/barcode/content-code-examples/how-to/read-extended-code39-barcode.cs

拡張モードではどのような出力が期待できますか?

拡張コード 39 バーコード読み取りアプリケーションからの

ヒント コンソール出力にすべての ASCII 文字が正しく表示されない場合があります。 このようなシナリオでは、出力を .txt ファイルにパイプして、抽出された結果を確認してください。

高度なコード 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()
    }
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

パフォーマンス最適化

大量の BarCode 読み取りアプリケーションについては、以下の最適化戦略を検討してください:

1.正確なバーコードタイプを指定する - 不要なスキャンを避けるために、常にExpectBarcodeTypesを設定してください。 2.適切な読み取り速度を使用する - ニーズに基づいて速度と精度のバランスをとる。 3.画像を並列処理する - バッチ処理にマルチスレッドを活用する 4.画像の前処理 - パフォーマンスを維持するために必要な場合のみ修正を適用する。

まとめ

IronBarcodeはC#でのCode 39バーコードの読み取りを、標準または拡張フォーマットを問わず簡素化します。 主な手順は以下のとおりです:

1.BarcodeReaderOptionsインスタンスを作成します。 2.ExpectBarcodeTypesBarcodeEncoding.Code39に設定します。 3.必要に応じて、UseCode39ExtendedModeを有効にして、ASCIIをフルサポートします。 4.画像を処理するには、Readメソッドを使用してください。

これらの基礎があれば、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は、人間が読めるテキストがあるかどうかに関係なく、バーコードデータを読み取ることができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 2,002,059 | バージョン: 2025.12 リリース