Как да сканирате няколко QR кода в едно изображение с помощта на Aspose.BarCode за .NET

Как да сканирате няколко 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.


Предупреждения

Преди да започнете, уверете се, че имате:

  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 кодове.

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 за .NET можете ефективно да сканирате всички QR кодове, присъстващи в едно изображение, като се осигурява автоматизация с висок обем в управлението на събития, проследяването на активи или работните потоци на документи.

За повече подробности вижте Aspose.BarCode Огнено референтно .

 Български