Cómo Generar Imágenes de Código de Barras en C#

Cómo generar imágenes de códigos de barras en aplicaciones C# .NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

¿Necesitas generar rápidamente imágenes profesionales de código de barras en tus aplicaciones .NET? Este tutorial te muestra exactamente cómo crear, personalizar y exportar códigos de barras usando IronBarcode: desde implementaciones simples de una línea hasta técnicas avanzadas de estilo que te dan control total sobre la apariencia de tu código de barras.

como-título:2(Inicio Rápido: Crea y Guarda una Imagen de Código de Barras al Instante)

Con IronBarcode puedes generar y exportar una imagen de código de barras con solo una llamada simple. Usa el método CreateBarcode con tu texto, elige el formato y el tamaño, luego llama a SaveAsPng — no se necesita configuración compleja.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronBarcode con el gestor de paquetes NuGet

    PM > Install-Package BarCode

  2. Copie y ejecute este fragmento de código.

    IronBarCode.BarcodeWriter.CreateBarcode("Hello123", BarcodeWriterEncoding.Code128, 200, 100).SaveAsPng("barcode.png");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronBarcode en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

¿Cómo instalo una biblioteca generadora de códigos de barras en C#?

Instalar IronBarcode toma solo segundos usando el Administrador de Paquetes NuGet. Puedes instalarlo directamente a través de la Consola del Administrador de Paquetes o descargar el DLL manualmente.

Install-Package BarCode
IronBarcode simplifica la generación de códigos de barras en aplicaciones .NET con funciones potentes y API fáciles de usar. IronBarcode ofrece capacidades integrales de generación de códigos de barras para desarrolladores .NET

¿Cómo puedo generar un código de barras simple usando C#?

Crear tu primer código de barras requiere solo dos líneas de código. El siguiente ejemplo demuestra la generación de un código de barras estándar Code128 y guardarlo como un archivo de imagen.

using IronBarCode;

// Create a barcode with your desired content and encoding type
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);

// Save the barcode as a PNG image file
myBarcode.SaveAsPng("myBarcode.png");

// Optional: Open the generated image in your default viewer
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo("myBarcode.png") { UseShellExecute = true });
using IronBarCode;

// Create a barcode with your desired content and encoding type
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);

// Save the barcode as a PNG image file
myBarcode.SaveAsPng("myBarcode.png");

// Optional: Open the generated image in your default viewer
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo("myBarcode.png") { UseShellExecute = true });
Imports IronBarCode

' Create a barcode with your desired content and encoding type
Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128)

' Save the barcode as a PNG image file
myBarcode.SaveAsPng("myBarcode.png")

' Optional: Open the generated image in your default viewer
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo("myBarcode.png") With {.UseShellExecute = True})
$vbLabelText   $csharpLabel

El método BarcodeWriter.CreateBarcode() es tu punto de entrada para la generación de códigos de barras. Acepta dos parámetros: los datos que deseas codificar y el formato del código de barras del enum BarcodeWriterEncoding. IronBarcode admite todos los formatos de código de barras principales, incluidos Code128, Code39, EAN13, UPC-A, PDF417, DataMatrix y códigos QR.

Una vez generado, el objeto GeneratedBarcode proporciona múltiples opciones de exportación. Puedes guardarlo en varios formatos de imagen (PNG, JPEG, GIF, TIFF), exportarlo a PDF, o incluso recuperarlo como un System.Drawing.Bitmap para un procesamiento adicional en tu aplicación.

Ejemplo de un código de barras Code128 generado usando IronBarcode en C# A Code128 barcode generated with IronBarcode displaying a URL

¿Puedo personalizar la apariencia de los códigos de barras generados?

IronBarcode ofrece extensas opciones de personalización que van más allá de la generación básica de códigos de barras. Puedes agregar anotaciones, ajustar colores, establecer márgenes y controlar cada aspecto de la apariencia de tu código de barras.

using IronBarCode;
using IronSoftware.Drawing;

// Create a QR code with advanced styling options
GeneratedBarcode myBarCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com/csharp/barcode", 
    BarcodeWriterEncoding.QRCode
);

// Add descriptive text above the barcode
myBarCode.AddAnnotationTextAboveBarcode("Product URL:");

// Display the encoded value below the barcode
myBarCode.AddBarcodeValueTextBelowBarcode();

// Set consistent margins around the barcode
myBarCode.SetMargins(100);

// Customize the barcode color (purple in this example)
myBarCode.ChangeBarCodeColor(Color.Purple);

// Export as an HTML file for web integration
myBarCode.SaveAsHtmlFile("MyBarCode.html");
using IronBarCode;
using IronSoftware.Drawing;

// Create a QR code with advanced styling options
GeneratedBarcode myBarCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com/csharp/barcode", 
    BarcodeWriterEncoding.QRCode
);

// Add descriptive text above the barcode
myBarCode.AddAnnotationTextAboveBarcode("Product URL:");

// Display the encoded value below the barcode
myBarCode.AddBarcodeValueTextBelowBarcode();

// Set consistent margins around the barcode
myBarCode.SetMargins(100);

// Customize the barcode color (purple in this example)
myBarCode.ChangeBarCodeColor(Color.Purple);

// Export as an HTML file for web integration
myBarCode.SaveAsHtmlFile("MyBarCode.html");
Imports IronBarCode
Imports IronSoftware.Drawing

' Create a QR code with advanced styling options
Private myBarCode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode)

' Add descriptive text above the barcode
myBarCode.AddAnnotationTextAboveBarcode("Product URL:")

' Display the encoded value below the barcode
myBarCode.AddBarcodeValueTextBelowBarcode()

' Set consistent margins around the barcode
myBarCode.SetMargins(100)

' Customize the barcode color (purple in this example)
myBarCode.ChangeBarCodeColor(Color.Purple)

' Export as an HTML file for web integration
myBarCode.SaveAsHtmlFile("MyBarCode.html")
$vbLabelText   $csharpLabel

La clase GeneratedBarcode proporciona un rico conjunto de métodos para personalización:

  • Anotaciones: Usa AddAnnotationTextAboveBarcode() y AddAnnotationTextBelowBarcode() para agregar etiquetas personalizadas o instrucciones alrededor de tu código de barras
  • Visualización del Valor: El método AddBarcodeValueTextBelowBarcode() muestra automáticamente los datos codificados en formato legible para humanos
  • Espaciado: Controla el espacio en blanco con SetMargins() para asegurar un escaneo adecuado y atractivo visual
  • Colores: Cambia colores de fondo y primer plano usando ChangeBarCodeColor() y ChangeBackgroundColor()
  • Opciones de Exportación: Guarda como archivos de imagen, PDFs, o documentos HTML independientes
Customized purple QR code with annotations generated using IronBarcode styling features Un código QR con estilo que incluye color personalizado y texto de anotación.

Para opciones de personalización detalladas, explora la documentación de la clase GeneratedBarcode que cubre todos los métodos y propiedades de estilo disponibles.

¿Cómo creo y exporto un código de barras en una línea de código?

IronBarcode implementa un patrón de diseño de API fluida que permite encadenamiento de métodos para un código más conciso y legible. Este enfoque es particularmente útil al aplicar múltiples transformaciones a tu código de barras.

using IronBarCode;
using IronSoftware.Drawing;

// Generate, style, and convert a barcode in a single statement
string value = "https://ironsoftware.com/csharp/barcode";

// Create PDF417 barcode with chained operations
AnyBitmap barcodeBitmap = BarcodeWriter
    .CreateBarcode(value, BarcodeWriterEncoding.PDF417)  // Create PDF417 barcode
    .ResizeTo(300, 200)                                  // Set specific dimensions
    .SetMargins(10)                                      // Add 10px margins
    .ToBitmap();                                         // Convert to bitmap

// Convert to System.Drawing.Bitmap for legacy compatibility
System.Drawing.Bitmap legacyBitmap = barcodeBitmap;
using IronBarCode;
using IronSoftware.Drawing;

// Generate, style, and convert a barcode in a single statement
string value = "https://ironsoftware.com/csharp/barcode";

// Create PDF417 barcode with chained operations
AnyBitmap barcodeBitmap = BarcodeWriter
    .CreateBarcode(value, BarcodeWriterEncoding.PDF417)  // Create PDF417 barcode
    .ResizeTo(300, 200)                                  // Set specific dimensions
    .SetMargins(10)                                      // Add 10px margins
    .ToBitmap();                                         // Convert to bitmap

// Convert to System.Drawing.Bitmap for legacy compatibility
System.Drawing.Bitmap legacyBitmap = barcodeBitmap;
Imports IronBarCode
Imports IronSoftware.Drawing

' Generate, style, and convert a barcode in a single statement
Private value As String = "https://ironsoftware.com/csharp/barcode"

' Create PDF417 barcode with chained operations
Private barcodeBitmap As AnyBitmap = BarcodeWriter.CreateBarcode(value, BarcodeWriterEncoding.PDF417).ResizeTo(300, 200).SetMargins(10).ToBitmap() ' Convert to bitmap

' Convert to System.Drawing.Bitmap for legacy compatibility
Private legacyBitmap As System.Drawing.Bitmap = barcodeBitmap
$vbLabelText   $csharpLabel

El patrón de API fluida ofrece varias ventajas:

  • Legibilidad: Encadena operaciones en una secuencia lógica que se lea como lenguaje natural
  • Eficiencia: Reduce declaraciones de variables y pasos intermedios
  • Flexibilidad: Añade o elimina operaciones fácilmente sin reestructurar tu código

Operaciones comunes fluidas incluyen:

  • ResizeTo(): Controla las dimensiones exactas del código de barras
  • SetMargins(): Añade espaciado consistente
  • ChangeBarCodeColor(): Modifica la apariencia
  • AddAnnotationTextAboveBarcode(): Incluye texto descriptivo
  • ToBitmap(), SaveAsPng(), SaveAsPdf(): Exporta en diversos formatos
Código de barras PDF417 creado mediante la API fluida de IronBarcode con dimensiones personalizadas A PDF417 barcode generated using fluent method chaining

¿Qué formatos de código de barras admite IronBarcode?

IronBarcode admite generación de formatos de código de barras completa a través del enum BarcodeWriterEncoding. Los formatos admitidos incluyen:

Códigos de Barras 1D: Code128, Code39, Code93, Codabar, ITF, MSI, Plessey, UPCA, UPCE, EAN8, EAN13 Códigos de Barras 2D: QRCode, DataMatrix, PDF417, Aztec, MaxiCode Formatos Especializados: IntelligentMail, DataBar, DataBarExpanded, y varios estándares GS1

Cada formato tiene características específicas y casos de uso. Por ejemplo, los códigos QR son excelentes para almacenar URLs y grandes cantidades de datos, mientras que EAN13 es estándar para productos minoristas. Aprende más sobre cómo elegir el formato de código de barras adecuado para tu aplicación.

¿Cómo puedo verificar que mi código de barras generado sea legible?

La garantía de calidad es crítica para la implementación de códigos de barras. IronBarcode incluye verificación incorporada para asegurar que tus códigos de barras generados sigan siendo legibles:

// Generate and verify a barcode
GeneratedBarcode myBarcode = BarcodeWriter
    .CreateBarcode("TEST123", BarcodeWriterEncoding.Code128)
    .ResizeTo(200, 100)
    .ChangeBarCodeColor(Color.DarkBlue);

// Verify the barcode is still readable after modifications
bool isReadable = myBarcode.Verify();
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
// Generate and verify a barcode
GeneratedBarcode myBarcode = BarcodeWriter
    .CreateBarcode("TEST123", BarcodeWriterEncoding.Code128)
    .ResizeTo(200, 100)
    .ChangeBarCodeColor(Color.DarkBlue);

// Verify the barcode is still readable after modifications
bool isReadable = myBarcode.Verify();
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
' Generate and verify a barcode
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("TEST123", BarcodeWriterEncoding.Code128).ResizeTo(200, 100).ChangeBarCodeColor(Color.DarkBlue)

' Verify the barcode is still readable after modifications
Dim isReadable As Boolean = myBarcode.Verify()
Console.WriteLine($"Barcode verification: {(If(isReadable, "PASS", "FAIL"))}")
$vbLabelText   $csharpLabel

El método Verify() comprueba si tu código de barras sigue siendo legible por máquina después de aplicar transformaciones como redimensionado o cambio de color. Esto es especialmente importante al usar colores no estándar o tamaños muy pequeños.

¿Dónde puedo encontrar más ejemplos de generación de códigos de barras?

Para expandir tus capacidades de generación de códigos de barras, explora estos recursos adicionales:

Código fuente y ejemplos

Descarga el código fuente completo para este tutorial:

Temas avanzados

Documentación de la API

¿Está listo para generar códigos de barras profesionales en su aplicación?

IronBarcode hace que la generación de códigos de barras sea sencilla al tiempo que proporciona la flexibilidad necesaria para aplicaciones profesionales. Ya sea que necesites códigos de productos simples o códigos de barras 2D complejos con estilo personalizado, IronBarcode maneja todo con un mínimo de código.

Descarga IronBarcode hoy y comienza a generar códigos de barras en minutos. ¿Necesita ayuda para elegir la licencia correcta? Consulta nuestras opciones de licencia o solicita una clave de prueba gratuita para probar IronBarcode en tu entorno de producción.

Preguntas Frecuentes

¿Cómo puedo crear una imagen de código de barras en C#?

Para crear una imagen de código de barras en C#, puedes usar el método BarcodeWriter.CreateBarcode() de IronBarcode. Esto te permite especificar los datos y el formato del código de barras, y luego guardar la imagen en formatos como PNG o JPEG usando métodos como SaveAsPng().

¿Cuáles son los pasos para instalar IronBarcode en un proyecto .NET?

Puedes instalar IronBarcode en tu proyecto .NET usando el Gestor de Paquetes NuGet en Visual Studio. Alternativamente, puedes descargar el DLL desde el sitio web de IronBarcode y añadirlo a las referencias de tu proyecto.

¿Cómo puedo exportar un código de barras como PDF en C#?

IronBarcode permite exportar códigos de barras como PDF usando el método SaveAsPdf() de la clase GeneratedBarcode, ofreciendo una forma sencilla de guardar tus códigos de barras en formato PDF.

¿Qué opciones de personalización están disponibles para los códigos de barras en C#?

IronBarcode proporciona extensas opciones de personalización, como cambiar los colores del código de barras con ChangeBarCodeColor(), añadir anotaciones de texto usando AddAnnotationTextAboveBarcode() y establecer márgenes con SetMargins().

¿Cómo puedo crear y estilizar rápidamente un código de barras en una línea de código?

Usando la API Fluida de IronBarcode, puedes crear y estilizar un código de barras en una línea con la encadenación de métodos: BarcodeWriter.CreateBarcode(data, encoding).ResizeTo(300, 200).SetMargins(10).SaveAsPng(path).

¿Cómo aseguro que mi código de barras sea escaneable después de las modificaciones?

Para verificar la escaneabilidad de un código de barras después de estilizar o redimensionar, utiliza el método Verify() en el objeto GeneratedBarcode para comprobar su legibilidad por máquina.

¿Puedo generar códigos QR con logotipos en C#?

Sí, IronBarcode soporta la generación de códigos QR con logotipos incrustados usando la clase QRCodeWriter, que incluye características para la inserción de logotipos y niveles mejorados de corrección de errores.

¿Cuál es el proceso para generar múltiples códigos de barras eficientemente en C#?

Puedes generar múltiples códigos de barras eficientemente en C# usando IronBarcode, que soporta el procesamiento por lotes y permite el uso de bucles o procesamiento en paralelo para manejar la generación de códigos de barras de alto volumen.

¿Qué formatos de archivo puedo usar para exportar códigos de barras en C#?

IronBarcode soporta la exportación de códigos de barras en varios formatos, incluyendo PNG, JPEG, GIF, TIFF, BMP, PDF y HTML, proporcionando flexibilidad para diferentes necesidades aplicativas.

¿Cómo puedo añadir texto legible por humanos debajo de un código de barras en C#?

Para añadir texto legible por humanos debajo de un código de barras en C#, usa el método AddBarcodeValueTextBelowBarcode(), que muestra automáticamente el valor codificado en un formato de texto debajo de la imagen del código de barras.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología en Iron Software y un ingeniero visionario que lidera la tecnología PDF en C#. Como el desarrollador original detrás de la base de código central de Iron Software, ha moldeado la arquitectura de productos de la compañía desde ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,979,979 | Version: 2025.11 recién lanzado