Bagaimana untuk memindai Multiple QR Codes dalam satu gambar menggunakan Aspose.BarCode untuk .NET

Bagaimana untuk memindai Multiple QR Codes dalam satu gambar menggunakan Aspose.BarCode untuk .NET

Artikel ini menunjukkan bagaimana untuk memindai dan memecahkan beberapa kode QR yang hadir dalam satu gambar menggunakan Aspose.BarCode untuk .NET. Perpustakaan memungkinkan deteksi dan ekstraksi batch, menjadikannya mudah untuk pemrosesan formulir, tiket, label inventori, atau dokumen lain dengan beberapa kod QR sekaligus.

Masalah dunia nyata

Organisasi sering menerima atau menghasilkan gambar (bentuk yang dipindai, label besar, pass acara, dll) yang berisi beberapa kode QR. pemindaian manual dari masing-masing kode lambat dan tidak praktis. pengembang membutuhkan cara yang cepat dan dapat diandalkan untuk memproses semua kod QR dari gambar tersebut dalam satu langkah otomatis.

Penyelesaian Overview

Aspose.BarCode untuk .NET mendukung pengenalan QR batch: dapat memindai dan mendekodkan semua kode QR dalam satu file gambar atau arus. hasilnya adalah koleksi objek yang dikodifikasi, memungkinkan otomatisasi dokumen dengan kecepatan tinggi, validasi tiket, atau aliran kerja pengumpulan data.

Persyaratan

Sebelum memulai, pastikan Anda memiliki:

  • Visual Studio 2019 atau lebih baru
  • .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
  • Aspose.BarCode untuk .NET diinstal melalui NuGet
  • Pengetahuan dasar tentang C#
PM> Install-Package Aspose.BarCode

Implementasi langkah demi langkah

Langkah 1: Menginstal dan mengkonfigurasi Aspose.BarCode

Tambahkan paket Aspose.BarCode dan masukkan ruang nama yang diperlukan:

using Aspose.BarCode.BarCodeRecognition;

Langkah 2: Siapkan data input Anda

Siapkan atau dapatkan file gambar yang mengandung beberapa kode QR (misalnya, “multi_qr_sample.png”).

string imagePath = "multi_qr_sample.png";

Langkah 3: Mengkonfigurasi QR Code Batch Recognition Options

Setkan pembaca barcode untuk pemindaian QR. Tidak ada pilihan batch tambahan diperlukan: pembaca secara otomatis mengidentifikasi semua kode QR yang ada.

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

Langkah 4: Melaksanakan proses scan QR Batch

Iterate melalui semua kode QR yang diakui:

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

Langkah 5: Mengendalikan output dan post-processing

Menyimpan, validasi, atau memproses data QR yang dikodkan seperti yang diperlukan oleh aplikasi Anda (data base entry, event validation, dll.).

Langkah 6: Mengimplementasikan Error Handling

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

Contoh lengkap

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

Menggunakan kasus dan aplikasi

  • Bulk Ticket atau Pass Scanning: Sistem check-in di acara atau stasiun transit
  • Batch Document Automation: Mengekstrak metadata dari formulir atau halaman yang dipindai
  • Inventory and Asset Management: Memindai beberapa kode QR pada satu label atau kartu

Tantangan dan Solusi Umum

Tantangan 1: kode QR terlalu dekat satu sama lainPenyelesaian : Gunakan zona tenang yang jelas di sekitar setiap kode dalam desain cetak/layout.

Tantangan 2: Beberapa kode QR tidak dideteksiPenyelesaian : Meningkatkan resolusi gambar, atau pra-proses gambar (misalnya, sempadan) untuk meningkatkan ketelusan.

Tantangan 3: Barcode yang tidak diinginkan hadirPenyelesaian : Mengehadkan decoding dengan ketat ke QR dengan menggunakan DecodeType.QR Hanya saja.

Pertimbangan kinerja

  • Gunakan streaming atau memori buffer untuk aplikasi high-throughput
  • Memiliki objek pembaca untuk mempertahankan sumber daya
  • Mengatur ukuran gambar untuk keseimbangan kecepatan dan keakuratan terbaik

Praktik Terbaik

  • Validasi setiap hasil decoded sebelum menggunakan
  • Hasil log untuk traceability dan audit
  • Test batch scan dengan berbagai sampel gambar
  • Memastikan pemisahan kod QR yang jelas dalam tata letak dokumen

Skenario Lanjutan

Batch Scan QR Code dari 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. hasil proses untuk 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

Kesimpulan

Dengan Aspose.BarCode untuk .NET, Anda dapat secara efisien memindai semua kode QR yang ada dalam satu gambar, memungkinkan otomatisasi volume tinggi dalam manajemen acara, pengesanan aset, atau aliran kerja dokumen.

Untuk informasi lebih lanjut, lihat Aspose.BarCode Referensi API .

 Indonesia