چگونگی اسکن چندین کد QR در یک تصویر با استفاده از Aspose.BarCode برای .NET

چگونگی اسکن چندین کد QR در یک تصویر با استفاده از Aspose.BarCode برای .NET

این مقاله نشان می دهد که چگونه ** اسکن و رمزگذاری چندین کد QR موجود در یک تصویر** با استفاده از Aspose.BarCode برای .NET. کتابخانه امکان تشخیص و استخراج بسته ها را فراهم می کند، به طوری که پردازش فرم ها، بلیط، برچسب های ذخیره سازی و یا سایر اسناد با چند کدهای QR به طور همزمان آسان است.

مشکل دنیای واقعی

سازمان ها اغلب تصاویر (فرم های اسکن شده، برچسب های جمعی، گذرهای رویداد، و غیره) را دریافت یا تولید می کنند که حاوی چندین کد QR است. اسکریپت دستی هر کد آهسته و بی عمل است . توسعه دهندگان نیاز به یک راه سریع و قابل اعتماد برای پردازش تمام کد های QR از این تصاویر در یک مرحله اتوماتیک دارند.

بررسی راه حل

Aspose.BarCode برای .NET از شناسایی QR پشتیبانی می کند: می تواند تمام کدهای QR را در یک فایل تصویر یا جریان واحد اسکن و رمزگذاری کند.نتایج مجموعه ای از اشیاء رمزنگاری شده است که به اتوماسیون اسناد با نمره بالا، اعتباربخشی بلیط یا فرآیندهای کار جمع آوری داده ها اجازه می دهد.

پیش شرط

قبل از شروع، مطمئن شوید که:

  • Visual Studio 2019 یا بالاتر
  • .NET 6.0 یا بالاتر (یا .Net Framework 4.6.2+)
  • Aspose.BarCode برای .NET نصب شده از طریق 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);

مرحله چهارم: فرآیند اسکن Batch QR را اجرا کنید

از طریق هر کد QR شناخته شده استفاده کنید:

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

مرحله 5: مدیریت خروجی و پس از پردازش

ذخیره، تأیید و یا پردازش داده های QR رمزگذاری شده به عنوان مورد نیاز توسط برنامه شما (درآمد پایگاه داده، تایید رویداد، و غیره).

مرحله ششم: راه حل اشتباهات

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 Document Automation: استخراج متا داده ها از فرم ها یا صفحات اسکن شده
  • مخازن و مدیریت دارایی: اسکن چندین کد QR بر روی یک برچسب یا کرات

چالش ها و راه حل های مشترک

چالش 1: کدهای QR بیش از حد نزدیک به یکدیگر هستندراه حل : از مناطق صلح آمیز روشن در اطراف هر کد در طراحی چاپ / طرح استفاده کنید.

تحدی ۲: برخی از کدهای QR شناسایی نشده استراه حل : رزولوشن تصویر را افزایش دهید یا تصویر (به عنوان مثال، محدوده) را پیش پردازش کنید تا روشنایی آن بهبود یابد.

چالش 3: بارکد های ناخواسته در دسترس هستندراه حل : محدود کردن رمزگذاری دقیق به QR با استفاده از DecodeType.QR فقط .

بررسی عملکرد

  • استفاده از جریان ها یا حافظه برای برنامه های پیشرفته
  • استفاده از اشیاء خواننده برای ذخیره منابع
  • تنظیم اندازه تصویر برای بهترین تعادل سرعت و دقت

بهترین شیوه‌ها

  • تایید هر نتیجه رمزگذاری شده قبل از استفاده
  • نتایج ثبت نام برای ردیابی و حسابرسی
  • آزمایش باچ اسکن با طیف وسیعی از تصاویر نمونه
  • اطمینان از جداسازی واضح کدهای QR در طرح اسناد

سناریوهای پیشرفته

1- اسکن کدهای QR از یک MemoryStream

using (FileStream fs = File.OpenRead(imagePath))
using (BarCodeReader reader = new BarCodeReader(fs, DecodeType.QR))
{
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
        Console.WriteLine(result.CodeText);
    }
}

2- نتایج فرآیند برای ورود به پایگاه داده

List<string> qrData = new List<string>();
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 مراجعه کنید. API ارجاع .

 فارسی