前回の記事では、さまざまな種類のバーコードをプログラムで生成する方法を学びました。この記事では、C#バーコードリーダーAPIを使用してバーコードを読み取る方法を学習します。この記事では、画像内の特定のタイプまたは異なるタイプのバーコードシンボルを読み取る方法についても説明します。
バーコードを読み取るためのC#API
Aspose.BarCode for .NETは、数行のコード内でさまざまなバーコードシンボルを読み取ることができる強力なバーコードスキャナーおよびリーダーAPIを提供します。 APIをダウンロードするか、NuGetを使用して.NETアプリケーション内にインストールできます。
PM> Install-Package Aspose.BarCode
C#を使用してバーコードを読み取る
以下は、画像ファイルから1Dまたは2Dバーコードを読み取る手順です。
- BarCodeReaderクラスのオブジェクトを作成し、画像のファイルパスを指定します。
- BarCodeResultクラスを使用して、BarCodeReader.ReadBarCodes()メソッドから認識結果をフェッチします。
- BarCodeResultオブジェクトからバーコードのタイプとテキストを取得します。
次のコードサンプルは、C#を使用してバーコードを読み取る方法を示しています。
try
{
// ディレクトリからファイルを読み取る
using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// シンボルタイプとコードテキストを読む
Console.WriteLine("Symbology Type: " + result.CodeType);
Console.WriteLine("CodeText: " + result.CodeText);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from https://www.aspose.com/purchase/default.aspx.");
}
C#で特定のバーコードシンボル体系を読む
読み込もうとしているバーコードの記号をすでに知っている場合があります。このような状況では、BarCodeReaderのオブジェクトにバーコードのタイプを指定できます。タイプを事前に知っていると、バーコード認識プロセスが高速化されます。次のコードサンプルは、バーコードのタイプを指定する方法を示しています。
try
{
// BarCodeReaderクラスのインスタンスを作成します
using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// コードテキストとシンボルタイプを表示します
Console.WriteLine("CodeText: " + result.CodeText);
Console.Write("Symbology Type: " + result.CodeType);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from http://wwww.aspose.com/purchase/default.aspx.");
}
1つの画像で複数のバーコードシンボルをスキャンする
特定のケースでは、1つの画像に複数のバーコードシンボルが配置されている場合があります。このような場合、一度にすべてのバーコードを認識するようにAPIを構成できます。以下は、1つの画像で複数のバーコードを読み取る手順です。
- BaseDecodeTypeの配列を作成して、バーコードシンボルのリストを含めます。
- BarCodeReaderクラスのオブジェクトを作成し、画像をロードします。
- BarCodeReader.ReadBarCodes()を使用してバーコードを読み取り、そのタイプとテキストを抽出します。
次のコードサンプルは、C#を使用して1つの画像で複数のバーコードシンボルを読み取る方法を示しています。
try
{
BaseDecodeType[] objArray = new BaseDecodeType[] { DecodeType.Code39Standard, DecodeType.Pdf417 };
// BarCodeReaderを初期化し、ループ内でRead()メソッドを呼び出し、コードテキストとシンボルタイプを表示します
using (BarCodeReader reader = new BarCodeReader("RecognizingMultipleSymbologies.png", objArray))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext: " + result.CodeText);
Console.WriteLine("Symbology type: " + result.CodeType);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from http://wwww.aspose.com/purchase/default.aspx.");
}
結論
この記事では、C#を使用してプログラムでバーコードを読み取る方法を学習しました。さらに、1つの画像で1つまたは複数のバーコードシンボルを読み取る方法を見てきました。 ドキュメントを使用して、C#バーコードリーダーAPIの詳細を学ぶことができます。