複数の 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.
原則
始める前に、あなたが持っていることを確認してください:
- Visual Studio 2019 またはその後の
- .NET 6.0 またはそれ以降(または .NET Framework 4.6.2+)
- Aspose.BarCode for .NET installed via NuGet
- 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 しかも。.
パフォーマンス考慮
- 高パワーアプリケーションのためのストリームまたはメモリバッファーを使用する
- 資源を保存するための読者オブジェクトの利用
- 画像サイズを最適な速度と正確さのバランスに調整する
最良の実践
- 使用前に、各デコードの結果を確認する
- 追跡性と監査のための記録結果
- テストバッチスキャン 様々なサンプル画像
- ドキュメントの配置における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 を参照してください。 火の参考 .