Как да сканирате множество 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;

Стъпка 2: Подгответе данните си за вход

Подгответе или получите файл с изображение, съдържащ няколко QR кода (например, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

Стъпка 3: Конфигуриране на опциите за разпознаване на 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: Използване на грешки

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 кодовете са твърде близки заедноРешението е: Използвайте ясни тихи зони около всеки код в дизайна за печат / оформление.

Предизвикателство 2: Някои QR кодове не са откритиРешението е: Увеличете резолюцията на изображението или предварително обработете изображенията (напр. праг) за подобряване на яснотата.

Предизвикателство 3: Нежелани баркодове са наличниРешението е: Ограничете декодирането строго към QR, като използвате DecodeType.QR И само.

Преглед на изпълнението

  • Използвайте потоци или буфери за памет за приложения с висок пропуск
  • Създаване на обекти за четене, за да се запазят ресурси
  • Настройване на размера на изображението за най-доброто равновесие на скоростта и точността

Най-добрите практики

  • Валидиране на всеки декодиран резултат преди да използвате
  • Регистриране на резултатите за проследяване и одитиране
  • Скениране на теста с разнообразие от образци
  • Осигуряване на ясно разделяне на QR кодове в оформлението на документа

Разширени сценарии

Скениране на 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);
    }
}

Резултати от процеса за вход в база данни

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 .

 Български