Kako skenirati više QR koda u jednoj slici pomoću Aspose.BarCode za .NET

Kako skenirati više QR koda u jednoj slici pomoću Aspose.BarCode za .NET

Ovaj članak pokazuje kako skenirati i dekodirati više QR koda prisutnih u jednoj slici pomoću Aspose.BarCode za .NET. Knjižnica omogućuje detekciju i ekstrakciju paketa, čime je lako obrađivati obrasce, ulaznice, etikete inventora ili druge dokumente s nekoliko QR kodova u isto vrijeme.

Real-svjetski problem

Organizacije često primaju ili generiraju slike (scanned forms, bulk labels, event passes, itd.) koje sadrže nekoliko QR koda. ručno skeniranje svakog kod je sporo i nepraktično. razvijatelji trebaju brz, pouzdan način za obradu svih QR kodova iz takvih slika u jednom automatiziranom koraku.

Pregled rješenja

Aspose.BarCode za .NET podržava rasponu QR prepoznavanja: može skenirati i dekodirati sve QR koda unutar jednog datoteke ili tokova slike. Rezultat je prikupljanje decodiranih objekata, omogućavajući automatizaciju dokumenata visokog utjecaja, validaciju karata ili radne tokove zbiranja podataka.

Preduzeća

Prije nego što počnete, pobrinite se da imate:

  • Visual Studio 2019 ili kasnije
  • .NET 6.0 ili noviji (ili .Net Framework 4.6.2+)
  • Aspose.BarCode za .NET instaliran preko NuGeta
  • Osnovna znanja o C#
PM> Install-Package Aspose.BarCode

Korak po korak provedba

Korak 1: Instaliranje i konfiguracija Aspose.BarCode

Dodajte paket Aspose.BarCode i uključite potrebni nazivni prostor:

using Aspose.BarCode.BarCodeRecognition;

Korak 2: Pripremite svoje ulazne podatke

Pripremite ili dobijte datoteku slike koja sadrži više QR koda (na primjer, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

Korak 3: Konfigurirajte opcije za prepoznavanje QR koda

Nema potrebe za dodatnim opcijama: čitatelj automatski otkriva sve postojeće QR kode.

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

Korak 4: Provedite proces skeniranja batch QR

Iterate kroz sve prepoznate QR koda:

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

Korak 5: Obavijest o proizvodnji i post-procesiranju

Skladišete, validirate ili obrađujete dekodirane QR podatke prema zahtjevu vaše aplikacije (uvod u bazu podataka, validacija događaja itd.).

6. korak: uklanjanje pogrešaka

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

Potpuni primjer

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

Korištenje slučajeva i aplikacija

  • **Bulk Ticket ili Pass Scanning:**Sustav za prijavu na događajima ili tranzitnim stanicama
  • Batch Document Automation: Izvadite metapodatke iz obrazaca ili skeniranih stranica
  • Inventory and Asset Management: Skaniranje više QR koda na jednoj etiketi ili cratu

Zajednički izazovi i rješenja

Izazov 1: QR kodovi su previše blizuRješenje : Koristite jasne mirne zone oko svakog koda u dizajnu tiskanja / rasporeda.

Izazov 2: Neki QR kodi nisu otkriviRješenje : Povećajte rezoluciju slike ili preprocesirajte sliku (na primjer, ograničavanje) kako biste poboljšali jasnost.

Izazov 3: Neželjeni kodovi su prisutniRješenje : Ograničite dekodiranje strogo na QR korištenjem DecodeType.QR Jedino je.

Razmatranje učinkovitosti

  • Koristite struje ili bufer pamćenja za aplikacije visoke brzine
  • Postojanje objekata za čitanje kako bi se sačuvali resursi
  • Prilagodite veličinu slike za najbolju ravnotežu brzine i točnosti

Najbolje prakse

  • Validirati svaki decodirani rezultat prije korištenja
  • Rezultati evidencije za praćenje i reviziju
  • Test batch skeniranje s raznim uzornim slikama
  • Osigurajte jasno razdvajanje QR koda u rasporedu dokumenata

Napredni scenariji

Batch skeniranje QR koda iz 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);
    }
}

Rezultati postupka za ulazak u bazu podataka

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

zaključak

Uz Aspose.BarCode za .NET, možete učinkovito skenirati sve QR kode prisutne u jednoj slici, omogućavajući automatizaciju visokog volumena u upravljanju događajima, praćenju imovine ili radnim tokovima dokumenata.

Za više informacija pogledajte Aspose.BarCode API referencija .

 Hrvatski