Wie man mehrere QR-Codes in einem einzelnen Bild mit Aspose.BarCode für .NET scannen kann

Wie man mehrere QR-Codes in einem einzelnen Bild mit Aspose.BarCode für .NET scannen kann

Dieser Artikel zeigt, wie man mit Aspose.BarCode für .NET mehrere QR-Codes scannen und dekodieren kann.Die Bibliothek ermöglicht die Entdeckung und Extraction von Batch, wodurch es einfach ist, Formulare, Tickets, Inventory Label oder andere Dokumente mit mehreren QR Codes gleichzeitig zu verarbeiten.

Real-Weltproblem

Organisationen erhalten oft oder generieren Bilder (scaned Forms, bulk labels, event passes usw.) mit mehreren QR-Codes. Manual scan jedes Code ist langsam und unpraktisch. Entwickler brauchen eine schnelle, zuverlässige Art, um alle QR Codes von solchen Bildern in einem automatisierten Schritt zu verarbeiten.

Überblick der Lösung

Aspose.BarCode für .NET unterstützt die Batch-QR-Erkennung: Es kann alle QR-Codes innerhalb einer einzelnen Bilddatei oder Stream scannen und dekodieren. Das Ergebnis ist eine Sammlung von decodierten Objekten, die High-through-Put Document Automation, Ticket Validation oder Data Collection Workflows ermöglicht.

Voraussetzung

Bevor Sie beginnen, stellen Sie sicher, dass Sie:

  • Visual Studio 2019 oder später
  • .NET 6.0 oder höher (oder .Net Framework 4.6.2+)
  • Aspose.BarCode für .NET über NuGet installiert
  • Grundkenntnisse von C#
PM> Install-Package Aspose.BarCode

Schritt für Schritt Implementierung

Schritt 1: Installieren und Konfigurieren Aspose.BarCode

Fügen Sie das Aspose.BarCode-Paket hinzu und enthalten Sie den erforderlichen Namespektrum:

using Aspose.BarCode.BarCodeRecognition;

Schritt 2: Bereiten Sie Ihre Input-Daten vor

Bereiten oder erhalten Sie eine Bilddatei mit mehreren QR-Codes (z. B. “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

Schritt 3: Konfigurieren Sie QR Code Batch Recognition Optionen

Installieren Sie den Barcode-Leser für QR-Scanning.Es sind keine zusätzlichen Batch-Optionen erforderlich: Der Leser erkennt automatisch alle vorhandenen QR Codes.

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

Schritt 4: Durchführen Sie den Batch QR Scanning-Prozess

Iterate durch alle anerkannten QR-Codes:

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

Schritt 5: Handeln Sie mit Ausgang und Post-Verarbeitung

Speichern, validieren oder verarbeiten Sie die verschlüsselten QR-Daten nach Bedarf Ihrer Anwendung (Database-Einträge, Event-Validierung usw.).

Schritt 6: Implementierung Fehlerbehandlung

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

Vollständiges Beispiel

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

Verwendung von Fällen und Anwendungen

  • Bulk Ticket oder Pass-Scanning: Check-in-Systeme bei Veranstaltungen oder Transitstationen
  • Batch Document Automation: Metadaten aus Formularen oder gescannten Seiten extrahieren
  • Inventory and Asset Management: Scannen Sie mehrere QR-Codes auf einem einzelnen Etikett oder Cratch

Gemeinsame Herausforderungen und Lösungen

Herausforderung 1: QR-Codes sind zu nah zusammenDie Lösung : Verwenden Sie klare ruhige Zonen um jeden Code im Druck/Layout-Design.

Herausforderung 2: Einige QR-Codes wurden nicht erkanntDie Lösung : Erhöhen Sie die Bildresolution oder vorverarbeiten Sie das Bild (z. B. Grenzen) um die Klarheit zu verbessern.

Herausforderung 3: Unerwünschte Barcodes sind vorhandenDie Lösung : Beschränken Sie die Dekodierung streng auf QR durch die Verwendung DecodeType.QR Nur nur.

Performance Beachtung

  • Verwenden Sie Streams oder Speicherbuffern für High-through-Put-Anwendungen
  • Bereitstellung von Leserobjekten, um Ressourcen zu speichern
  • Anpassung der Bildgröße für die beste Balance von Geschwindigkeit und Genauigkeit

Beste Praktiken

  • Validieren Sie jedes gedecodierte Ergebnis vor der Verwendung
  • Logergebnisse für Traceability und Auditing
  • Test-Batch-Scan mit einer Vielzahl von Probenbilder
  • Gewährleistet eine klare Trennung von QR-Codes in Dokumentlayout

Fortgeschrittene Szenarien

1. Batch-Scan von QR-Codes aus einem 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);
    }
}

2. Prozessergebnisse für 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

Schlussfolgerungen

Mit Aspose.BarCode für .NET können Sie effizient alle QR-Codes, die in einem einzigen Bild vorhanden sind, scannen, um hohe Volumen-Automatisierung bei Veranstaltungsmanagement, Vermögensverfolgung oder Dokumentarbeitsflüsse zu ermöglichen.

Weitere Informationen finden Sie unter Aspose.BarCode Feuerreferenz .

 Deutsch