Saltar al pie de página
USO DE IRONBARCODE

Tutorial de Componente de Código de Barras .NET Usando IronBarcode

Un componente de código de barras .NET es una biblioteca de código administrado que le permite generar y leer códigos de barras en aplicaciones C# con solo unas pocas líneas de código. IronBarcode admite todas las simbologías principales (Código 128, QR, Data Matrix, EAN, UPC y más) y funciona en Windows, Linux y macOS sin dependencias de tiempo de ejecución adicionales.

Instálelo mediante NuGet y comience a generar códigos de barras en minutos:

Install-Package BarCode
Install-Package BarCode
SHELL

¿Qué es un componente de código de barras .NET ?

Un componente de código de barras .NET es una biblioteca de software empaquetada como un paquete NuGet que proporciona capacidades de generación y lectura de códigos de barras a través de una API limpia. A diferencia de las fuentes de código de barras, que requieren cálculos de suma de comprobación manuales y reglas de formato complejas, un componente dedicado maneja toda la lógica de codificación internamente.

La biblioteca IronBarcode expone dos puntos de entrada principales:

  • BarcodeWriter -- crea imágenes de códigos de barras, archivos PDF y HTML a partir de texto o datos numéricos
  • BarcodeReader -- escanea imágenes, archivos PDF y TIFF de varios fotogramas para extraer valores de códigos de barras

Este diseño bidireccional significa que puede imprimir códigos de barras en etiquetas y escanearlos desde documentos dentro de la misma biblioteca, lo que es esencial para la gestión de inventario, el seguimiento de documentos, la integración de Crystal Reports y los flujos de trabajo de automatización de datos.

Las simbologías admitidas incluyen:

  • 1D lineal : Código 128, Código 39, Código 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E
  • Matriz 2D : Código QR, Matriz de datos, PDF417, Aztec
  • Variantes GS1 : GS1-128, GS1 DataBar

Los sistemas de fabricación normalmente utilizan el Código 128 para el seguimiento de productos porque codifica datos alfanuméricos de manera eficiente. Las aplicaciones de atención médica comúnmente dependen de Data Matrix para el etiquetado de medicamentos porque imprime bien en tamaños muy pequeños. Los sistemas de punto de venta minorista escanean códigos de barras EAN-13 y UPC-A en el momento del pago. Elegir la simbología adecuada para su caso de uso es una de las primeras decisiones que tomará al integrar la funcionalidad de código de barras.

¿Cómo instalar IronBarcode en un proyecto .NET ?

La instalación de IronBarcode lleva menos de dos minutos utilizando el Administrador de paquetes NuGet en Visual Studio o la CLI de .NET .

Consola del administrador de paquetes (Visual Studio):

Install-Package BarCode
Install-Package BarCode
SHELL

CLI de .NET :

dotnet add package BarCode
dotnet add package BarCode
SHELL

Cómo integrar un componente de código de barras .NET en C#: Figura 3 - Instalación

Después de instalar el paquete, agregue el espacio de nombres en la parte superior de cualquier archivo que use la funcionalidad de código de barras:

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

IronBarcode es compatible con .NET Framework 4.6.2 y versiones posteriores, .NET Core 3.1 y versiones posteriores, y .NET 5 a .NET 10. Se ejecuta en Windows, Linux y macOS, por lo que el mismo código funciona en contenedores alojados en la nube, servidores locales y estaciones de trabajo de desarrolladores sin necesidad de una configuración específica de la plataforma.

Para las aplicaciones ASP.NET Core , no se requiere registro de middleware. Llama a la API directamente desde controladores, servicios en segundo plano o Razor Pages. Las aplicaciones de Windows Forms y WPF obtienen acceso de la misma manera: agregan el espacio de nombres y comienzan a llamar métodos.

Cómo integrar un componente de código de barras .NET en C#: Figura 4 - Generar códigos de barras con soporte multiplataforma

Los pasos de instalación detallados, incluida la configuración de la fuente NuGet sin conexión y la configuración del proxy, están disponibles en la guía de inicio de IronBarcode .

¿Cómo se genera una imagen de código de barras en C#?

Generar un código de barras con IronBarcode requiere tres pasos: elegir la codificación, establecer el valor y guardar el resultado. El siguiente ejemplo crea un código de barras Código 128 y lo guarda como una imagen PNG y un documento PDF:

using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
$vbLabelText   $csharpLabel

El método ResizeTo() establece las dimensiones de los píxeles con precisión, lo que es importante cuando se imprimen etiquetas con un DPI específico. La llamada AddBarcodeValueTextBelowBarcode() agrega texto legible por humanos debajo de las barras, lo que facilita la verificación manual en entornos de almacén y venta minorista.

Formatos de salida de código de barras

Cómo integrar un componente de código de barras .NET en C#: Figura 5 - Salida PNG

Cómo integrar un componente de código de barras .NET en C#: Figura 6 - Salida PDF

IronBarcode exporta a PNG, JPEG, GIF, TIFF, BMP, PDF, HTML y cadenas base64. El formato base64 es particularmente útil para incorporar códigos de barras en respuestas de API que una interfaz procesa dinámicamente sin escribir archivos en el disco.

¿Cómo generar un código QR en C#?

Para los códigos QR, IronBarcode proporciona la clase QRCodeWriter con soporte integrado para niveles de corrección de errores y control del tamaño del módulo:

using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
$vbLabelText   $csharpLabel

Los códigos QR pueden codificar URL, texto simple, datos de contacto vCard, credenciales de Wi-Fi y secuencias de bytes arbitrarias. La página de ejemplos de generación de códigos de barras cubre escenarios de codificación adicionales, incluidos Data Matrix y PDF417.

¿Cómo se leen los códigos de barras a partir de imágenes?

Leer códigos de barras de una imagen es tan directo como escribirlos. El método BarcodeReader.Read() acepta una ruta de archivo, Stream, Bitmap o IronSoftware.Drawing.AnyBitmap, y devuelve una colección BarcodeResults:

using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
$vbLabelText   $csharpLabel

El lector preprocesa automáticamente las imágenes para corregir problemas de escaneo comunes: rotación, inclinación, ruido, bajo contraste y distorsión de la perspectiva. Esto significa que puede pasar la salida del escáner sin procesar directamente sin tener que preprocesarla usted mismo.

Escaneo desde un documento real

Cómo integrar un componente de código de barras .NET en C#: Figura 7 - Código de barras Code128 listo para escanear

Salida de lectura

Cómo integrar un componente de código de barras .NET en C#: Figura 8 - Salida de código de barras

¿Cómo configurar las opciones de lectura de códigos de barras?

Para escenarios de escaneo desafiantes o de gran volumen, BarcodeReaderOptions le brinda un control detallado sobre el algoritmo de lectura:

using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
$vbLabelText   $csharpLabel

Configurar ExpectBarcodeTypes para que coincida con los formatos que realmente espera mejora el rendimiento porque el lector omite los patrones que no pueden coincidir. La propiedad Speed varía desde Faster (mejor para imágenes limpias y de alta calidad) hasta ExtremeDetail (mejor para fuentes dañadas o de baja resolución). La documentación de lectura de códigos de barras cubre opciones adicionales, incluido el escaneo multiproceso y de región de interés.

¿Cómo personalizar la apariencia del código de barras?

IronBarcode le permite controlar cada aspecto visual de un código de barras generado antes de guardarlo. Puede configurar colores, fuentes, márgenes y texto de anotaciones mediante programación. Esto es útil al generar códigos de barras para etiquetas de marca o industrias reguladas donde el diseño de las etiquetas sigue especificaciones estrictas.

La API sigue un patrón de estilo fluido: crea el código de barras, llama a métodos de estilo y luego guarda. Todas las propiedades de estilo afectan el resultado inmediatamente y no requieren un paso de renderizado independiente. Consulte los ejemplos de estilo y anotación para ver la lista completa de propiedades disponibles.

¿Cómo manejar códigos de barras en documentos PDF?

IronBarcode lee códigos de barras incrustados en archivos PDF de la misma manera que lee archivos de imagen. Pase una ruta PDF a BarcodeReader.Read() y la biblioteca extraerá códigos de barras de cada página automáticamente. Esto es valioso para los flujos de trabajo de cuentas por pagar donde los PDF de facturas contienen códigos de barras GS1-128 y para los sistemas de logística donde los manifiestos de envío se distribuyen como archivos adjuntos en PDF.

También puede escribir códigos de barras directamente en páginas PDF utilizando IronBarcode junto con IronPDF para la generación de documentos. Un patrón común es generar un PDF de etiqueta de envío que contenga un bloque de dirección legible para humanos y un código de barras Código 128 escaneable para el número de seguimiento.

Para obtener más información sobre los flujos de trabajo de códigos de barras PDF, la sección de tutoriales de IronBarcode proporciona ejemplos integrales que abarcan el procesamiento de facturas, la impresión de etiquetas por lotes y el archivo de documentos.

¿Cómo integrar códigos de barras en las API de ASP.NET Core ?

Devolver una imagen de código de barras desde un punto final del controlador ASP.NET Core es un requisito común para los portales web que muestran etiquetas dinámicas. La salida base64 de IronBarcode hace que esto sea sencillo:

using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
$vbLabelText   $csharpLabel

Este enfoque funciona con cualquier marco frontend. El navegador recibe una respuesta de imagen estándar y la muestra en una etiqueta <img>. Para puntos finales de alto tráfico, genere códigos de barras una vez y almacene en caché la matriz de bytes, ya que el mismo ID de producto siempre produce la misma imagen de código de barras.

La referencia de la API de IronBarcode documenta todos los métodos disponibles, incluida la salida de transmisión, que evita la asignación de grandes matrices de bytes para códigos de barras de muy alta resolución.

¿Cómo gestiona IronBarcode la validación de códigos de barras y la corrección de errores?

Los estándares de código de barras definen reglas de codificación estrictas y requisitos de suma de comprobación. El código 128 utiliza una suma de comprobación módulo 103 ponderada. EAN-13 utiliza módulo 10. Los códigos QR incorporan corrección de errores Reed-Solomon que permite la recuperación parcial de datos incluso cuando hasta el 30% del código de barras está oscurecido o dañado.

IronBarcode aplica estas reglas automáticamente. Cuando llama a BarcodeWriter.CreateBarcode(), la biblioteca valida que los datos se ajusten al conjunto de caracteres de la simbología y a las restricciones de longitud, luego calcula y agrega la suma de comprobación correcta sin ningún paso adicional en su código. Esto evita la generación de códigos de barras no válidos que los escáneres rechazarán.

En el lado de la lectura, la biblioteca aplica corrección de errores durante la decodificación, lo que significa que a menudo puede recuperar el valor correcto de un código de barras que está parcialmente roto, manchado o impreso con baja resolución. Este comportamiento es particularmente importante para el cumplimiento de los estándares de códigos de barras GS1 en el comercio minorista y la logística.

Para una visión más profunda de cómo funciona la corrección de errores de códigos de barras a nivel de especificación, la documentación de estándares de códigos de barras ISO/IEC proporciona la referencia técnica autorizada.

¿Cuáles son los escenarios comunes de integración de códigos de barras?

Escenarios comunes de integración de códigos de barras y funciones recomendadas de IronBarcode
Guión Simbología Característica clave de IronBarcode
Punto de venta minorista EAN-13, UPC-A `BarcodeEncoding.EAN13` , exportación a PDF
Inventario de almacén Código 128, ITF-14 `ExpectMultipleBarcodes = true`
Etiquetado de atención médica Matriz de datos, GS1-128 Impresión de tamaño pequeño, exportación de alta resolución
Seguimiento de documentos PDF417, Código 39 Lectura de PDF, soporte para varias páginas
Búsqueda de productos móviles Código QR `QRCodeWriter.CreateQrCode()`
etiquetas de envío Código 128, GS1-128 Salida PDF del tamaño de una etiqueta, anotación de texto

Cada escenario se beneficia de diferentes opciones de configuración. La galería de ejemplos de IronBarcode proporciona código ejecutable para todos los escenarios anteriores.

¿Cuales son tus próximos pasos?

La integración de un componente de código de barras .NET convierte lo que de otro modo sería un esfuerzo de desarrollo personalizado de semanas en una tarde de configuración. IronBarcode maneja reglas de codificación, sumas de comprobación, preprocesamiento de imágenes y corrección de errores para que su equipo pueda concentrarse en la lógica empresarial que rodea los flujos de trabajo de códigos de barras en lugar de en la mecánica de los códigos de barras en sí.

Para seguir adelante:

  1. Instale el paquete : dotnet add package BarCode o Install-Package BarCode en la consola del administrador de paquetes
  2. Pruebe el inicio rápido : el ejemplo de inicio rápido del código de barras guía la generación y lectura en menos de 20 líneas de código.
  3. Explorar simbologías : La referencia de tipos de códigos de barras compatibles enumera todos los formatos de codificación con instrucciones de uso.
  4. Revise los precios : las opciones de licencia de IronBarcode cubren casos de uso de redistribución de OEM, equipos y desarrolladores únicos.
  5. Comience una prueba gratuita : descargue una licencia de prueba gratuita de 30 días para evaluar el conjunto completo de funciones en su propia aplicación.

Si tiene preguntas sobre licencias empresariales, implementaciones de gran volumen o desafíos de integración técnica, el equipo de soporte de IronBarcode está disponible para ayudarlo.

Referencias externas para estándares y especificaciones de códigos de barras:

Preguntas Frecuentes

¿Qué es un componente de código de barras .NET?

Un componente de código de barras .NET es una biblioteca de software que permite a los desarrolladores integrar la generación y el escaneo de códigos de barras en aplicaciones .NET , manejando reglas de codificación, sumas de comprobación y preprocesamiento de imágenes automáticamente.

¿Cómo puede IronBarcode ayudar en las aplicaciones .NET?

IronBarcode proporciona un componente .NET para generar y leer códigos de barras a través de una API simple, lo que facilita agregar capacidades de código de barras a aplicaciones C# sin implementar algoritmos de codificación manualmente.

¿Qué tipos de códigos de barras se pueden generar usando IronBarcode?

IronBarcode admite las variantes Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E, QR Code, Data Matrix, PDF417, Aztec y GS1.

¿Por qué debería usar un componente de código de barras en lugar de crear mi propia solución?

Un componente de código de barras profesional maneja automáticamente el cálculo de la suma de comprobación, la corrección de errores, el preprocesamiento de imágenes y la compatibilidad con múltiples formatos, lo que reduce el tiempo de desarrollo y el riesgo de generar códigos de barras no válidos.

¿Es IronBarcode adecuado para tareas de automatización de datos?

Sí, IronBarcode es ideal para la automatización de datos. Lee códigos de barras de imágenes y archivos PDF y se integra directamente con servicios en segundo plano, trabajos programados y API de ASP.NET Core .

¿Puede IronBarcode ser usado para el seguimiento de documentos?

Sí. IronBarcode lee códigos de barras de archivos PDF de varias páginas y TIFF de varios fotogramas, lo que lo hace práctico para flujos de trabajo de seguimiento de documentos en logística, cuentas a pagar y gestión de registros.

¿Qué versiones de .NET admite IronBarcode ?

IronBarcode es compatible con .NET Framework 4.6.2 y posteriores, .NET Core 3.1 y posteriores, y .NET 5 a .NET 10, y se ejecuta en Windows, Linux y macOS.

¿Cómo mejora IronBarcode los sistemas de gestión de inventarios?

IronBarcode proporciona generación confiable de códigos de barras y escaneo de múltiples códigos de barras a partir de imágenes y archivos PDF, lo que permite un seguimiento rápido y preciso del inventario en entornos de almacén y venta minorista.

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

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame