IRONSOFTWAREHOME
USO DE IRONBARCODE

Generar códigos de barras en aplicaciones web ASP.NET Core

Curtis Chau
Curtis Chau
Updated: 27 de febrero de 2026

La integración de la generación de códigos de barras en una aplicación web ASP.NET abre potentes posibilidades para la gestión de inventarios, el seguimiento de productos y la automatización de documentos. Este tutorial demuestra cómo generar códigos de barras en un proyecto .NET Core usando IronBarcode, una biblioteca de códigos de barras que admite más de 30 formatos, incluyendo QR Code, Data Matrix, Code 128 y UPC A.

El siguiente ejemplo rápido muestra cómo crear un código de barras Código 128 y devolverlo como una imagen PNG desde una acción del controlador MVC:

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public IActionResult GenerateBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    barcode.AddBarcodeValueTextBelowBarcode();
    byte[] barcodeBytes = barcode.ToPngBinaryData();
    return File(barcodeBytes, "image/png");
}

Comience su prueba gratuita para seguir los ejemplos de código tutoriales completos a continuación.

¿Cómo instalar una biblioteca de códigos de barras en un proyecto .NET Core ?

Agregar capacidades de generación de códigos de barras a una aplicación web ASP.NET Core requiere instalar el paquete NuGet de IronBarcode. Abra Visual Studio y utilice la consola del gestor de paquetes para instalar las dependencias:

PM > Install-Package BarCode

El paquete es compatible con .NET Core 6, 7, 8, 10 y versiones más nuevas, así como con .NET Framework 4.6.2+. La biblioteca maneja todas las dependencias automáticamente, sin requerir fuentes de código de barras adicionales ni configuración del sistema. Una vez instalado, agregue la referencia del espacio de nombres al controlador o al archivo de servicio:

using IronBarCode;

¿Qué versiones y plataformas de .NET son compatibles?

IronBarcode apunta a todos los tiempos de ejecución modernos de .NET:

  • .NET 10, 9, 8, 7, 6 : versiones LTS y STS totalmente compatibles
  • .NET Framework 4.6.2+ : compatibilidad con aplicaciones heredadas
  • Destinos de implementación : Windows, Linux, macOS, Docker, Azure, AWS
  • Objetivos móviles : Android e iOS a través de .NET MAUI

No se requieren bibliotecas GD externas, códecs nativos ni instalaciones de fuentes de códigos de barras. La biblioteca es completamente autónoma y resuelve toda la lógica de codificación internamente.

¿Cómo agregar el espacio de nombres a un controlador?

Después de instalar el paquete NuGet, referencia el IronBarCode namespace en la parte superior de cualquier controlador, servicio o modelo de Razor Page donde se necesite la generación de códigos de barras:

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

Esta única directiva using proporciona acceso a BarcodeWriter, QRCodeWriter, BarcodeReader, y todos los tipos de soporte para tanto la generación como la lectura de códigos de barras.

¿Cómo se generan códigos de barras en una aplicación web ASP.NET Core ?

Crear códigos de barras en un controlador MVC implica la clase BarcodeWriter de IronBarcode. El siguiente ejemplo demuestra una acción de controlador completa que crea un código de barras Código 128 basado en una URL o texto proporcionado por un usuario:

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public class BarcodeController : Controller
{
    public IActionResult GenerateBarcode(string data)
    {
        // Generate barcode from input data
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
            data,
            BarcodeWriterEncoding.Code128);
        barcode.ResizeTo(400, 120);
        barcode.AddBarcodeValueTextBelowBarcode();
        // Return as image for display in browser
        byte[] barcodeBytes = barcode.ToPngBinaryData();
        return File(barcodeBytes, "image/png");
    }
}

Imagen de código de barras de salida

Generación de códigos de barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web: Imagen 1 - Código de barras generado

El método BarcodeWriter.CreateBarcode() acepta datos de código de barras como el primer parámetro y el formato de codificación como el segundo. Este enfoque crea códigos de barras de forma dinámica según la entrada del usuario o los valores de la base de datos.

Para guardar imágenes de códigos de barras en una carpeta del proyecto, utiliza el método SaveAsImage():

barcode.SaveAsImage("wwwroot/images/generated-barcode.png");

La biblioteca admite varios formatos de salida, como PNG, GIF, BMP, SVG y JPEG. También puede exportar códigos de barras como HTML para incrustarlos directamente en páginas web.

¿Cómo devolver un código de barras como descarga de archivo?

Para devolver el código de barras como un archivo descargable en lugar de una imagen en línea, configura el encabezado Content-Disposition en la respuesta:

public IActionResult DownloadBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    byte[] pdfBytes = barcode.ToPdfBinaryData();
    return File(pdfBytes, "application/pdf", "barcode.pdf");
}

Este patrón es útil para la generación de etiquetas de envío, flujos de trabajo de etiquetado de productos y cualquier escenario en el que el usuario final necesite guardar o imprimir un documento de código de barras directamente.

¿Qué tipos de BarCodes son compatibles con las aplicaciones web?

IronBarcode admite más de 30 formatos. A continuación se detalla cómo crear los tipos más utilizados:

Generación de códigos QR

// Create QR Code with custom size
GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode(
    "https://example.com/product/12345",
    500,
    QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("product-qr.png");

Código QR de salida

Generación de códigos de barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web: Imagen 2 - Imagen 2 de 6 relacionada con la Generación de Códigos de Barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web

La generación de códigos QR admite niveles de corrección de errores que determinan qué parte del código puede dañarse sin dejar de ser legible. Utilice un nivel medio o alto para aplicaciones de impresión de códigos QR en las que se prevea un desgaste físico. Obtenga más información sobre las opciones de personalización del código QR .

Matriz de datos y otros formatos 2D

// Create Data Matrix barcode
GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode(
    "DMX-2024-001",
    BarcodeWriterEncoding.DataMatrix);
dataMatrix.SaveAsGif("datamatrix.gif");

Matriz de datos de salida

Generación de códigos de barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web: Imagen 3 - Data Matrix Generado

Los códigos de barras Data Matrix destacan en situaciones que requieren una codificación compacta y de alta densidad. La biblioteca también genera formatos PDF417, Aztec y MaxiCode . Estos tipos de códigos de barras 2D almacenan muchos más datos que los formatos lineales, al tiempo que mantienen una precisión de escaneado fiable.

Códigos de barras lineales (UPC, EAN, Code 39)

// Create UPC-A barcode for retail products
GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode(
    "012345678905",
    BarcodeWriterEncoding.UPCA);
upcBarcode.SaveAsPng("upc-barcode.png");

Resultado

Generación de códigos de barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web: Imagen 4 - Código de barras generado

Los códigos de barras UPC A y EAN incluyen validación automática de suma de comprobación, lo que evita errores de codificación en el proceso de generación de códigos de barras. Para obtener una lista completa de formatos admitidos, consulte la referencia de formatos de código de barras .

¿Cómo personalizar y diseñar imágenes de códigos de barras?

Para diseñar códigos de barras para una aplicación web es necesario ajustar colores, fuentes, márgenes y anotaciones. La fluidez de la API facilita la personalización:

GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode(
    "STYLED-2024",
    BarcodeWriterEncoding.Code128);
// Apply styling
styledBarcode.ResizeTo(450, 150);
styledBarcode.SetMargins(20);
styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
styledBarcode.AddAnnotationTextAboveBarcode("Product ID:");
styledBarcode.AddBarcodeValueTextBelowBarcode();
// Export to multiple formats
styledBarcode.SaveAsPng("styled-barcode.png");
styledBarcode.SaveAsPdf("styled-barcode.pdf");

Imagen de código de barras estilizada

Generación de códigos de barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web: Imagen 5 - Código de barras con estilo de salida

El método SetMargins() añade espacio en blanco alrededor del código de barras para mejorar la legibilidad del escáner. Puede ajustar la configuración de fuentes para el texto de anotación, cambiar la familia y el tamaño de fuente y personalizar ampliamente el estilo del código de barras . La biblioteca representa texto utilizando fuentes del sistema sin necesidad de fuentes de código de barras externas.

¿Cómo incrustar un código de barras directamente en una vista Razor ?

Para las vistas ASP.NET MVC, genere códigos de barras como cadenas Base64 para incrustación HTML directa sin guardar archivos en el disco:

public IActionResult DisplayBarcode()
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
        "INV-2024-0042",
        BarcodeWriterEncoding.Code128);
    string base64Image = barcode.ToDataUrl();
    ViewBag.BarcodeImage = base64Image;
    return View();
}

Código de barras mostrado

Generación de códigos de barras en ASP .NET: Construye un Generador de Códigos de Barras para Tu Aplicación Web: Imagen 6 - Código de barras mostrado en nuestro navegador

En la vista Razor, muéstralo dentro de un elemento <div>:

<div class="barcode-container">
    <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" />
</div>
<div class="print-actions">
    <button onclick="window.print()">Print Barcode</button>
</div>
HTML

Este enfoque elimina la necesidad de guardar imágenes de códigos de barras en el sistema de archivos, manteniendo el servicio web sin estado. La referencia completa de API documenta todos los métodos y propiedades disponibles.

¿Cómo leer y escanear códigos de barras en ASP.NET Core?

La lectura de códigos de barras de imágenes subidas o streams de archivos se maneja con la clase BarcodeReader. Esto es útil para recibir flujos de trabajo, procesar devoluciones y cualquier escenario en el que sea necesario decodificar un código de barras escaneado en el lado del servidor:

using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

public class BarcodeScanController : Controller
{
    public IActionResult ScanBarcode(IFormFile uploadedImage)
    {
        using var stream = uploadedImage.OpenReadStream();
        var results = BarcodeReader.Read(stream);
        if (results.Count > 0)
        {
            string decodedValue = results[0].Value;
            return Ok(new { barcode = decodedValue });
        }
        return BadRequest("No barcode detected in image.");
    }
}

El método BarcodeReader.Read() acepta rutas de archivos, streams, y objetos System.Drawing.Bitmap. Detecta automáticamente el formato del código de barras y devuelve una colección de objetos BarcodeResult, cada uno conteniendo el valor decodificado, el tipo de formato, y la posición en la imagen. Cuando aparecen varios códigos de barras en una sola imagen (por ejemplo, en la fotografía de un estante de un almacén), el lector devuelve todos los valores detectados en la colección, no solo el primero.

También vale la pena considerar el rendimiento para aplicaciones ASP.NET de alto rendimiento. El lector admite el escaneo de región de interés, que recorta la imagen en un rectángulo de píxeles específico antes del análisis. Esto reduce significativamente el tiempo de procesamiento cuando los códigos de barras siempre aparecen en un área conocida de la imagen.

Para escenarios avanzados, como ajustar el contraste para imágenes de baja calidad o ajustar la sensibilidad de detección, consulte la documentación de lectura de códigos de barras .

¿Cómo exportar códigos de barras a PDF en ASP.NET?

La generación de códigos de barras integrados directamente en documentos PDF es un requisito común para etiquetas de envío, etiquetas de almacén y documentos de cumplimiento. IronBarcode admite guardar directamente en formato PDF:

GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
    "SHIP-2024-99471",
    BarcodeWriterEncoding.Code128);
barcode.ResizeTo(500, 150);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPdf("shipping-label.pdf");

Para documentos PDF con múltiples códigos de barras (por ejemplo, una página de etiquetas de productos), genere cada código de barras por separado y combínelos utilizando una biblioteca PDF. La guía de integración de IronPDF explica cómo estampar códigos de barras en plantillas PDF existentes, lo cual es útil para añadir códigos de barras a diseños de etiquetas pre-diseñados.

El método SaveAsPdf() también acepta dimensiones de salida para que la página del PDF renderizado coincida con el tamaño físico de etiqueta requerido por las impresoras de etiquetas.

¿Cómo gestionar los errores de generación y validación de códigos de barras?

Las reglas de codificación de códigos de barras varían según el formato. Por ejemplo, UPC-A requiere exactamente 11 o 12 dígitos, EAN-13 requiere exactamente 12 o 13, y el Código 128 tiene un límite práctico de 48 caracteres para una salida legible en tamaños estándar. Pasar datos inválidos genera un IronBarCodeEncoderException.

Manejar errores de codificación explícitamente en las acciones del controlador:

public IActionResult SafeGenerate(string data, string format)
{
    try
    {
        var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true);
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding);
        return File(barcode.ToPngBinaryData(), "image/png");
    }
    catch (IronBarCodeEncoderException ex)
    {
        return BadRequest($"Encoding error: {ex.Message}");
    }
    catch (ArgumentException ex)
    {
        return BadRequest($"Unknown format: {ex.Message}");
    }
}

Para uso en producción, valida la longitud de los datos de entrada y el conjunto de caracteres antes de llamar a CreateBarcode(). La documentación de IronBarcode proporciona restricciones de codificación específicas de formato para cada tipo de código de barras compatible.

¿Cuales son tus próximos pasos?

Crear un generador de códigos de barras ASP.NET con IronBarcode proporciona una solución confiable para crear, estilizar y exportar imágenes de códigos de barras en aplicaciones web de .NET Core. La biblioteca gestiona estándares de codificación complejos de forma automática, al tiempo que ofrece una amplia personalización a través de una API fácil de usar para los desarrolladores. Ya sea generando códigos QR para escaneos móviles, códigos de barras Data Matrix para aplicaciones industriales o códigos UPC para retail, IronBarcode se integra directamente con controladores ASP.NET MVC y páginas Razor.

Explora estos recursos para ir más allá:

Puede probar el conjunto completo de funciones durante el período de evaluación gratuito. Para implementación de producción y uso comercial, consulte las opciones de licencia para seleccionar la licencia adecuada para los requisitos de su proyecto. La biblioteca admite exportaciones de mapas de bits y vectores, y cada versión mantiene la compatibilidad con los destinos de implementación de Windows, Linux, Android e iOS.

Para preguntas, comparativas frente a bibliotecas de códigos de barras alternativas para .NET, o soporte de integración empresarial, visita el portal de soporte de IronBarcode.

Primer Paso:
arrow pointer
Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta