複数の QR コードを 1 つの画像で Aspose.BarCode を使用してスキャンする方法 .NET

複数の QR コードを 1 つの画像で Aspose.BarCode を使用してスキャンする方法 .NET

この記事では、どのように 複数の QR コードをスキャンして解読する 図書館は、バッチ検出と抽出を可能にし、フォーム、チケット、レコードラベル、または複数のQRコードを同時に処理するための他の文書を簡単にします。.

現実世界問題

組織はしばしば、複数のQRコードを含む画像(スキャンされたフォーム、大規模なラベル、イベントパスなど)を受け取ったり、生成したりします。各コードの手動スキャンは遅く、実用性がありません。開発者は、一つの自動ステップでそのような画像からすべてのQRコードを処理するための迅速かつ信頼性の高い方法が必要です。.

解決策概要

Aspose.BarCode for .NET supports batch QR recognition: it can scan and decode all QR codes within a single image file or stream. The result is a collection of decoded objects, enabling high-throughput document automation, ticket validation, or data collection workflows.


原則

始める前に、あなたが持っていることを確認してください:

  1. Visual Studio 2019 またはその後の
  2. .NET 6.0 またはそれ以降(または .NET Framework 4.6.2+)
  3. Aspose.BarCode for .NET installed via NuGet
  4. C#の基本知識
PM> Install-Package Aspose.BarCode

ステップ・ステップ・実施

ステップ1:インストールして設定する Aspose.BarCode

Aspose.BarCode パッケージを追加し、必要な名称スペースを含む:

using Aspose.BarCode.BarCodeRecognition;

ステップ2:入力データの準備

複数の QR コードを含む画像ファイルを準備または取得する(例えば、「multi_qr_sample.png」)。.

string imagePath = "multi_qr_sample.png";

ステップ3:QRコードバッチ認証オプションを設定する

QR スキャンのためのバーコード リーダーを設定します. 追加のバッチ オプションは必要ありません: リーダーはすべての現在の QR コードを自動的に検出します。.

BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR);

ステップ4:バッチQRスキャンプロセスを実行

すべての認定QRコードを通じてイーテレート:

foreach (BarCodeResult result in reader.ReadBarCodes())
{
    Console.WriteLine($"Type: {result.CodeTypeName}");
    Console.WriteLine($"Text: {result.CodeText}");
}

ステップ5:出力と処理後の処理

アプリケーションに要求されるように、解読されたQRデータを保存、認証、または処理する(データベース入力、イベント認証など)。.


ステップ6:エラー処理の実施

using Aspose.BarCode.BarCodeRecognition;
using System;

class Program
{
    static void Main()
    {
        string imagePath = "QR_sample.png";
        try
        {
            using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
            {
                foreach (BarCodeResult result in reader.ReadBarCodes())
                {
                    Console.WriteLine($"Type: {result.CodeTypeName}");
                    Console.WriteLine($"Text: {result.CodeText}");
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
} 

完全例

using Aspose.BarCode.BarCodeRecognition;
using System;

class Program
{
    static void Main()
    {
        string imagePath = "multi_qr_sample.png";
        try
        {
            using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
            {
                foreach (BarCodeResult result in reader.ReadBarCodes())
            {
                Console.WriteLine($"Type: {result.CodeTypeName}");
                Console.WriteLine($"Text: {result.CodeText}");
            }
        }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
} 

ケースとアプリケーションの使用

  • チケット・パス・スキャン: イベントやトランジットステーションでのチェックインシステム
  • バッチドキュメント自動化: フォームやスキャンされたページからメタデータを抽出する
  • 資産管理と資産管理: 複数の QR コードを単一のラベルまたはクラートでスキャンする

共通の課題と解決策

課題1:QRコードが密接に結びついている 解決策: 各コードの周りに明確な静かなゾーンを使用して、印刷/配置デザイン。.

課題2:特定のQRコードが検出されていない 解決策: 画像解像度を高めたり、画像を事前に処理したり(例えば、範囲を設定したり)して明確性を向上させたりします。.

チャレンジ3:不必要なバーコードが存在する 解決策: QRに厳密に解読を制限する DecodeType.QR しかも。.


パフォーマンス考慮

  • 高パワーアプリケーションのためのストリームまたはメモリバッファーを使用する
  • 資源を保存するための読者オブジェクトの利用
  • 画像サイズを最適な速度と正確さのバランスに調整する

最良の実践

  1. 使用前に、各デコードの結果を確認する
  2. 追跡性と監査のための記録結果
  3. テストバッチスキャン 様々なサンプル画像
  4. ドキュメントの配置におけるQRコードの明確な分離を確保する

進歩的なシナリオ

1. Batch Scan QR Codes from a MemoryStream

using Aspose.BarCode.BarCodeRecognition;
using (FileStream fs = File.OpenRead("sample.png"))
using (BarCodeReader reader = new BarCodeReader(fs, DecodeType.QR))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine(result.CodeText);
    }
}

2. Process Results for Database Entry

using Aspose.BarCode.BarCodeRecognition;

List<string> qrData = new List<string>();
string imagePath = "sample.png"; // Use a valid test file path
using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        qrData.Add(result.CodeText);
    }
}
// Insert qrData into database as needed

結論

Aspose.BarCode for .NET を使用すると、単一の画像に存在するすべての QR コードを効率的にバッチでスキャンし、イベント管理、資産の追跡、またはドキュメントワークフローの高容量自動化を可能にします。.

詳細については、Aspose.BarCode を参照してください。 火の参考 .

 日本語