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

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

IronBarcodeを使用すると、標準および拡張Code 39バーコードの読み取りがC#で簡単になります。UseCode39ExtendedModeを有効にします。

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バーコードをデコードします。 エンコードタイプを指定し、画像を渡し、結果を読んでください。

  1. IronBarcode をNuGetパッケージマネージャでインストール

    PM > Install-Package BarCode
  2. このコード スニペットをコピーして実行します。

    IronBarCode.BarcodeReader.Read("code39.png", new IronBarCode.BarcodeReaderOptions { ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.Code39 }).First().ToString();
  3. 実際の環境でテストするためにデプロイする

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

    arrow pointer

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

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

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

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

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

コード39バーコードのエンコーディング"ABC-1234"。

標準コード 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
$vbLabelText   $csharpLabel

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

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

デコードされた値ABC-1234と終了コード0を持つCode 39バーコード読み取り出力を示すVisual Studioコンソール

コンソール出力は、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セットでのみ利用可能で、拡張モードが必要です。

エンコードされたデータを示す拡張Code 39バーコードと、バーの下にデコードされた出力として表示される"Test-Data!

拡張コード 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
$vbLabelText   $csharpLabel

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

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

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

高度なコード 39 読み取りテクニック

複数の BarCode を処理する

IronBarcodeは、1つの画像内の複数のCode 39バーコードを自動的に検出し、読み取ります。 Readメソッドは結果のコレクションを返し、それぞれのバーコードを個別に処理できます。 シート状の BarCode や複雑なドキュメントを扱うアプリケーションについては、reading multiple barcodes のガイドを参照してください。

質の悪い画像への対処

Code 39 バーコードは、色あせた印刷物、斜めの角度、低解像度のスキャンなど、理想的でない状態で表示されることがあります。 IronBarcodeには、読み取り精度を大幅に向上させる強力な画像補正フィルターが含まれています:

:path=/static-assets/barcode/content-code-examples/how-to/read-code39-barcodes-4.cs
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code39,
    UseCode39ExtendedMode = true,
    
    // Apply image correction filters
    ImageFilters = new ImageFilterCollection() {
        new SharpenFilter(),
        new ContrastFilter(),
        new BrightnessFilter()
    }
};
Imports System

Dim options As New BarcodeReaderOptions() With {
    .ExpectBarcodeTypes = BarcodeEncoding.Code39,
    .UseCode39ExtendedMode = True,
    
    ' Apply image correction filters
    .ImageFilters = New ImageFilterCollection() From {
        New SharpenFilter(),
        New ContrastFilter(),
        New BrightnessFilter()
    }
}
$vbLabelText   $csharpLabel

パフォーマンス最適化

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

IronBarcodeをバーコード操作に使用するメリットは何ですか?

IronBarcodeは、統合の容易さ、多数のバーコード形式サポート、高品質の画像生成、強力な読み取り能力などのメリットを提供し、C#での総合的なバーコード操作ツールとなります。

IronBarcodeはバーコードの外観カスタマイズをサポートしていますか?

はい、IronBarcodeはカラー、サイズ、テキスト注釈を含むバーコードの外観に関する詳細なカスタマイズオプションを提供し、特定のデザイン要件に合わせて調整が可能です。

IronBarcodeはビジネスプロセスの効率向上にどのように役立ちますか?

IronBarcodeは迅速かつ正確なバーコード生成と読み取りを可能にし、手動データ入力エラーの減少、在庫および資産追跡の改善などにより、ビジネスプロセスの効率を向上させます。

プロジェクトにIronBarcodeを実装するために必要なプログラミングスキルは何ですか?

IronBarcodeをプロジェクトに実装するためには、C#プログラミングの基本的な知識があれば十分で、開発者をガイドするための簡単なメソッドと包括的なドキュメントが提供されています。

IronBarcodeは小規模プロジェクトと大規模エンタープライズアプリケーションの両方に適していますか?

IronBarcodeはスケーラブルかつ多用途に設計されており、小規模プロジェクトおよび強力なバーコードソリューションを必要とする大規模エンタープライズアプリケーションの両方に適しています。

Curtis Chau
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 2,331,688 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package BarCode
サンプルを実行する 文字列が BarCode になるのを見る。