Saltar al pie de página
USO DE IRONBARCODE

Creando un Escáner de Códigos de Barras en Tutorial para VB.NET

Los códigos de barras son un medio poderoso para representar datos en un formato visible y legible por computadora. En este tutorial, exploraremos cómo generar y leer códigos de barras utilizando IronBarcode en Visual Basic. IronBarcode proporciona una solución robusta y eficiente, ya sea que estés construyendo un sistema de gestión de inventario, una aplicación de punto de venta u otro proyecto que involucre manejo de lector de código de barras en VB.NET.

IronBarcode es una poderosa librería de C# que se integra perfectamente con proyectos en VB.NET (Visual Basic). Proporciona funcionalidad robusta para la lectura y escritura de imágenes de código de barras, haciéndolo una excelente opción para los desarrolladores que trabajen con aplicaciones de componentes de lector de código de barras en VB.NET. Esta guía cubrirá lo básico sobre lectura de códigos de barras, configuración de opciones y manejo de múltiples códigos de barras en un solo escaneo.

¿Cómo leer códigos de barras en VB.NET?

  1. Instala la Biblioteca IronBarcode.
  2. Lee la imagen del escáner de código de barras desde un archivo utilizando el método Read().
  3. Lee la Imagen del Código de Barras desde el PDF utilizando el método ReadPdf().

¿Cómo generar códigos de barras en VB.NET?

  1. Instala la Biblioteca IronBarcode.
  2. Crea un Código de Barras utilizando el método CreateBarcode() con la codificación de código de barras especificada.
  3. Guarda el Código de Barras como una imagen o PDF.

Introducción a IronBarcode

IronBarcode es una poderosa biblioteca de código de barras C# que simplifica el trabajo con códigos de barras en aplicaciones .NET. Ya sea que necesites crear códigos de barras o leer códigos existentes, IronBarcode proporciona una solución intuitiva y eficiente.

Aquí están algunas características clave y casos de uso de IronBarcode:

Generación de Códigos de Barras: IronBarcode permite a los desarrolladores generar fácilmente varios tipos de códigos de barras, incluyendo códigos de barras 1D como Code 39, Code 128 y UPC, así como códigos de barras 2D como códigos QR y Data Matrix.

Lectura de Códigos de Barras: La biblioteca incluye funcionalidad para leer códigos de barras desde imágenes, PDFs, u otras fuentes. Esto puede ser útil para aplicaciones que necesiten procesar valores de código de barras a partir de documentos escaneados o capturas de cámara.

Codificación y Decodificación: IronBarcode soporta la codificación y decodificación de valores de códigos de barras, proporcionando a los desarrolladores la capacidad de manipular la información de escaneo de códigos de barras programáticamente.

Tipos de Código de Barras Soportados: IronBarcode soporta una amplia gama de simbologías de código de barras, haciéndolo versátil para diferentes requisitos de aplicación.

Facilidad de Uso: La biblioteca está diseñada para ser fácil de usar e integrar en aplicaciones .NET. Proporciona documentación completa y ejemplos para ayudar a los desarrolladores a implementar funcionalidades relacionadas con códigos de barras.

Empezando

El primer paso es abrir o crear un nuevo proyecto. El proyecto puede ser de cualquier tipo. El mismo código funciona para todos los tipos de proyectos. El siguiente paso es instalar la biblioteca IronBarcode en nuestro proyecto.

Instalar el paquete NuGet de IronBarcode

Puedes instalar el Paquete NuGet de IronBarcode utilizando la Consola del Administrador de Paquetes. Ingresa el siguiente comando:

Install-Package BarCode

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 1 - VB NET Leer Escáner de Código de Barras

El comando anterior descargará e instalará la Biblioteca IronBarcode con todas las dependencias necesarias.

Alternativamente, también puedes descargarlo desde la gestión de paquetes NuGet para la solución buscándolo.

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 2 - IronBarcode

Procedamos a generar una imagen de código de barras usando VB.NET.

Generar imagen de código de barras

Crear códigos de barras es sencillo. Puedes utilizar la clase BarcodeWriter para generar varios tipos de códigos de barras. Una vez que tengamos el código de barras, lo guardamos como imagen. La imagen del código de barras puede ser accedida como una Imagen o convertida a un Bitmap. Crearemos un sencillo código de barras Code128 con el valor "0987654ABCD0987654". Aquí está cómo puedes hacerlo:

Sub Main(args As String())
    Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
    ' Save the barcode as an image
    myBarcode.SaveAsImage("myCode128Barcode.jpeg")
End Sub
Sub Main(args As String())
    Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
    ' Save the barcode as an image
    myBarcode.SaveAsImage("myCode128Barcode.jpeg")
End Sub
VB .NET

El fragmento de código anterior utiliza la biblioteca IronBarcode para generar un código de barras Code 128 con los datos "0987654ABCD0987654". Se emplea el método BarcodeWriter.CreateBarcode, especificando la codificación Code128. Posteriormente, el código de barras creado se guarda como un archivo de imagen JPEG llamado "myCode128Barcode.jpeg" usando el método SaveAsImage. La capacidad de cambiar el parámetro BarcodeWriterEncoding permite flexibilidad para seleccionar diferentes simbologías de código de barras según necesidades específicas, con opciones como EAN13, EAN8, Code Bar, MSI, ITF, PDF417, códigos QR o códigos Data Matrix ofrecidos por la biblioteca IronBarcode.

Si deseas guardar el código de barras generado en formatos distintos al JPEG, la biblioteca IronBarcode proporciona varios métodos para diferentes formatos de archivo. Puedes utilizar métodos como SaveAsHtmlFile, SaveAsPDF, SaveAsTiff, SaveAsPng, y otros, dependiendo de tus requerimientos. Por ejemplo, si deseas guardar el código de barras como un archivo HTML, puedes reemplazar la línea SaveAsImage con myBarcode.SaveAsHtmlFile("myCode128Barcode.html"). De manera similar, para otros formatos, puedes usar los métodos correspondientes, proporcionando el nombre de archivo y extensión deseados. Esta flexibilidad permite adaptar el código de barras generado a diferentes formatos de archivo para satisfacer necesidades específicas de la aplicación.

La imagen del código de barras generado es:

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 3 - Generar Salida de Código de Barras

Cambiar tamaño y guardar

Después de crear un código de barras, puedes redimensionarlo fácilmente. El siguiente código configurará su ancho máximo a 650 píxeles y su alto máximo a 300 píxeles.

Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
myBarcode.ResizeTo(650, 300)
' Save the resized barcode as an image
myBarcode.SaveAsImage("myCode128Barcode.jpeg")
Dim myBarcode = BarcodeWriter.CreateBarcode("0987654ABCD0987654", BarcodeWriterEncoding.Code128)
myBarcode.ResizeTo(650, 300)
' Save the resized barcode as an image
myBarcode.SaveAsImage("myCode128Barcode.jpeg")
VB .NET

El método ResizeTo se utiliza para redimensionar una imagen de código de barras. En el ejemplo proporcionado, myBarcode.ResizeTo(650, 300) se aplica al objeto myBarcode, sugiriendo que la imagen del código de barras se está redimensionando a un ancho de 650 píxeles y un alto de 300 píxeles.

Este método es beneficioso cuando necesitas ajustar las dimensiones de la imagen del código de barras generado para cumplir con requisitos específicos o para asegurarte de que encaje adecuadamente dentro de un diseño o área de visualización dada. Redimensionar puede ser útil en escenarios donde necesites controlar la presentación visual del código de barras en términos de su tamaño sin alterar los datos codificados.

La salida es como:

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 4 - Redimensionar Salida de Código de Barras

Lector de código de barras

IronBarcode hace que leer códigos de barras sea sencillo. Puedes extraer valores de código de barras desde diferentes fuentes:

  1. Desde un archivo.
  2. Desde un objeto bitmap.
  3. Desde archivos de imagen.
  4. Desde un PDF (usando ReadPdf).
  5. Desde un flujo de memoria.

El siguiente código escaneará la imagen del código de barras e imprimirá su valor en la consola.

Sub Main(args As String())
    Dim resultFromImage = BarcodeReader.Read("myCode128Barcode.jpeg") ' Scan barcodes
    For i As Integer = 0 To resultFromImage.Count - 1
        Console.WriteLine("Barcode Value: {0}", resultFromImage(i))
    Next i
End Sub
Sub Main(args As String())
    Dim resultFromImage = BarcodeReader.Read("myCode128Barcode.jpeg") ' Scan barcodes
    For i As Integer = 0 To resultFromImage.Count - 1
        Console.WriteLine("Barcode Value: {0}", resultFromImage(i))
    Next i
End Sub
VB .NET

El código anterior utiliza la biblioteca IronBarcode para leer datos de código de barras desde un archivo de imagen "myCode128Barcode.jpeg". El método BarcodeReader.Read extrae la información del código de barras, y se utiliza un bucle para iterar a través de los resultados. Los valores de los códigos de barras se imprimen luego en la consola usando Console.WriteLine.

Además, también puedes escanear datos de códigos de barras desde varias fuentes como Bitmaps, AnyBitmaps, archivos de imagen y flujos. Estas opciones proporcionan flexibilidad en el manejo de datos de código de barras desde diferentes formatos de entrada, que van desde archivos de imagen convencionales como BMP y JPG hasta representaciones más genéricas como AnyBitmaps y flujos. Con esto, podemos desarrollar nuestro propio lector de códigos de barras en .NET, que lea códigos de barras y devuelva el resultado.

La salida se muestra como sigue:

Resultado

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 5 - Salida de Lector de Código de Barras

Agregar opciones avanzadas a los lectores de códigos de barras

Podemos añadir más características avanzadas a nuestros escáneres de códigos de barras, como personalizar el escaneo de códigos de barras usando BarcodeReaderOptions. Establecer parámetros como:

  1. Velocidad de lectura (Más Rápido, Equilibrado, Detallado, Detalle Extremo).
  2. Si se espera más de 1 código de barras.
  3. Tipos específicos de códigos para escanear.
  4. Multihilo para procesamiento paralelo.
  5. Área de recorte para enfocarse en partes relevantes de la imagen.

Leeremos el siguiente archivo PDF que tiene tres imágenes de códigos de barras diferentes.

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 6 - Entrada de Códigos de Barras

El siguiente código añadirá características avanzadas a nuestro lector de códigos de barras en VB.NET.

Sub Main(args As String())
    Dim resultFromPdf = BarcodeReader.ReadPdf("Barcode.pdf") ' Scan barcodes from a PDF
    Dim myOptionsExample As New BarcodeReaderOptions() With {
        .Speed = ReadingSpeed.Balanced,
        .ExpectMultipleBarcodes = True,
        .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        .Multithreaded = True,
        .MaxParallelThreads = 2,
        .CropArea = New System.Drawing.Rectangle(),
        .UseCode39ExtendedMode = True
    }
    For i As Integer = 0 To resultFromPdf.Count - 1
        Console.WriteLine("Barcode Value - {0} = {1}", i, resultFromPdf(i))
    Next i
End Sub
Sub Main(args As String())
    Dim resultFromPdf = BarcodeReader.ReadPdf("Barcode.pdf") ' Scan barcodes from a PDF
    Dim myOptionsExample As New BarcodeReaderOptions() With {
        .Speed = ReadingSpeed.Balanced,
        .ExpectMultipleBarcodes = True,
        .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
        .Multithreaded = True,
        .MaxParallelThreads = 2,
        .CropArea = New System.Drawing.Rectangle(),
        .UseCode39ExtendedMode = True
    }
    For i As Integer = 0 To resultFromPdf.Count - 1
        Console.WriteLine("Barcode Value - {0} = {1}", i, resultFromPdf(i))
    Next i
End Sub
VB .NET

El código anterior escanea códigos de barras desde un archivo PDF, "Barcode.pdf". El método BarcodeReader.ReadPdf extrae información del código de barras del PDF, y se utiliza un bucle para iterar a través de los resultados. Además, el código introduce un objeto BarcodeReaderOptions, myOptionsExample, configurado con varias opciones como velocidad de lectura, expectativa de múltiples códigos de barras, aceptación de todos los tipos de códigos de barras unidimensionales, habilitación de multihilo con un máximo de dos hilos paralelos, especificación de un área de recorte, y uso del modo extendido Code 39. Estas opciones demuestran la flexibilidad de la biblioteca IronBarcode en la personalización del proceso de lectura de códigos de barras basado en requisitos específicos y consideraciones ambientales. Los valores de los códigos de barras se imprimen luego en la consola, proporcionando información sobre los datos decodificados del archivo PDF.

La salida se muestra como sigue:

Creando un Escáner de Código de Barras en VB.NET Tutorial: Figura 7 - Salida de Valores de Código de Barras

De esta manera, podemos crear nuestro propio DLL de escáner de código de barras en .NET.

Conclusión

En conclusión, este tutorial demostró cómo crear un escáner y generador de código de barras en VB.NET usando la biblioteca IronBarcode. IronBarcode ofrece una solución robusta para manejar tareas relacionadas con códigos de barras, ya sea generando opciones para compra, haciéndolo una herramienta flexible y accesible para incorporar capacidades de códigos de barras en proyectos VB.NET.

Preguntas Frecuentes

¿Cómo puedo leer códigos de barras de imágenes en VB.NET?

Para leer códigos de barras de imágenes en VB.NET, puedes usar la biblioteca IronBarcode. Primero, instala IronBarcode, luego utiliza el método Read() para extraer datos de códigos de barras de archivos de imagen.

¿Qué métodos están disponibles para leer códigos de barras de PDFs en VB.NET?

Puedes leer códigos de barras de PDFs en VB.NET usando el método ReadPdf() de IronBarcode. Esto te permite extraer información de códigos de barras directamente de archivos PDF.

¿Cuáles son las ventajas de usar IronBarcode para la generación de códigos de barras en VB.NET?

IronBarcode ofrece una API simple para generar códigos de barras en VB.NET. Puedes usar el método CreateBarcode() para generar códigos de barras en varios formatos, como JPEG, PDF y HTML, con soporte para múltiples tipos de códigos de barras.

¿Cómo puedo manejar múltiples códigos de barras en un solo escaneo usando VB.NET?

Para manejar múltiples códigos de barras en un solo escaneo usando VB.NET, configura el BarcodeReaderOptions en IronBarcode para habilitar la opción ExpectMultipleBarcodes, lo que permite la detección de múltiples códigos de barras en un escaneo.

¿Cuáles son algunas opciones avanzadas de configuración para el escaneo de códigos de barras en VB.NET?

IronBarcode proporciona opciones avanzadas de configuración a través de BarcodeReaderOptions, permitiéndote ajustar la velocidad de lectura, especificar tipos de códigos de barras esperados, habilitar multihilo y definir áreas específicas de recorte para escaneo dirigido.

¿Cómo redimensionar imágenes de códigos en VB.NET?

En VB.NET, puedes redimensionar imágenes de códigos de barras usando el método ResizeTo de IronBarcode, que te permite especificar el ancho y la altura máximos de la imagen del código de barras.

¿Cómo puedo guardar códigos de barras en diferentes formatos usando VB.NET?

Usando IronBarcode en VB.NET, puedes guardar códigos de barras en varios formatos como JPEG, PDF, HTML, TIFF y PNG. Esta flexibilidad permite una fácil integración en diferentes sistemas y aplicaciones.

¿Qué se requiere para construir una aplicación de escáner de códigos de barras en VB.NET?

Para construir una aplicación de escáner de códigos de barras en VB.NET, comienza instalando la biblioteca IronBarcode. Luego, utiliza métodos de BarcodeReader para escanear y extraer datos de imágenes o PDFs, personalizando el proceso de escaneo con opciones de BarcodeReaderOptions.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más