Kaip nuskaityti daugybę QR kodų viename paveikslėlyje naudojant Aspose.BarCode .NET

Kaip nuskaityti daugybę QR kodų viename paveikslėlyje naudojant Aspose.BarCode .NET

Šiame straipsnyje parodyta, kaip skenuoti ir dekoduoti kelius QR kodus, esančius viename paveikslėlyje** naudojant Aspose.BarCode .NET. Biblioteka leidžia atpažinti ir ištraukti rinkinį, todėl lengva apdoroti formas, bilietus, inventoriaus etiketę ar kitus dokumentus su keliais QR kodu vienu metu.

Realaus pasaulio problemos

Organizacijos dažnai gauna arba gamina vaizdus (skandinuotus formus, daugiafunkcinius etiketes, įvykių pasus ir tt), kurių sudėtyje yra keletas QR kodų. Kiekvieno kodo rankinis skenavimas yra lėtas ir nepraktiškas. kūrėjams reikia greito ir patikimo būdo apdoroti visus iš tokių vaizdų QR kódus vienu automatiniu žingsniu.

Sprendimo apžvalga

Aspose.BarCode .NET palaiko QR atpažinimą: jis gali nuskaityti ir dekoduoti visus QR kodus per vieną vaizdo failą ar srovę. Rezultatas yra iššifruotų objektų surinkimas, leidžiantis aukštos įtakos dokumentų automatizavimą, bilieto patvirtinimą arba duomenų rinkimo darbo srautus.

Prerequisites

Prieš pradėdami, įsitikinkite, kad turite:

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
  • Aspose.BarCode .NET įdiegtas per NuGet
  • Pagrindinės žinios apie C#
PM> Install-Package Aspose.BarCode

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: Įdiegti ir konfigūruoti Aspose.BarCode

Pridėkite Aspose.BarCode paketą ir įtraukite reikalingą pavadinimo erdvę:

using Aspose.BarCode.BarCodeRecognition;

2 žingsnis: paruoškite savo įvesties duomenis

Paruoškite arba gaukite vaizdo failą, kuriame yra keli QR kodai (pavyzdžiui, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

3 žingsnis: nustatykite QR kodo atpažinimo galimybes

Nustatykite žiedinio kodo skaitytuvą QR skenavimui. nereikia jokių papildomų batch variantų: skaitytojas automatiškai atpažįsta visus esamus QR kodus.

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

4 žingsnis: Atlikite „Batch QR“ skenavimo procesą

Iterate per visus pripažintus QR kodus:

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

5 žingsnis: išleidimo ir po apdorojimo tvarkymas

Išsaugoti, patvirtinti arba apdoroti iššifruotus QR duomenis, kaip reikalauja jūsų paraiška (duomenų bazės įvadas, įvykio patvirtinimas ir tt).

6 žingsnis: klaidų tvarkymas

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}");
}

Išsamus pavyzdys

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}");
        }
    }
} 

Naudokite atvejus ir paraiškas

  • Bulk bilietų arba pasų skenavimas: Check-in sistemos renginiuose ar tranzito stotyse
  • Batch dokumentų automatizavimas: Iš formų ar skanintų puslapių ištraukti metaduomenis
  • Inventoriaus ir turto valdymas: Skanuokite keletą QR kodų vienoje etiketėje arba pjaustytuve

Bendrieji iššūkiai ir sprendimai

  • 1 iššūkis: QR kodai yra per arti vieni kitiems*Sprendimas yra: Naudokite aiškias ramias zonas aplink kiekvieną kodą spausdinimo / išdėstymo dizaino.

  • 2 iššūkis: kai kurie QR kodai nebuvo aptikti**Sprendimas yra: Padidinkite vaizdo rezoliuciją arba iš anksto apdoroti vaizdą (pavyzdžiui, ribas), kad pagerintumėte aiškumą.

3 iššūkis: nepageidaujami kodai yraSprendimas yra: Apribokite dekodavimą griežtai QR naudojant DecodeType.QR Ir tik.

Veiksmingumo apžvalgos

  • Naudokite srautus arba atminties buferus aukštos įtakos programoms
  • Turėti skaitytojų objektus išsaugoti išteklius
  • Vaizdo dydžio koregavimas geriausiam greičio ir tikslumo pusiausvyrui

Geriausios praktikos

  • Įvertinkite kiekvieną iššifruotą rezultatą prieš naudojant
  • Registracijos rezultatai atsekamumui ir auditui
  • Bandymo batch skenavimas su įvairiais pavyzdžių vaizdais
  • Užtikrinti aiškią QR kodų atskyrimą dokumentų išdėstymo

Išplėstiniai scenarijai

1. batch skenavimas QR kodai iš 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);
    }
}

Proceso rezultatai duomenų bazės įvedimui

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

Conclusion

Naudodami „Aspose.BarCode“ .NET, galite efektyviai išbandyti visus QR kodus, esančius viename paveikslėlyje, suteikiant didelio tūrio automatizavimą renginių valdymo, turto sekimo ar dokumentų darbo srautų srityje.

Norėdami gauti daugiau informacijos, žr Aspose.BarCode Apyrankės nuoroda .

 Lietuvių