Kaip skenuoti kelius QR kodus viename paveikslėlyje naudojant Aspose.BarCode .NET

Kaip skenuoti kelius QR kodus viename paveikslėlyje naudojant Aspose.BarCode .NET

Šiame straipsnyje pateikiama informacija apie tai, kaip Skanyti ir dekoduoti keli QR kodai, esantys viename paveikslėlyje naudojant Aspose.BarCode .NET. biblioteka leidžia atpažinti ir išgauti batch, todėl lengva apdoroti formas, bilietus, inventorių etiketę ar kitus dokumentus su keliais QR kodais vienu metu.

Realaus pasaulio problema

Organizacijos dažnai gauna arba generuoja vaizdus (skandinuotus formus, daugiafunkcinius etiketės, įvykių pasus ir tt), kuriuose yra keletas QR kodų. Kiekvieno kodo rankiniu būdu skanavimas yra lėtas ir nepraktiškas.

Išvada sprendimo

Aspose.BarCode for .NET palaiko partijos QR atpažinimą: jis gali nuskaityti ir dekoduoti visus QR kodus viename paveikslėlio faile arba sraute. Rezultatas yra dekoduotų objektų kolekcija, leidžianti didelio pralaidumo dokumentų automatizavimą, bilietų patvirtinimą arba duomenų rinkimo procesus.


Priešpriešiniai

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

  1. Visual Studio 2019 arba vėliau
  2. .NET 6.0 arba naujesnė (arba .NET Framework 4.6.2+)
  3. Aspose.BarCode for .NET installed via NuGet
  4. Pagrindinės žinios apie C#
PM> Install-Package Aspose.BarCode

Kitas turinys

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 brūkšninių kodų skaitytuvą QR skenavimui. Nereikia papildomų partijos variantų: skaitytuvas automatiškai atpažįsta visus esamus QR kodus.

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

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

Iteruokite per visus atpažintus QR kodus:

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

5 žingsnis: tvarkyti išvestinę ir po apdorojimo

Savo paraiškos reikalavimu saugoti, patvirtinti arba apdoroti iššifruotus QR duomenis (database entry, event validation, ir tt).


6 žingsnis: klaidų tvarkymas

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

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 atvejų ir programų

  • Bilietų arba pasų skenavimas: Įvykio arba tranzito stotyje registruojamosios sistemos
  • Batch dokumentų automatizavimas: Metadato išvestis iš formų ar skanintų puslapių
  • Inventoriaus ir turto valdymo paslaugos: Skaniuoti kelius QR kodus viename etiketėje arba kratoje

Bendrieji iššūkiai ir sprendimai

1 iššūkis: QR kodai yra per arti Išspręsti : Naudokite aiškias ramias zonas aplink kiekvieną kodą spausdinimo / išdėstymo dizaino.

2 iššūkis: Kai kurie QR kodai nebuvo aptikti Išspręsti : Padidinkite vaizdo rezoliuciją arba iš anksto apdoroti vaizdą (pvz., ribos) siekiant pagerinti aiškumą.

3 iššūkis: nepageidaujami kodai yra Išspręsti : Apribokite dekodavimą griežtai QR naudojant DecodeType.QR Tik ir.


Peržiūros rezultatus

  • Naudokite srautus ar atminties buferus aukštos įtakos programoms
  • Skaitytojų objektų naudojimas išsaugoti išteklius
  • Paveikslų dydis, siekiant geriausio greičio ir tikslumo pusiausvyros

Geriausios praktikos

  1. Prieš naudojant kiekvieną iššifruotą rezultatą patvirtinkite
  2. Registracijos rezultatai stebėtinumui ir auditui
  3. Bandymų batch skanavimas su įvairiais pavyzdžių vaizdais
  4. Užtikrinti aiškią QR kodų atskyrimą dokumentų tvarkymo

Išplėstiniai scenarijai

1. Partijos QR kodų nuskaitymas iš 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. Rezultatų apdorojimas duomenų bazės įrašymui

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

Išvada

Su Aspose.BarCode .NET galite efektyviai partijos nuskaityti visus QR kodus, esančius viename paveikslėlyje, stiprindami didelio tūrio automatizavimą renginių valdymo, turto sekimo ar dokumentų darbo srautuose.

Daugiau informacijos rasite „Aspose.BarCode“ Apšvietimas .

 Lietuvių