Kā skenēt vairākus QR kodus vienā attēlam, izmantojot Aspose.BarCode .NET

Kā skenēt vairākus QR kodus vienā attēlam, izmantojot Aspose.BarCode .NET

Šajā rakstā ir parādīts, kā skenēt un dekodēt vairākas QR kodus, kas atrodas vienā attēlam, izmantojot Aspose.BarCode .NET. Bibliotēka ļauj detekciju un ekstrakciju, padarot to viegli apstrādāt veidlapas, biļetes, inventāra etiķetes vai citus dokumentus ar vairākiem QR kodiem vienlaicīgi.

Reālā pasaules problēma

Organizācijas bieži saņem vai rada attēlus (scanned veidlapas, bulk etiķetes, notikumu pases, utt.), kas satur vairākus QR kodus. Manual skenēšana katra koda ir lēna un neefektīva. izstrādātājiem ir nepieciešams ātrs, uzticams veids, kā apstrādāt visus QR kodu no šādiem attēliem vienā automatizētajā posmā.

Risinājumu pārskats

Aspose.BarCode for .NET atbalsta batch QR atpazīšanu: tā var skenēt un dekodēt visus QR kodus vienā attēla failā vai plūsmā. Rezultāts ir decodētu priekšmetu savākšana, kas ļauj augstas caurlaidības dokumentu automatizāciju, biļešu validāciju vai datu apkopošanas darbplūsmu.

Prerequisites

Pirms sākat, pārliecinieties, ka jums ir:

  • Visual Studio 2019 vai vēlāk
  • .NET 6.0 vai jaunāks (vai .Net Framework 4.6.2+)
  • Aspose.BarCode .NET instalēts caur NuGet
  • Zināšanas par C#
PM> Install-Package Aspose.BarCode

Step-by-step īstenošana

1. solis: Uzstādīt un konfigurēt Aspose.BarCode

Pievienojiet Aspose.BarCode paketi un iekļauj nepieciešamo nosaukuma telpu:

using Aspose.BarCode.BarCodeRecognition;

2. solis: sagatavojiet ieejas datus

Sagatavot vai iegūt attēla failu, kurā ir vairāki QR kodi (piemēram, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

3. solis: iestatīt QR koda batch atpazīšanas iespējas

QR skanēšanai nav nepieciešamas papildu batch iespējas: lasītājs automātiski atklāj visus esošos QR kodus.

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

4. solis: Izpildiet Batch QR skenēšanas procesu

Iterate, izmantojot visus atpazītos QR kodus:

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

5. solis: Izveidošana un pēcapstrāde

Saglabājiet, validējiet vai apstrādājiet dekodētos QR datus, kā to pieprasa jūsu pieteikums (databas ievade, notikumu validācija utt.).

6. solis: kļūdu risināšana

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

Pilnīgs piemērs

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

Izmantojiet gadījumus un pieteikumus

  • Bulk biļetes vai pases skenēšana: Check-in sistēmas notikumos vai tranzīta stacijās
  • Batch Document Automation: Metadatu iegūšana no veidlapām vai skenētajām lapām
  • Inventory and Asset Management: Skanēt vairākus QR kodus vienā etiķetē vai krātuvē

Kopīgi izaicinājumi un risinājumi

  • 1 izaicinājums: QR kodi ir pārāk tuvi kopā*Atrisinājums : Izmantojiet skaidras klusās zonas ap katru kodu drukāšanas/layout dizainā.

  • Izteikums 2: Daži QR kodi nav atklāti**Atrisinājums : Palielināt attēla izšķirtspēju vai iepriekš apstrādāt attēlu (piemēram, robežvērtības), lai uzlabotu skaidrību.

Mūžība 3: Nevēlami barkodi ir klātAtrisinājums : ierobežot decodēšanu stingri uz QR, izmantojot DecodeType.QR Un tikai.

Darbības apsvērumi

  • Izmantojiet plūsmas vai atmiņas buferus augstas caurlaidības lietojumprogrammām
  • Izmantojot lasītāju priekšmetus, lai saglabātu resursus
  • Attēla izmēra pielāgošana, lai nodrošinātu labāko ātruma un precizitātes līdzsvaru

Labākās prakses

  • Validējiet katru decodēto rezultātu pirms lietošanas
  • Log rezultāti izsekojamībai un revīzijai
  • Test batch skenēšana ar dažādiem paraugu attēliem
  • Nodrošināt skaidru QR kodu atdalīšanos dokumentā

Augstākie scenāriji

1. batch skenēt QR kodi no 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);
    }
}

Procesu rezultāti datu bāzes ievadīšanai

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

Ar Aspose.BarCode .NET, jūs varat efektīvi batch skenēt visus QR kodus, kas ir klāt vienā attēla, stiprinot augsta tilpuma automatizāciju notikumu pārvaldībā, aktīvu izsekojumā vai dokumentu darba plūsmas.

Lai iegūtu vairāk informācijas, skatiet Aspose.BarCode Ugunsgrēks Reference .

 Latviski