Saltar al pie de página
USO DE IRONBARCODE

Cómo Generar Código de Barras Code 128 en C#

Los códigos de barras son cruciales en las operaciones comerciales modernas, desde la gestión de inventario hasta el etiquetado de productos y el envío. Code 128 se destaca como una opción versátil y ampliamente utilizada entre los diferentes conjuntos de códigos de barras. En este artículo, exploraremos cómo construir un generador de códigos de barras Code 128 en C# utilizando la biblioteca IronBarcode.

Cómo generar un código de barras Code 128 en C

  1. Instale la biblioteca IronBarcode
  2. Genere un código de barras utilizando la codificación Code 128
  3. Cambie el tamaño del código de barras
  4. Estilice el código de barras cambiando el fondo y el color del código de barras
  5. Lea el código de barras creado

Introducción a los códigos de barras Code 128

El conjunto de códigos Code 128 es un código de barras lineal de alta densidad y longitud variable que puede codificar tanto datos alfanuméricos como caracteres especiales. Es autocontrolado, lo que incluye un dígito de verificación para garantizar la precisión de los datos. El esquema de codificación Code 128 admite tres caracteres de control:

  1. Conjunto de Caracteres A: Incluye letras mayúsculas, dígitos y caracteres especiales.
  2. Conjunto de Caracteres B: Incluye letras mayúsculas, letras minúsculas, dígitos y caracteres especiales adicionales.
  3. Conjunto de Caracteres C: Codifica pares de dígitos (00 a 99).

¿Por qué IronBarcode?

IronBarcode es una robusta biblioteca .NET que facilita la generación, decodificación y personalización de códigos de barras. Con soporte para diversas Codificaciones de Código de Barras como Code 128, Code 39, Code 93, Code EAN 13, EAN 8, códigos QR, y otros. Ofrece una API intuitiva para ajustes de contenido, tamaño y apariencia. Sus capacidades de decodificación, cálculo automático de verificación de suma y exportación de imágenes lo convierten en una herramienta valiosa para desarrolladores en la gestión de inventario y más allá. Las opciones de personalización de la biblioteca para propiedades, márgenes, fuentes y colores mejoran su versatilidad en tareas relacionadas con códigos de barras.

Creación del generador de códigos de barras Code 128 en C

Ahora, escribiremos código para generar una imagen de código de barras Code 128 en C#. El primer paso es instalar la biblioteca IronBarcode en nuestro proyecto. El proyecto puede ser de cualquier tipo, como Windows Forms, formularios web, MAUI, Xamarin, ASP.NET MVC, Razor o proyectos Blazor.

Instalación de la biblioteca IronBarcode

Para instalar el paquete IronBarcode NuGet utilizando la consola del Administrador de Paquetes en Visual Studio, puedes seguir estos pasos:

  1. Abre Visual Studio.
  2. En el menú superior, ve a "Ver" > "Otras Ventanas" > "Consola del Administrador de Paquetes" para abrir la Consola del Administrador de Paquetes.
  3. En la Consola del Administrador de Paquetes, puedes usar el comando Install-Package para instalar el paquete IronBarcode. Escribe el siguiente comando y presiona Enter:

    Install-Package BarCode
    Install-Package BarCode
    SHELL
  4. Este comando descargará e instalará la última versión del paquete IronBarcode NuGet y sus dependencias en tu proyecto.

Agrega el siguiente espacio de nombres para usar la biblioteca de código de barras en tu proyecto.

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

Generar imagen de código de barras Código 128

El siguiente código generará un código de barras Code 128.

// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);

// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);

// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)

' Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
$vbLabelText   $csharpLabel

Este código crea un código de barras desde la cadena de entrada y lo guarda como un archivo de imagen JPEG llamado "myBarcode.Jpeg". La codificación específica utilizada es Code 128, que puede representar caracteres alfanuméricos.

Explicación

La primera línea de código crea una nueva variable llamada myBarcode. Utiliza el método BarcodeWriter.CreateBarcode para generar un código de barras basado en la cadena de entrada "12345ABC12345".

El segundo argumento, BarcodeWriterEncoding.Code128, especifica el tipo de codificación para el código de barras. En este caso, está utilizando la codificación Code 128, que se usa comúnmente para datos alfanuméricos. El código de barras resultante se almacena en la variable myBarcode.

La segunda línea guarda el código de barras generado como un archivo de imagen JPEG. El nombre del archivo de imagen guardado es "myBarcode.Jpeg". El formato de la imagen guardada es JPEG (Grupo Conjunto de Expertos en Fotografía).

Resultado

El código de barras generado es:

Cómo Generar un código de barras Code 128 en C#: Figura 1 - Código de barras generado del código anterior

Este código se puede leer con un dispositivo de lectura de códigos de barras.

Ahora, redimensionemos nuestro código de barras.

Cambiar el tamaño del código de barras

El siguiente código cambiará el tamaño de nuestro código de barras según la dimensión dada.

static void Main(string[] args)
{
    // Create a barcode from the input string and specify encoding type as Code 128
    var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);

    // Resize the barcode image to the specified width and height (in pixels)
    myBarcode.ResizeTo(800, 300);

    // Save the resized barcode image as a JPEG file
    myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
    // Create a barcode from the input string and specify encoding type as Code 128
    var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);

    // Resize the barcode image to the specified width and height (in pixels)
    myBarcode.ResizeTo(800, 300);

    // Save the resized barcode image as a JPEG file
    myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
	' Create a barcode from the input string and specify encoding type as Code 128
	Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)

	' Resize the barcode image to the specified width and height (in pixels)
	myBarcode.ResizeTo(800, 300)

	' Save the resized barcode image as a JPEG file
	myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
$vbLabelText   $csharpLabel

El código para crear y guardar códigos de barras sigue siendo el mismo. Solo agrega la línea adicional para cambiar el tamaño del código de barras.

El método ResizeTo() cambia el tamaño de la imagen del código de barras almacenada en la variable myBarcode. El método ResizeTo se llama sobre el objeto myBarcode. Los dos argumentos pasados a ResizeTo son el ancho y la altura. En este caso, el ancho se establece en 800 píxeles y la altura se establece en 300 píxeles.

De esta manera, podemos establecer el ancho mínimo y la altura del módulo de barra. La imagen del código de barras tendrá estas dimensiones tras redimensionar, como se muestra a continuación.

Imagen de código de barras

Cómo Generar un código de barras Code 128 en C#: Figura 2 - Código de barras redimensionado del código anterior

Ahora, estilicemos nuestro código de barras.

Código de estilo 128 Código de barras

Ahora, vamos a estilizar nuestro código de barras cambiando el color de fondo y el color del código de barras.

static void Main(string[] args)
{
    // Create a barcode from the input string and specify encoding type as Code 128
    var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);

    // Resize the barcode image to the specified width and height (in pixels)
    myBarcode.ResizeTo(800, 300);

    // Change the background color of the barcode
    myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);

    // Change the barcode color
    myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);

    // Save the styled barcode image as a JPEG file
    myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
    // Create a barcode from the input string and specify encoding type as Code 128
    var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);

    // Resize the barcode image to the specified width and height (in pixels)
    myBarcode.ResizeTo(800, 300);

    // Change the background color of the barcode
    myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);

    // Change the barcode color
    myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);

    // Save the styled barcode image as a JPEG file
    myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
	' Create a barcode from the input string and specify encoding type as Code 128
	Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)

	' Resize the barcode image to the specified width and height (in pixels)
	myBarcode.ResizeTo(800, 300)

	' Change the background color of the barcode
	myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)

	' Change the barcode color
	myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)

	' Save the styled barcode image as a JPEG file
	myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
$vbLabelText   $csharpLabel

El código para generar y guardar códigos de barras es el mismo. Solo he agregado dos líneas adicionales para cambiar el color de fondo y el color del código de barras. La explicación es la siguiente:

  • CambiarColorDeFondo: El método ChangeBackgroundColor se llama sobre el objeto myBarcode. Este método cambia el color de fondo de la imagen del código de barras. El argumento pasado a ChangeBackgroundColor es Iron Software.Drawing.Color.Cornsilk, que especifica el color de fondo deseado. En este caso, el color de fondo se establece en Cornsilk, un color amarillo pálido.

  • CambiarColorDelCódigoDeBarras: El método ChangeBarCodeColor se llama sobre el objeto myBarcode. Este método cambia el color de las barras del código de barras. El argumento pasado a ChangeBarCodeColor es Iron Software.Drawing.Color.Brown, que especifica el color de código de barras deseado. En este caso, el color del código de barras se establece en marrón.

Resultado

Nuestro código de barras estilizado es:

Cómo Generar un código de barras Code 128 en C#: Figura 3 - Código de barras estilizado generado del código anterior

Leer el código de barras 128

Hemos aprendido a generar un código de barras Code 128. Escribamos el código para leer el código de barras:

static void Main(string[] args)
{
    // Read barcodes from the specified image file
    var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");

    // Loop through each barcode value read from the image
    foreach (var barcodeValue in resultFromBarcode)
    {
        // Print each barcode value to the console
        Console.WriteLine(barcodeValue);
    }
}
static void Main(string[] args)
{
    // Read barcodes from the specified image file
    var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");

    // Loop through each barcode value read from the image
    foreach (var barcodeValue in resultFromBarcode)
    {
        // Print each barcode value to the console
        Console.WriteLine(barcodeValue);
    }
}
Shared Sub Main(ByVal args() As String)
	' Read barcodes from the specified image file
	Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")

	' Loop through each barcode value read from the image
	For Each barcodeValue In resultFromBarcode
		' Print each barcode value to the console
		Console.WriteLine(barcodeValue)
	Next barcodeValue
End Sub
$vbLabelText   $csharpLabel

El código anterior lee los códigos de barras del archivo de imagen "myBarcode.Jpeg" e imprime sus valores en la consola. La clase BarcodeReader es responsable de decodificar los datos del código de barras de la imagen. La explicación del código es la siguiente:

Explicación del código

  • La primera línea crea una variable llamada resultFromBarcode. Llama al método BarcodeReader.Read para leer códigos de barras del archivo de imagen llamado "myBarcode.Jpeg". El resultado de esta operación se almacena en la variable resultFromBarcode.

  • La segunda línea inicia un bucle que itera a través de cada valor de código de barras en la colección resultFromBarcode. El bucle foreach nos permite procesar cada valor de código de barras uno por uno.

  • Dentro del bucle, esta línea imprime cada valor de código de barras en la consola. El barcodeValue representa el contenido de un código de barras que se leyó de la imagen.

El valor del código de barras se imprimirá en la consola como se muestra a continuación.

Resultado

Cómo Generar un código de barras Code 128 en C#: Figura 4 - Salida de la consola del código de barras leído

Conclusión

En conclusión, este artículo ha demostrado cómo crear un generador de códigos de barras Code 128 en C# utilizando la biblioteca IronBarcode. Aprovechando las capacidades de IronBarcode, los desarrolladores pueden fácilmente generar, personalizar y estilizar códigos de barras Code 128 para varias aplicaciones, incluyendo la gestión de inventario, el etiquetado de productos y el envío. Siguiendo este tutorial, los desarrolladores pueden integrar funcionalidades robustas de códigos de barras en sus proyectos C#, mejorando la eficiencia en el manejo de tareas relacionadas con la generación y decodificación de códigos de barras. La versatilidad de IronBarcode y su API intuitiva lo convierten en una herramienta valiosa para desarrolladores que trabajan en aplicaciones que implican la implementación de códigos de barras.

En el proceso de generación de códigos de barras Code 128 con la biblioteca IronBarcode, los desarrolladores tienen la flexibilidad de personalizar la selección de caracteres del conjunto de códigos, asegurando una codificación óptima de datos con valores ASCII variables. El código de renderizado se adapta sin problemas a los formatos de imagen preferidos, ofreciendo a los desarrolladores la opción de guardar códigos de barras en JPEG u otros formatos. Además, la inclusión de un carácter de fin asegura la terminación precisa de la información codificada dentro de los códigos de barras generados.

IronBarcode ofrece una prueba gratuita para desbloquear todo el potencial de la biblioteca para sus necesidades de desarrollo. Este enfoque permite a los desarrolladores evaluar las capacidades de IronBarcode antes de comprometerse con la licencia comercial.

Preguntas Frecuentes

¿Cómo puedo generar un código de barras código 128 en C#?

Para generar un código de barras código 128 en C#, utiliza el método BarcodeWriter.CreateBarcode de la biblioteca IronBarcode con la cadena de entrada deseada y especifica código 128 como el tipo de codificación. Luego puedes exportar la imagen del código de barras generado usando métodos como SaveAsJpeg.

¿Para qué se utiliza el código 128?

El código 128 se utiliza para codificar datos alfanuméricos y caracteres especiales en un formato de código de barras compacto. Es ideal para la gestión de inventarios, etiquetado de productos y aplicaciones de envío, debido a su alta densidad de datos y versatilidad.

¿Puedo personalizar la apariencia de un código de barras usando IronBarcode?

Sí, puedes personalizar la apariencia de un código de barras usando IronBarcode modificando sus colores con ChangeBackgroundColor y ChangeBarCodeColor, y redimensionándolo usando el método ResizeTo.

¿Cómo leo un código de barras en C#?

Para leer un código de barras en C#, utiliza el método BarcodeReader.Read de la biblioteca IronBarcode. Este método procesa el archivo de imagen que contiene el código de barras y devuelve los valores decodificados para un procesamiento posterior.

¿Cuáles son las ventajas de usar la biblioteca IronBarcode para la generación de códigos de barras?

La biblioteca IronBarcode ofrece una API fácil de usar, soporta varias codificaciones de códigos de barras, proporciona cálculo automático de checksum y permite la exportación de imágenes en múltiples formatos, convirtiéndolo en una herramienta flexible y eficiente para la generación y personalización de códigos de barras.

¿A qué formatos de imagen puede exportar IronBarcode?

IronBarcode puede exportar imágenes de código de barras a varios formatos, incluido JPEG, lo que permite flexibilidad en el manejo e integración de imágenes de códigos de barras en diferentes aplicaciones.

¿Es posible probar IronBarcode antes de comprarlo?

Sí, puedes probar el trial gratuito de IronBarcode para explorar su potencial completo y capacidades antes de comprometerte con una licencia comercial, asegurándote de poder integrar efectivamente la funcionalidad de códigos de barras en tus proyectos de C#.

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