Nel articolo precedente, hai imparato a generare vari tipi di codici a barre in modo programmatico. In questo articolo imparerai come leggere i codici a barre usando l’API del lettore di codici a barre C#. L’articolo tratterà anche come leggere tipi particolari o diversi di simbologie di codici a barre in un’immagine.
- API del lettore di codici a barre C#
- Leggi i codici a barre usando C#
- Scansione e lettura di una particolare simbologia di codici a barre in C#
- Più simboli di codici a barre in una singola immagine
API C# per leggere i codici a barre
Aspose.BarCode for .NET fornisce un potente scanner di codici a barre e un’API di lettura che ti consente di leggere una varietà di simbologie di codici a barre in poche righe di codice. Puoi scaricare l’API o installarla all’interno della tua applicazione .NET utilizzando NuGet.
PM> Install-Package Aspose.BarCode
Leggi i codici a barre usando C#
Di seguito sono riportati i passaggi per leggere un codice a barre 1D o 2D da un file immagine.
- Crea un oggetto della classe BarCodeReader e specifica il percorso del file dell’immagine.
- Usa la classe BarCodeResult per recuperare i risultati del riconoscimento dal metodo BarCodeReader.ReadBarCodes().
- Recupera il tipo e il testo del codice a barre dall’oggetto BarCodeResult.
L’esempio di codice seguente mostra come leggere un codice a barre usando C#.
try
{
// Leggi il file dalla directory
using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// Leggi il tipo di simbologia e il testo del codice
Console.WriteLine("Symbology Type: " + result.CodeType);
Console.WriteLine("CodeText: " + result.CodeText);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from https://www.aspose.com/purchase/default.aspx.");
}
Leggi una particolare simbologia del codice a barre in C#
Potrebbe esserci il caso in cui conosci già la simbologia del codice a barre che stai per leggere. In tali situazioni, puoi fornire il tipo di codice a barre all’oggetto di BarCodeReader. Conoscere il tipo in anticipo accelera il processo di riconoscimento del codice a barre. L’esempio di codice seguente mostra come specificare il tipo di codice a barre.
try
{
// Crea un'istanza della classe BarCodeReader
using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// Visualizza il testo del codice e il tipo di simbologia
Console.WriteLine("CodeText: " + result.CodeText);
Console.Write("Symbology Type: " + result.CodeType);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from http://wwww.aspose.com/purchase/default.aspx.");
}
Scansione di più simboli di codici a barre in una singola immagine
In casi particolari, potresti avere più simbologie di codici a barre posizionate in una singola immagine. In tal caso, puoi configurare l’API per riconoscere tutti i codici a barre in una volta sola. Di seguito sono riportati i passaggi per leggere più codici a barre in una singola immagine.
- Crea un array di BaseDecodeType per contenere l’elenco delle simbologie di codici a barre.
- Crea un oggetto della classe BarCodeReader e carica l’immagine.
- Leggi i codici a barre usando BarCodeReader.ReadBarCodes() ed estrai il loro tipo e testo.
L’esempio di codice seguente mostra come leggere più simbologie di codici a barre in una singola immagine usando C#.
try
{
BaseDecodeType[] objArray = new BaseDecodeType[] { DecodeType.Code39Standard, DecodeType.Pdf417 };
// Inizializza il BarCodeReader, chiama il metodo Read() in un ciclo e visualizza il testo del codice e il tipo di simbologia
using (BarCodeReader reader = new BarCodeReader("RecognizingMultipleSymbologies.png", objArray))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext: " + result.CodeText);
Console.WriteLine("Symbology type: " + result.CodeType);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from http://wwww.aspose.com/purchase/default.aspx.");
}
Conclusione
In questo articolo hai imparato a leggere i codici a barre a livello di codice usando C#. Inoltre, hai visto come leggere una o più simbologie di codici a barre in un’unica immagine. Puoi saperne di più sull’API del lettore di codici a barre C# utilizzando la documentazione.