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

2D Barcode Reader への導入

2D Barcode Reader for .NET は、開発者が画像から2D バーコードを読むことを可能にするプラグインです. このガイドでは、利用可能な機能の概要を提供し、一般的なタスクを実行する方法を説明します。

サポートされたバーコードタイプ

.NET の 2D バーコード リーダーは、以下の 2 D バックコド タイプをサポートします。

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

画像からバーコードを読む

To read a barcode from an image, you can use the BarCodeReader class. Here is an example of how to do this in C#:

using (BarCodeReader reader = new BarCodeReader("image.png"))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("Code Text: " + result.CodeText);
        Console.WriteLine("Symbology: " + result.CodeType);
    }
}

読書プロセスを調整する

あなたは、画像の質など、さまざまなオプションを設定することによって読書プロセスをカスタマイズすることができます。

using (BarCodeReader reader = new BarCodeReader("image.png"))
{
    reader.QualitySettings = QualitySettings.HighQuality;
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine("Code Text: " + result.CodeText);
        Console.WriteLine("Symbology: " + result.CodeType);
    }
}

誤りと例外の処理

.NET の 2D バーコード リーダーは、読書プロセス中にエラーが発生する場合に例外を投げ出します. あなたは試すブロックを使用してこれらの例を処理することができます. ここでは、C# でこれを行う方法の例です:

try
{
    using (BarCodeReader reader = new BarCodeReader("image.png"))
    {
        foreach (BarCodeResult result in reader.ReadBarCodes())
        {
            Console.WriteLine("Code Text: " + result.CodeText);
            Console.WriteLine("Symbology: " + result.CodeType);
        }
    }
}
catch (BarCodeRecognitionException ex)
{
    Console.WriteLine("Error: " + ex.Message);
}

最良の実践とパフォーマンス最適化

To optimize performance, it is recommended to use high-quality images and to set the QualitySettings property to HighPerformanceさらに、複数の脅威または並行処理を使用してパフォーマンスを向上させることができます。

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("Code Text: " + result.CodeText);
            Console.WriteLine("Symbology: " + result.CodeType);
        }
    }
});
 日本語