Hvordan skanne flere QR-koder i et enkelt bilde ved hjelp av Aspose.BarCode for .NET

Hvordan skanne flere QR-koder i et enkelt bilde ved hjelp av Aspose.BarCode for .NET

Denne artikkelen viser hvordan du kan skanne og dekode flere QR-koder som finnes i et enkelt bilde ved hjelp av Aspose.BarCode for .NET. Biblioteket gjør det mulig å gjenkjenne og utveksle batch, noe som gjør at det er enkelt å behandle skjemaer, billetter, inventaretiketter eller andre dokumenter med mange QR koder på en gang.

Real-verdens problem

Organisasjoner mottar ofte eller genererer bilder (skannede skjemaer, bulk labels, hendelsespass, etc.) som inneholder flere QR-koder. Manuell skanning av hver kode er sakte og umulig. Utviklere trenger en rask, pålitelig måte å behandle alle QR koder fra slike bilder i ett enkelt automatisert trinn.

Oversikt over løsning

Aspose.BarCode for .NET støtter batch QR gjenkjenning: det kan skanne og dekode alle QR-koder innenfor en enkelt bildefil eller strøm. Resultatet er en samling av dekoderte objekter, som muliggjør high-throughput dokumentautomasjon, billettvalidering, eller datainnsamling arbeidsflyter.

Prerequisites

Før du begynner, sørg for at du har:

  • Visual Studio 2019 eller senere
  • .NET 6.0 eller nyere (eller .Net Framework 4.6.2+)
  • Aspose.BarCode for .NET installert via NuGet
  • grunnleggende kunnskap om C#
PM> Install-Package Aspose.BarCode

Step-by-step implementering

Steg 1: Installere og konfigurere Aspose.BarCode

Legg til Aspose.BarCode-pakken og inkludere det nødvendige namespace:

using Aspose.BarCode.BarCodeRecognition;

Steg 2: Forbered innsendingsdata

Forbered eller få en bildefil som inneholder flere QR-koder (for eksempel “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

Trinn 3: Konfigurere QR Code Batch gjenkjenning alternativer

Du trenger ingen ekstra batchalternativer: Leseren oppdager automatisk alle eksisterende QR-koder.

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

Steg 4: Utfør Batch QR-skanningsprocessen

Iterate gjennom alle anerkjente QR-koder:

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

Steg 5: Å håndtere utgang og etterbehandling

Lagre, validere eller behandle de dekoderte QR-dataene som kreves av applikasjonen (databaseinnføring, eventvalidering, etc.).

Steg 6: Implementering av feil håndtering

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

Komplett eksempel

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

Bruker tilfeller og applikasjoner

  • Bulk billett eller pass skanning: Check-in systemer på arrangementer eller transittstasjoner
  • Batch Document Automation: Utveksle metadata fra skjemaer eller skannede sider
  • Inventory and Asset Management: Skanne flere QR-koder på et enkelt etikett eller krate

Vanlige utfordringer og løsninger

Challenge 1: QR-koder er for nært sammenLøsningen er: Bruk klare stille zoner rundt hver kode i print/layout design.

Challenge 2: Noen QR-koder er ikke oppdagetLøsningen er: Øk bildeoppløsning, eller forhåndsbehandling av bildet (f.eks. grense) for å forbedre klarhet.

Challenge 3: Uønskede barkoder er til stedeLøsningen er: Begrens dekryptering strengt til QR ved å bruke DecodeType.QR Bare å.

Performance vurderinger

  • Bruk strømmer eller hukommelsesbuffere for høyt utbredte applikasjoner
  • Lagre lesere for å beholde ressurser
  • Tilpasse bildestørrelse for den beste balansen mellom hastighet og nøyaktighet

Beste praksis

  • Validerer hvert dekodert resultat før bruk
  • Log resultater for sporbarhet og revisjon
  • Test batch skanning med en rekke prøver bilder
  • Sikre klar separasjon av QR-koder i dokument layout

Avanserte scenarier

Batch skanne QR-koder fra en 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);
    }
}

Prosessresultater for Database Entry

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

Med Aspose.BarCode for .NET kan du effektivt batch skanne alle QR-koder som finnes i et enkelt bilde, og muliggjøre høyvolum automatisering i hendelsesstyring, asset tracking eller dokumentarbeidsflyter.

For mer informasjon, se Aspose.BarCode API referanse .

 Norsk