Як сканувати кілька 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 .