escanear y leer código de barras en C#

En el artículo anterior, aprendió cómo generar varios tipos de códigos de barras mediante programación. En este artículo, aprenderá cómo leer los códigos de barras usando la API del lector de códigos de barras C#. El artículo también cubrirá cómo leer tipos particulares o diferentes de simbologías de códigos de barras en una imagen.

C# API para leer códigos de barras

Aspose.BarCode for .NET proporciona un potente escáner de código de barras y una API lectora que le permite leer una variedad de simbologías de códigos de barras en unas pocas líneas de código. Puede descargar la API o instalarla dentro de su aplicación .NET mediante NuGet.

PM> Install-Package Aspose.BarCode

Leer códigos de barras usando C#

Los siguientes son los pasos para leer un código de barras 1D o 2D de un archivo de imagen.

El siguiente ejemplo de código muestra cómo leer un código de barras usando C#.

try
{
	// Leer archivo del directorio
	using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
	{
		foreach (BarCodeResult result in reader.ReadBarCodes())
		{
			// Leer tipo de simbología y texto de 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.");
}

Leer una simbología de código de barras particular en C#

Podría darse el caso de que ya conozcas la simbología del código de barras que vas a leer. En tales situaciones, puede proporcionar el tipo de código de barras al objeto BarCodeReader. Conocer el tipo de antemano acelera el proceso de reconocimiento del código de barras. El siguiente ejemplo de código muestra cómo especificar el tipo de código de barras.

try
{
    // Crear una instancia de la clase BarCodeReader 
    using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
    {
        foreach (BarCodeResult result in reader.ReadBarCodes())
        {
            // Mostrar texto de código y tipo de simbología
            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.");
}

Escanee varias simbologías de códigos de barras en una sola imagen

En casos particulares, es posible que tenga varias simbologías de códigos de barras colocadas en una sola imagen. Para tal caso, puede configurar la API para que reconozca todos los códigos de barras de una sola vez. Los siguientes son los pasos para leer varios códigos de barras en una sola imagen.

El siguiente ejemplo de código muestra cómo leer varias simbologías de códigos de barras en una sola imagen mediante C#.

try
{                 
    BaseDecodeType[] objArray = new BaseDecodeType[] { DecodeType.Code39Standard, DecodeType.Pdf417 };

    // Inicialice el BarCodeReader, llame al método Read() en un bucle y muestre el código de texto y el tipo de simbología
    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.");
}

Conclusión

En este artículo, ha aprendido a leer códigos de barras mediante programación usando C#. Además, ha visto cómo leer una o varias simbologías de códigos de barras en una sola imagen. Puede obtener más información sobre la API del lector de código de barras de C# utilizando la documentación.

Ver también