.NET用2Dバーコードリーダー

.NET用2Dバーコードリーダーの紹介

.NET用2Dバーコードリーダーは、開発者が画像から2Dバーコードを読み取ることを可能にするプラグインです。このガイドでは、利用できる機能の概要と、.NETでコード例を使用して一般的なタスクを実行する方法について説明します。

サポートされているバーコードタイプ

.NET用2Dバーコードリーダーは、以下の2Dバーコードタイプをサポートしています:

  • QRコード
  • データマトリックス
  • PDF417
  • アズテック

画像からのバーコード読み取り

画像からバーコードを読み取るには、BarCodeReaderクラスを使用できます。以下はC#でこれを行う例です:

using (BarCodeReader reader = new BarCodeReader("image.png"))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("コードテキスト: " + result.CodeText);
        Console.WriteLine("シンボロジー: " + result.CodeType);
    }
}

読み取りプロセスのカスタマイズ

読み取りプロセスをカスタマイズするには、画像品質などのさまざまなオプションを設定できます。以下はC#でこれを行う例です:

using (BarCodeReader reader = new BarCodeReader("image.png"))
{
    reader.QualitySettings = QualitySettings.HighQuality;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("コードテキスト: " + result.CodeText);
        Console.WriteLine("シンボロジー: " + result.CodeType);
    }
}

エラーと例外の処理

.NET用2Dバーコードリーダーは、読み取りプロセス中にエラーが発生した場合に例外をスローします。これらの例外は、try-catchブロックを使用して処理できます。以下はC#でこれを行う例です:

try
{
    using (BarCodeReader reader = new BarCodeReader("image.png"))
    {
        foreach (BarCodeResult result in reader.ReadBarCodes())
        {
            Console.WriteLine("コードテキスト: " + result.CodeText);
            Console.WriteLine("シンボロジー: " + result.CodeType);
        }
    }
}
catch (BarCodeRecognitionException ex)
{
    Console.WriteLine("エラー: " + ex.Message);
}

ベストプラクティスとパフォーマンスの最適化

パフォーマンスを最適化するには、高品質の画像を使用し、QualitySettingsプロパティをHighPerformanceに設定することが推奨されます。さらに、マルチスレッドまたは並列処理を使用してパフォーマンスを向上させることができます。以下はC#でこれを行う例です:

BarCodeReader.ProcessorSettings.UseAllCores = true;

Parallel.ForEach(Files.GetFiles("images"), file =>
{
    using (BarCodeReader reader = new BarCodeReader(file))
    {
        reader.QualitySettings = QualitySettings.HighPerformance;
        foreach (BarCodeResult result in reader.ReadBarCodes())
        {
            Console.WriteLine("コードテキスト: " + result.CodeText);
            Console.WriteLine("シンボロジー: " + result.CodeType);
        }
    }
});
 日本語