Како скенирати више КР кодова у једној слици користећи Аппосе.Баркод за .НЕТ

Како скенирати више КР кодова у једној слици користећи Аппосе.Баркод за .НЕТ

Овај чланак показује како да скенирате и декодирате више КР кодова присутних у једној слици користећи Аппосе.БарЦод за .НЕТ. Библиотека омогућава откривање и екстракцију бацх-а, чинећи лако обраду обрасца, карте, етикета за складиштење или других докумената са неколико КРС-кодова одједном.

Реал светски проблем

Организације често добијају или генеришу слике (сканирани обрасци, масовне етикете, пролазе догађаја, итд.) са неколико КР кодова. ручно скенирање сваког кода је споро и непрактично.

Преглед решења

Aspose.BarCode for .NET подржава баццх КР препознавање: може скенирати и декодирати све ЦР кодове унутар једне слике датотеке или струје. Резултат је сакупљање декодираних објеката, омогућавајући аутоматизацију високог брзине докумената, валидацију билет, или радних токова прикупљања података.

Принципи

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

  • Visual Studio 2019 или касније
  • .NET 6.0 или новији (или .Net Framework 4.6.2+)
  • Aspose.BarCode за .NET инсталиран преко NuGet
  • Основне знања о Ц #
PM> Install-Package Aspose.BarCode

Корак по корак спровођење

Корак 1: Инсталирајте и конфигуришете Aspose.BarCode

Додајте пакету Aspose.BarCode и укључите захтеван именован простор:

using Aspose.BarCode.BarCodeRecognition;

Корак 2: Припремите своје уносне податке

Припремите или добијте датотеку слике која садржи више КР кодова (на пример, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

Корак 3: Конфигурисање опција за препознавање КР кода

Поставите читач баркода за скенирање КР. Нема потребе за додатним опцијама за баццх: читалац аутоматски открива све постојеће ЦР кодове.

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

Корак 4: Извршите процес баццх КР скенирања

Итерате кроз све препознате КР кодове:

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

Корак 5: Управљање излазом и пост-прерадом

Складиштење, валидација или обрада декодисаних КР података као што је захтевано од стране ваше апликације (увод у базу подаци, потврда догађаја, итд.).

Корак 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: Екстрактирајте метадане из обрасца или скенираних страница
  • Инвентаризација и менаџмент имовине: Скенирање више КР кодова на једној етикету или крату

Заједнички изазови и решења

Проблем 1: КР кодови су превише близу заједноРешење : Користите јасне тихе зоне око сваког кода у дизајну штампања / распореда.

Проблем 2: Неки КР кодови нису откривениРешење : Повећати резолуцију слике, или препроцесирати слику (на пример, трајање) како би се побољшала јасноћа.

Проблем 3: Нежељени баркоди су присутниРешење : Ограничите декодирање строго на КР користећи DecodeType.QR Само је.

Размишљање о перформанси

  • Користите струје или буфере меморије за апликације високе брзине
  • Доступност објеката за читање како би се сачували ресурси
  • Прилагодите величину слике за најбољу равнотежу брзине и тачности

Најбоља пракса

  • Проверите сваки декодиран резултат пре употребе
  • Резултати регистрације за праћеност и ревизију
  • Тест бацх скенирање са различитим обрасцима узорка
  • Обезбедити јасно одвајање КР кодова у распореду документа

Напредни сценарио

Батцх скенирање КР кодова из меморијске струје

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, можете ефикасно скенирати све КР кодове који се налазе у једној слици, омогућавајући аутоматизацију високог волумена у управљању догађајима, праћењу имовине или протоцима рада докумената.

За више детаља, погледајте Aspose.BarCode АПИ Референце .

 Српски