Saltar al pie de página
USO DE IRONBARCODE

Cómo Imprimir un Código de Barras en una Aplicación Windows en C#

1.0 Introducción

Una forma de presentar datos en un formato visible y legible por máquina es mediante el uso de códigos de barras. Al principio, las líneas paralelas se espaciaron, ampliaron y dimensionaron de manera diferente para representar datos en códigos de barras. Estos códigos de barras lineales modernos o unidimensionales (1D) pueden ser leídos por escáneres ópticos especializados conocidos como lectores de códigos de barras, de los cuales hay varias variedades. Más tarde, se crearon variaciones bidimensionales (2D), conocidas como códigos de matriz o códigos de barras 2D, aunque realmente no utilizan barras. Estas variaciones emplean rectángulos, puntos, hexágonos y otros patrones en lugar de los códigos de barras tradicionales. Existen escáneres ópticos 2D específicamente diseñados para leer códigos de barras 2D que están disponibles en varias configuraciones. Otro método para leer códigos de barras 2D es mediante el uso de una cámara digital conectada a una computadora que ejecuta software que toma una foto del código de barras y lo decodifica utilizando la imagen. La última forma de escáner de códigos de barras 2D puede ser utilizada por un dispositivo móvil con una cámara integrada, como un teléfono inteligente, al instalar software de aplicación especializado.

2.0 Características de IronBarcode

Generar un código de barras dinámico es fácil usando la Biblioteca de Códigos de Barras de IronBarcode. Esta sencilla biblioteca puede generar un código de barras con solo unas pocas líneas de código. Los lectores de códigos de barras de IronBarcode incluyen generadores de códigos de barras robustos que les permiten producir códigos de barras de alta calidad. Esto facilita al escáner de códigos de barras la lectura de tu código de barras.

  • IronBarcode puede leer y escribir la mayoría de los formatos de códigos de barras y estándares QR, incluyendo UPC A/E, Databar, EAN 8/13, MSI, Código 39/93/128, CodaB, RSS 14/Expandido e ITF.
  • Mientras se leen escaneos y fotogramas de video en tiempo real, IronBarcode puede rectificar la rotación, el ruido, la distorsión y el sesgo. Al producir códigos de barras, IronBarcode preprocesa automáticamente las imágenes de códigos de barras para mejorar la velocidad y precisión de lectura. Los códigos de barras dinámicos son populares porque permiten la modificación del contenido.
  • IronBarcode puede utilizar varios núcleos e hilos, lo cual es beneficioso para los servidores de procesamiento por lotes.
  • En documentos de una o varias páginas, IronBarcode puede encontrar automáticamente uno o más códigos de barras.
  • IronBarcode admite arquitecturas tanto de 32 bits como de 64 bits y es compatible con las implementaciones de .NET Framework y .NET Core.
  • IronBarcode admite aplicaciones de consola, de escritorio, en la nube y aplicaciones en línea en plataformas PC y móviles.
  • IronBarcode puede crear imágenes de códigos de barras para una variedad de tipos de archivos y flujos, incluyendo PDF, JPG, TIFF, GIF, BMP, PNG y HTML.

3.0 Creación de un nuevo proyecto en Visual Studio

Para usar el framework de IronBarcode, primero debe crearse un proyecto de Visual Studio .NET. Puede utilizarse cualquier versión de Visual Studio, aunque se recomienda la última versión. Dependiendo de sus necesidades, puede crear una aplicación de Windows Forms .NET o elegir entre una variedad de plantillas de proyecto. Para esta lección, usaremos la Aplicación de Windows Forms para mantener las cosas simples.

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 1 - Aplicación de Formularios de Windows

Ingrese el nombre y ubicación del proyecto.

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 2

.NET Framework 4.7 se utilizará en este proyecto.

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 3 - Aplicación Form1

Después de crear el proyecto, el archivo Form1.cs se abrirá en vista de diseño. Puede insertar el código del programa, diseñar la interfaz de usuario y construir/ejecutar el programa. Para usar la biblioteca de IronBarcode en la solución, necesita descargar el paquete requerido. Esto se puede hacer usando el siguiente código en la Consola del Administrador de Paquetes:

Install-Package BarCode

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 4 - Instalar paquete Barcode

Alternativamente, puede usar el Administrador de Paquetes de NuGet para buscar y descargar el paquete "Barcode", que listará todos los resultados de búsqueda. Desde allí, puede seleccionar el paquete requerido para descargar.

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 5 - Administrador de Paquetes de NuGet

En nuestro formulario, hemos colocado un cuadro SaveFileDialog que nos permite guardar las imágenes de códigos de barras generadas en una ubicación seleccionada.

4.0 Generar código de barras con IronBarcode

La biblioteca de IronBarcode nos permite generar códigos de barras rápidamente con solo unas pocas líneas de código. Código de ejemplo para generar una etiqueta de código de barras con un Formulario de Windows:

using IronBarCode;  // Import IronBarcode namespace for barcode generation
using System;
using System.Windows.Forms;  // For creating Windows Forms applications

namespace IronBarcode_demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();  // Initializes the form components
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                saveFileDialog1.Filter = ".png|*.png";  // Set file filter for saving as PNG
                DialogResult result = saveFileDialog1.ShowDialog();  // Show save file dialog
                if (result == DialogResult.OK)
                {
                    string filename = saveFileDialog1.FileName;  // Get the filename chosen by the user
                    // Create a QR code using data from textBox1, and save it as a PNG
                    QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename);
                    MessageBox.Show("Barcode Generated Successfully");  // Inform user of success
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);  // Display error message in case of exception
            }
        }
    }
}
using IronBarCode;  // Import IronBarcode namespace for barcode generation
using System;
using System.Windows.Forms;  // For creating Windows Forms applications

namespace IronBarcode_demo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();  // Initializes the form components
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                saveFileDialog1.Filter = ".png|*.png";  // Set file filter for saving as PNG
                DialogResult result = saveFileDialog1.ShowDialog();  // Show save file dialog
                if (result == DialogResult.OK)
                {
                    string filename = saveFileDialog1.FileName;  // Get the filename chosen by the user
                    // Create a QR code using data from textBox1, and save it as a PNG
                    QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename);
                    MessageBox.Show("Barcode Generated Successfully");  // Inform user of success
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);  // Display error message in case of exception
            }
        }
    }
}
Imports IronBarCode ' Import IronBarcode namespace for barcode generation
Imports System
Imports System.Windows.Forms ' For creating Windows Forms applications

Namespace IronBarcode_demo
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent() ' Initializes the form components
		End Sub

		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			Try
				saveFileDialog1.Filter = ".png|*.png" ' Set file filter for saving as PNG
				Dim result As DialogResult = saveFileDialog1.ShowDialog() ' Show save file dialog
				If result = System.Windows.Forms.DialogResult.OK Then
					Dim filename As String = saveFileDialog1.FileName ' Get the filename chosen by the user
					' Create a QR code using data from textBox1, and save it as a PNG
					QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng(filename)
					MessageBox.Show("Barcode Generated Successfully") ' Inform user of success
				End If
			Catch ex As Exception
				MessageBox.Show(ex.Message) ' Display error message in case of exception
			End Try
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Antes de comenzar el código, agregue un cuadro de texto a la aplicación WinForms de .NET. Esto nos permitirá ingresar el texto para generar el código de barras. Luego, agregue un botón a la aplicación de Windows Forms y agregue el código requerido del código de ejemplo. También estamos usando la herramienta SaveFileDialog, que ayudará a guardar la imagen del código de barras generada en la ubicación deseada.

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 6 - Texto de Código de Barras

El cuadro de diálogo "Guardar como" aparecerá cuando el usuario haga clic en el botón "guardar código de barras" y permitirá al usuario elegir el nombre de archivo y la ubicación para guardar la imagen del código de barras generada como un archivo PNG. El código de barras se genera en función del texto ingresado en el cuadro de texto.

Cómo Imprimir Código de Barras en Aplicación de Windows con C# Figura 7 - GuardarComo

El único argumento requerido para la función CreateQrCode es los datos que se deben codificar en la imagen de código QR (una cadena o un Stream que obtenemos del cuadro de texto). El método también acepta tres parámetros opcionales adicionales:

  • El tamaño predeterminado del gráfico es de 500 píxeles de ancho por 500 píxeles de alto.
  • Un nivel para corrección de errores. IronBarcode tiene cuatro niveles de corrección de errores: Bajo, Medio, Alto y Máximo. El nivel más alto de corrección se utiliza por defecto al crear códigos QR (QRCodeWriter.QrErrorCorrectionLevel.greatest).
  • El número de versión del código QR. Si el valor es 0 (el valor predeterminado), se instruye al método para usar el número de versión apropiado basado en los datos que codificará.

El ejemplo anterior crea un gráfico de 500 por 500 píxeles usando el grado medio de corrección de errores. Usando la función SaveAsPng en el código QR personalizado que fue generado, podemos guardar el código QR como un archivo PNG en una ubicación de archivo designada que obtenemos del cuadro de diálogo de archivos SaveAs.

Haga clic aquí para una guía más completa de IronBarcode.

5.0 Conclusión

La biblioteca de IronBarcode se considera una de las mejores opciones para generar y reconocer códigos de barras debido a su eficiencia y compatibilidad con varios sistemas operativos. Ofrece una gama de características para crear y personalizar diferentes tipos de códigos de barras, incluyendo la capacidad de ajustar el texto, color, ancho de línea y altura. Los detalles de licencia para la biblioteca están disponibles en el sitio web, que incluye versiones tanto pagadas como gratuitas para desarrolladores. Las actualizaciones y el soporte se proporcionan de forma gratuita durante un año.

Preguntas Frecuentes

¿Cómo puedo generar un código de barras en una aplicación de formularios de Windows en C#?

Para generar un código de barras en una aplicación de formularios de Windows en C#, puede integrar la biblioteca IronBarcode a través del Gestor de Paquetes NuGet. Cree un cuadro de texto para ingresar los datos del código de barras y un botón para activar la generación del código de barras utilizando el código de ejemplo proporcionado por IronBarcode.

¿Qué pasos están involucrados en configurar un proyecto de Visual Studio para la generación de códigos de barras?

Comience configurando una aplicación de formularios de Windows en Visual Studio con el .NET Framework 4.7 o posterior. Luego, instale el paquete IronBarcode usando el Gestor de Paquetes NuGet para habilitar las capacidades de generación de códigos de barras.

¿Cómo puedo guardar un código de barras generado como un archivo de imagen?

IronBarcode le permite guardar códigos de barras generados como archivos PNG. Puede usar la herramienta 'SaveFileDialog' en una aplicación de formularios de Windows para elegir el nombre de archivo y la ubicación para guardar la imagen del código de barras.

¿Cuáles son los beneficios de usar códigos de barras 2D sobre códigos de barras lineales tradicionales?

Los códigos de barras 2D, como los códigos QR, pueden almacenar más datos que los códigos de barras lineales tradicionales y pueden ser leídos por cámaras digitales o escáneres ópticos especializados, haciéndolos versátiles para diversas aplicaciones.

¿Puedo personalizar el nivel de corrección de errores al generar un código QR?

Sí, IronBarcode le permite establecer el nivel de corrección de errores al generar códigos QR. Esto se puede ajustar a Bajo, Medio, Alto o Máximo, dependiendo de cuán robusto necesite que sea el código QR contra daños o pérdida de datos.

¿Es posible procesar códigos de barras en lotes usando IronBarcode?

Sí, IronBarcode admite procesamiento por lotes utilizando múltiples núcleos e hilos, lo cual es particularmente útil para aplicaciones del lado del servidor que requieren procesamiento de códigos de barras de alto volumen.

¿En qué plataformas se puede usar IronBarcode?

IronBarcode es compatible con tanto .NET Framework como .NET Core, respaldando arquitecturas de 32 bits y 64 bits. Puede usarse en aplicaciones de consola, aplicaciones de escritorio, servicios en la nube y aplicaciones en línea tanto en plataformas PC como móviles.

¿Por qué es clave el preprocesamiento de imágenes en códigos de barras?

El preprocesamiento de imágenes es crucial porque mejora la precisión y velocidad de lectura de códigos de barras al corregir problemas como rotación, ruido, distorsión y sesgado, asegurando la generación y reconocimiento de códigos de barras de alta calidad.

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