چگونه چندین کد QR را در یک تصویر با استفاده از Aspose.BarCode برای .NET اسکن کنیم
این مقاله نشان می دهد که چگونه اسکن و رمزگذاری چندین کد QR موجود در یک تصویر با استفاده از Aspose.BarCode برای .NET. کتابخانه اجازه می دهد تا شناسایی و استخراج بسته، آن را آسان برای پردازش فرم ها، بلیط ها، برچسب های ذخیره سازی، و یا سایر اسناد با چندین کد 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;مرحله دوم: اطلاعات ورودی خود را آماده کنید
آماده سازی یا دریافت یک فایل تصویر حاوی چندین کد QR (به عنوان مثال، “multi_qr_sample.png”).
string imagePath = "multi_qr_sample.png";مرحله 3: تنظیم گزینه های شناسایی کد QR
برای اسکن QR، خواننده نوار را تنظیم کنید.هیچ گزینه اضافی برای بسته بندی مورد نیاز نیست: خواننده به طور خودکار تمام کدهای موجود QR را تشخیص می دهد.
BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR);مرحله چهارم: انجام فرآیند اسکن QR
از طریق تمام کد های QR شناخته شده:
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine($"Type: {result.CodeTypeName}");
Console.WriteLine($"Text: {result.CodeText}");
}مرحله 5: مدیریت خروجی و پس از پردازش
ذخیره، تأیید، و یا پردازش داده های QR رمزگذاری شده به عنوان مورد نیاز توسط برنامه شما (درآمد پایگاه داده، تأیید رویداد، و غیره).
مرحله ششم: راه حل اشتباهات
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}");
}
}
} استفاده از موارد و برنامه ها
- بلیط یا پاسپورت اسکن: سیستم های چک در رویدادهای یا ایستگاه های ترانزیت
- اتوماسیون اسناد Batch : استخراج متا داده ها از فرم ها یا صفحات اسکن شده
- مدیریت دارایی و سرمایه گذاری: اسکن چندین کد QR بر روی یک برچسب یا کرات
چالش ها و راه حل های مشترک
چالش اول: کدهای QR خیلی نزدیک هستند راه حل : از مناطق آرام و روشن در اطراف هر کد در طراحی چاپ/ترتیب استفاده کنید.
چالش ۲: برخی از کدهای 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 برای .NET، شما می توانید به طور موثر تمام کدهای QR موجود در یک تصویر، قدرت اتوماسیون حجم بالا در مدیریت رویداد، ردیابی دارایی، و یا جریان های کار اسناد را اسکن کنید.
برای جزئیات بیشتر، به Aspose.BarCode مراجعه کنید. آتش نشانی .