
No artigo anterior, você aprendeu como gerar vários tipos de códigos de barras programaticamente. Neste artigo, você aprenderá a ler os códigos de barras usando a API do leitor de código de barras C#. O artigo também abordará como ler tipos específicos ou diferentes de simbologias de código de barras em uma imagem.
- API do leitor de código de barras C#
- Ler códigos de barras usando C#
- Digitalize e leia uma simbologia de código de barras específica em C#
- Várias simbologias de código de barras em uma única imagem
API C# para ler códigos de barras
Aspose.BarCode for .NET fornece um poderoso scanner de código de barras e uma API de leitor que permite ler uma variedade de simbologias de código de barras em poucas linhas de código. Você pode baixar a API ou instalá-la em seu aplicativo .NET usando NuGet.
PM> Install-Package Aspose.BarCode
Ler códigos de barras usando C#
A seguir estão as etapas para ler um código de barras 1D ou 2D de um arquivo de imagem.
- Crie um objeto da classe BarCodeReader e especifique o caminho do arquivo da imagem.
- Use a classe BarCodeResult para buscar os resultados de reconhecimento do método BarCodeReader.ReadBarCodes().
- Recupere o tipo e o texto do código de barras do objeto BarCodeResult.
O exemplo de código a seguir mostra como ler um código de barras usando C#.
try
{
// Ler arquivo do diretório
using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// Leia o tipo de simbologia e o texto do código
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.");
}
Leia uma simbologia de código de barras específica em C#
Pode ser o caso de você já conhecer a simbologia do código de barras que vai ler. Em tais situações, você pode fornecer o tipo do código de barras para o objeto do BarCodeReader. Conhecer o tipo de antemão acelera o processo de reconhecimento do código de barras. O exemplo de código a seguir mostra como especificar o tipo de código de barras.
try
{
// Criar instância da classe BarCodeReader
using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// Texto do código de exibição e tipo de 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.");
}
Digitalize várias simbologias de código de barras em uma única imagem
Em casos específicos, você pode ter várias simbologias de código de barras colocadas em uma única imagem. Nesse caso, você pode configurar a API para reconhecer todos os códigos de barras de uma só vez. A seguir estão as etapas para ler vários códigos de barras em uma única imagem.
- Crie uma matriz de BaseDecodeType para conter a lista de simbologias de código de barras.
- Crie um objeto da classe BarCodeReader e carregue a imagem.
- Leia códigos de barras usando BarCodeReader.ReadBarCodes() e extraia seu tipo e texto.
O exemplo de código a seguir mostra como ler várias simbologias de código de barras em uma única imagem usando C#.
try
{
BaseDecodeType[] objArray = new BaseDecodeType[] { DecodeType.Code39Standard, DecodeType.Pdf417 };
// Inicialize o BarCodeReader, chame o método Read() em um loop e exiba o texto do código e o tipo de 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.");
}
Conclusão
Neste artigo, você aprendeu a ler códigos de barras programaticamente usando C#. Além disso, você viu como ler uma ou várias simbologias de código de barras em uma única imagem. Você pode aprender mais sobre a API do leitor de código de barras C# usando a documentação.