Kaip skenuoti kelius QR kodus viename paveikslėlyje naudojant Aspose.BarCode .NET
Šiame straipsnyje pateikiama informacija apie tai, kaip Skanyti ir dekoduoti keli QR kodai, esantys viename paveikslėlyje naudojant Aspose.BarCode .NET. biblioteka leidžia atpažinti ir išgauti batch, todėl lengva apdoroti formas, bilietus, inventorių etiketę ar kitus dokumentus su keliais QR kodais vienu metu.
Realaus pasaulio problema
Organizacijos dažnai gauna arba generuoja vaizdus (skandinuotus formus, daugiafunkcinius etiketės, įvykių pasus ir tt), kuriuose yra keletas QR kodų. Kiekvieno kodo rankiniu būdu skanavimas yra lėtas ir nepraktiškas.
Išvada sprendimo
Aspose.BarCode for .NET palaiko partijos QR atpažinimą: jis gali nuskaityti ir dekoduoti visus QR kodus viename paveikslėlio faile arba sraute. Rezultatas yra dekoduotų objektų kolekcija, leidžianti didelio pralaidumo dokumentų automatizavimą, bilietų patvirtinimą arba duomenų rinkimo procesus.
Priešpriešiniai
Prieš pradėdami, įsitikinkite, kad turite:
- Visual Studio 2019 arba vėliau
- .NET 6.0 arba naujesnė (arba .NET Framework 4.6.2+)
- Aspose.BarCode for .NET installed via NuGet
- Pagrindinės žinios apie C#
PM> Install-Package Aspose.BarCodeKitas turinys
1 žingsnis: Įdiegti ir konfigūruoti Aspose.BarCode
Pridėkite Aspose.BarCode paketą ir įtraukite reikalingą pavadinimo erdvę:
using Aspose.BarCode.BarCodeRecognition;2 žingsnis: paruoškite savo įvesties duomenis
Paruoškite arba gaukite vaizdo failą, kuriame yra keli QR kodai (pavyzdžiui, “multi_qr_sample.png”).
string imagePath = "multi_qr_sample.png";3 žingsnis: nustatykite QR kodo atpažinimo galimybes
Nustatykite brūkšninių kodų skaitytuvą QR skenavimui. Nereikia papildomų partijos variantų: skaitytuvas automatiškai atpažįsta visus esamus QR kodus.
BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR);4 žingsnis: Atlikite „Partijos QR“ skenavimo procesą
Iteruokite per visus atpažintus QR kodus:
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine($"Type: {result.CodeTypeName}");
Console.WriteLine($"Text: {result.CodeText}");
}5 žingsnis: tvarkyti išvestinę ir po apdorojimo
Savo paraiškos reikalavimu saugoti, patvirtinti arba apdoroti iššifruotus QR duomenis (database entry, event validation, ir tt).
6 žingsnis: klaidų tvarkymas
using Aspose.BarCode.BarCodeRecognition;
using System;
class Program
{
static void Main()
{
string imagePath = "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}");
}
}
} Išsamus pavyzdys
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}");
}
}
} Naudokite atvejų ir programų
- Bilietų arba pasų skenavimas: Įvykio arba tranzito stotyje registruojamosios sistemos
- Batch dokumentų automatizavimas: Metadato išvestis iš formų ar skanintų puslapių
- Inventoriaus ir turto valdymo paslaugos: Skaniuoti kelius QR kodus viename etiketėje arba kratoje
Bendrieji iššūkiai ir sprendimai
1 iššūkis: QR kodai yra per arti Išspręsti : Naudokite aiškias ramias zonas aplink kiekvieną kodą spausdinimo / išdėstymo dizaino.
2 iššūkis: Kai kurie QR kodai nebuvo aptikti Išspręsti : Padidinkite vaizdo rezoliuciją arba iš anksto apdoroti vaizdą (pvz., ribos) siekiant pagerinti aiškumą.
3 iššūkis: nepageidaujami kodai yra Išspręsti : Apribokite dekodavimą griežtai QR naudojant DecodeType.QR Tik ir.
Peržiūros rezultatus
- Naudokite srautus ar atminties buferus aukštos įtakos programoms
- Skaitytojų objektų naudojimas išsaugoti išteklius
- Paveikslų dydis, siekiant geriausio greičio ir tikslumo pusiausvyros
Geriausios praktikos
- Prieš naudojant kiekvieną iššifruotą rezultatą patvirtinkite
- Registracijos rezultatai stebėtinumui ir auditui
- Bandymų batch skanavimas su įvairiais pavyzdžių vaizdais
- Užtikrinti aiškią QR kodų atskyrimą dokumentų tvarkymo
Išplėstiniai scenarijai
1. Partijos QR kodų nuskaitymas iš MemoryStream
using Aspose.BarCode.BarCodeRecognition;
using (FileStream fs = File.OpenRead("sample.png"))
using (BarCodeReader reader = new BarCodeReader(fs, DecodeType.QR))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine(result.CodeText);
}
}2. Rezultatų apdorojimas duomenų bazės įrašymui
using Aspose.BarCode.BarCodeRecognition;
List<string> qrData = new List<string>();
string imagePath = "sample.png"; // Use a valid test file path
using (BarCodeReader reader = new BarCodeReader(imagePath, DecodeType.QR))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
qrData.Add(result.CodeText);
}
}
// Insert qrData into database as neededIšvada
Su Aspose.BarCode .NET galite efektyviai partijos nuskaityti visus QR kodus, esančius viename paveikslėlyje, stiprindami didelio tūrio automatizavimą renginių valdymo, turto sekimo ar dokumentų darbo srautuose.
Daugiau informacijos rasite „Aspose.BarCode“ Apšvietimas .