Як сканувати кілька 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. Немає необхідності додаткових варіантів обробки: читача автоматично виявляє всі існуючі QR коди.

BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR);

Крок 4: Виконайте процес сканування Batch 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}");
        }
    }
} 

Використання випадків та додатків

  • Bulk Ticket or Pass Scanning: Системи входу на заходах або транзитних станціях
  • Batch Document Automation: Витяг метадатів з форм або сканованих сторінок
  • Inventory and Asset Management: Сканувати кілька 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 .

 Українська