Crear BarCode a partir de texto, URLs, IDs y datos binarios en C#
IronBarcode permite a los desarrolladores de C# generar códigos de barras a partir de diversas fuentes de datos, como cadenas, matrices de bytes y flujos de memoria, mediante el método BarcodeWriter.CreateBarcode(), compatible con varios formatos de código de barras, como QR Code, Code128 y PDF417.
como-título:2(Inicio rápido: Crear un código de barras a partir de una cadena en una sola línea)
Utilice la API de IronBarcode para generar códigos de barras con una configuración mínima. Este ejemplo muestra cómo crear un código de barras a partir de una simple cadena utilizando una sola línea de código. Para ver ejemplos completos, consulte la guía Inicio rápido del código de barras.
Empieza a crear PDF con NuGet ahora:
Instalar IronBarcode con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Order123", IronBarCode.BarcodeWriterEncoding.Code128);Despliegue para probar en su entorno real
Empieza a utilizar IronBarcode en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para crear un código de barras a partir de datos
- Crear códigos de barras con
System.Stringde entrada utilizando el métodoCreateBarcode - Crear códigos de barras con
System.Byte[]de entrada mediante el métodoCreateBarcode - Crear códigos de barras con
System.IO.Streamde entrada utilizando el métodoCreateBarcode - Guarda el código de barras resultante en múltiples formatos de imagen
¿Cómo crear un BarCode a partir de una cadena?
¿Qué formatos de código de barras funcionan mejor para distintos tipos de cadenas?
Los distintos formatos de códigos de barras están optimizados para tipos de datos y casos de uso específicos. Comprender los formatos de código de barras compatibles ayuda a seleccionar la codificación adecuada:
- Códigos QR: lo mejor para URL, direcciones de correo electrónico y datos de texto de gran tamaño. Admite hasta 4.296 caracteres alfanuméricos con corrección de errores.
- Code128: ideal para datos alfanuméricos como números de pedido y códigos de serie. Altamente eficiente para aplicaciones modernas.
- PDF417: Perfecto para datos complejos como billetes de avión e identificaciones gubernamentales. Almacena hasta 1.850 caracteres alfanuméricos.
- Code93: excelente para servicios postales y seguimiento de inventarios con datos numéricos compactos.
- Aztec: Óptimo para la venta de billetes móviles y el transporte, ya que requiere menos espacio que los códigos QR.
El siguiente código demuestra cómo escribir códigos de barras con una cadena:
:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.csusing IronBarCode;
string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";
BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");Imports IronBarCode
Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"
BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")¿Cuáles son los resultados del código de barras generado?
Este código codifica cinco ejemplos de datos diferentes en cinco tipos de códigos de barras: texto simple a azteca, URL a código QR, ID numérico a código 93, ID alfanumérico a PDF417 y número a Codabar. Las imágenes se guardan como PNG. Para conocer las opciones avanzadas de exportación, consulte la guía Crear código de barras como imagen.

Texto

URL

ID de recibo

Identificación del vuelo

Número
¿Cómo puedo personalizar los códigos de barras generados?
Después de crear su código de barras, mejore su aspecto utilizando las funciones de estilización de IronBarcode. A continuación se explica cómo crear un código de barras personalizado con colores, anotaciones y márgenes:
using IronBarCode;
// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);
// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);
// Add text annotations
myBarcode.AddBarcodeValueTextoBelowBarcode();
myBarcode.AddAnnotationTextoAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);
// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");using IronBarCode;
// Create a barcode with custom styling
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);
// Apply custom styling
myBarcode.ResizeTo(300, 100);
myBarcode.SetMargins(10);
myBarcode.ChangeBarCodeColor(Color.DarkBlue);
// Add text annotations
myBarcode.AddBarcodeValueTextoBelowBarcode();
myBarcode.AddAnnotationTextoAboveBarcode("Product SKU", Font.Arial, Color.Black, 12);
// Save the customized barcode
myBarcode.SaveAsPng("customized-barcode.png");IRON VB CONVERTER ERROR developers@ironsoftware.comPara obtener más opciones de estilo, explore el tutorial Personalización y estilo de códigos de barras.
¿Cómo crear un código de barras a partir de una matriz de bytes?
¿Por qué es importante la codificación de caracteres para los códigos de barras de matriz de bytes?
Para crear códigos de barras a partir de matrices de bytes, asegúrese de que la codificación de caracteres coincide con la BarcodeEncoding requerida, ya que cada tipo de código de barras acepta una codificación de caracteres diferente. La comprensión de formatos de datos de salida garantiza la compatibilidad. Estas son las codificaciones de caracteres disponibles en IronBarcode:
- ASCII: Utiliza 7 bits por carácter para letras, dígitos y signos de puntuación en inglés. Ejemplo: 'A' = 65.
- UTF-8: Codificación de longitud variable para todos los caracteres Unicode. Ejemplo: € = 0xE2 0x82 0xAC.
- UTF-16: Utiliza secuencias de 16 bits para Unicode. Ejemplo: α = 0x03B1.
- UTF-32: Secuencia fija de 32 bits por carácter. Ejemplo: α = 0x000003B1.
- ISO-8859-1: Amplía ASCII para los idiomas de Europa Occidental. Ejemplo: é = 233.
[{i:La codificación de caracteres predeterminada en IronBarcode es ISO-8859-1.}]
¿Cómo convertir matrices de bytes en códigos de barras?
El siguiente código muestra la generación de un código de barras a partir de datos de bytes:
:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.csusing IronBarCode;
using System.Text;
byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");
BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");Imports IronBarCode
Imports System.Text
Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")
BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")Este fragmento transforma cinco entradas de cadena en objetos System.Byte[]. Para convertir estas matrices de bytes en códigos de barras, páselas a BarcodeWriter con la BarcodeEncoding deseada. Opcionalmente, establezca MaxWidth y MaxHeight para el tamaño del código de barras.
Trabajo con datos binarios y caracteres especiales
Cuando trabaje con datos binarios o caracteres especiales, utilice Escribir códigos de barras Unicode para obtener compatibilidad con caracteres internacionales. He aquí un ejemplo de manejo de datos binarios:
using IronBarCode;
using System.Texto;
using System.IO;
// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);
// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
base64Data,
BarcodeEncoding.QRCode
);
// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);
// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");using IronBarCode;
using System.Texto;
using System.IO;
// Example: Encoding binary data (like a small file) into QR Code
byte[] binaryData = File.ReadAllBytes("document.pdf");
string base64Data = Convert.ToBase64String(binaryData);
// Create QR code with high error correction for binary data
GeneratedBarcode binaryBarcode = BarcodeWriter.CreateBarcode(
base64Data,
BarcodeEncoding.QRCode
);
// Set high error correction for data integrity
binaryBarcode.SetQRCodeErrorCorrection(QRCodeErrorCorrection.High);
// Save with appropriate size for data density
binaryBarcode.ResizeTo(500, 500);
binaryBarcode.SaveAsPng("binary-data-qr.png");IRON VB CONVERTER ERROR developers@ironsoftware.com¿Cómo crear un BarCode a partir de un flujo de memoria?
¿Cuándo debo utilizar flujos de memoria para la generación de códigos de barras?
Los flujos de memoria funcionan mejor cuando se procesan datos que no requieren almacenamiento en disco, como el contenido generado dinámicamente en aplicaciones web o el procesamiento de bases de datos. La guía Exportar código de barras como flujo proporciona contexto adicional para los flujos de trabajo basados en flujos.
El siguiente código muestra la generación de un código de barras a partir de un flujo de memoria:
:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.csusing IronBarCode;
using System.IO;
using System.Text;
MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));
BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");Imports IronBarCode
Imports System.IO
Imports System.Text
Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))
BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")¿Cuáles son las ventajas de utilizar flujos de memoria?
Este fragmento crea un MemoryStream a partir de un objeto System.Byte[] y, a continuación, lo utiliza como entrada en BarcodeWriter.CreateBarcode() para generar un código de barras a partir de los datos del flujo de memoria. Los flujos de memoria ofrecen varias ventajas:
- Rendimiento: Sin operaciones de E/S de disco, más rápido para datos temporales
- Seguridad: Los datos permanecen en memoria, lo que reduce la exposición de información sensible
- Flexibilidad: fácil integración con API y bibliotecas basadas en flujos
- Eficiencia de recursos: Gestión y eliminación automática de memoria
Ejemplo avanzado de procesamiento de flujos
Para escenarios complejos que impliquen el procesamiento de secuencias, combine IronBarcode con otras operaciones de secuencias:
using IronBarCode;
using System.IO;
using System.Texto;
// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
var barcodeStreams = new List<Stream>();
foreach (var item in dataItems)
{
// Convert string to stream
var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));
// Generate barcode from stream
var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);
// Export barcode back to stream
var outputStream = new MemoryStream();
barcode.SaveAsPng(outputStream);
outputStream.Position = 0; // Reset position for reading
barcodeStreams.Add(outputStream);
}
return barcodeStreams;
}
// Usage example
var orderNúmeros = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNúmeros);using IronBarCode;
using System.IO;
using System.Texto;
// Example: Processing multiple barcodes in a batch using streams
public static List<Stream> GenerateBarcodeStreams(List<string> dataItems)
{
var barcodeStreams = new List<Stream>();
foreach (var item in dataItems)
{
// Convert string to stream
var dataStream = new MemoryStream(Encoding.UTF8.GetBytes(item));
// Generate barcode from stream
var barcode = BarcodeWriter.CreateBarcode(dataStream, BarcodeEncoding.Code128);
// Export barcode back to stream
var outputStream = new MemoryStream();
barcode.SaveAsPng(outputStream);
outputStream.Position = 0; // Reset position for reading
barcodeStreams.Add(outputStream);
}
return barcodeStreams;
}
// Usage example
var orderNúmeros = new List<string> { "ORD-001", "ORD-002", "ORD-003" };
var barcodes = GenerateBarcodeStreams(orderNúmeros);IRON VB CONVERTER ERROR developers@ironsoftware.comPara conocer las operaciones asíncronas y mejorar el rendimiento en aplicaciones multihilo, consulte la guía Use Async and Multithread.
Preguntas Frecuentes
¿Cómo crear un código de barras a partir de texto en C#?
Puede crear un código de barras a partir de texto en C# utilizando IronBarcode con sólo una línea de código: BarcodeWriter.CreateBarcode("SuTexto", BarcodeWriterEncoding.Code128). IronBarcode soporta múltiples formatos incluyendo QR Code, Code128, PDF417, Aztec, y más.
¿Qué tipos de datos puedo codificar en códigos de barras?
IronBarcode permite codificar varios tipos de datos, como cadenas, URL, ID, datos binarios (matrices de bytes) y flujos de memoria. La biblioteca gestiona automáticamente la conversión y codificación en función del formato de código de barras elegido.
¿Qué formato de código de barras debo utilizar para las URL?
Los códigos QR son la mejor opción para codificar URL en IronBarcode. Los códigos QR pueden almacenar hasta 4.296 caracteres alfanuméricos e incluyen funciones de corrección de errores, lo que los hace ideales para direcciones web y direcciones de correo electrónico.
¿Qué formato de código de barras es mejor para los números de pedido y los códigos de serie?
Code128 es el formato ideal para datos alfanuméricos como números de pedido y códigos de serie cuando se utiliza IronBarcode. Es muy eficiente para las aplicaciones modernas y proporciona una excelente densidad de datos para conjuntos de caracteres mixtos.
¿Puedo crear códigos de barras a partir de datos binarios?
Sí, IronBarcode admite la creación de códigos de barras a partir de datos binarios utilizando matrices System.Byte[] o entradas System.IO.Stream a través del método CreateBarcode, lo que permite codificar cualquier tipo de información binaria.
¿En qué formatos de imagen puedo guardar los códigos de barras?
IronBarcode permite guardar los códigos de barras generados en varios formatos de imagen, como PNG, JPEG, BMP, GIF y TIFF. La biblioteca ofrece opciones de exportación flexibles para diferentes casos de uso.
¿Cuántos datos puedo almacenar en un código de barras PDF417?
Los códigos de barras PDF417 creados con IronBarcode pueden almacenar hasta 1.850 caracteres alfanuméricos, lo que los hace perfectos para datos complejos como billetes de avión, etiquetas de envío e identificaciones gubernamentales.
¿Qué formato de código de barras es mejor para la venta de entradas por móvil?
Los códigos de barras aztecas son óptimos para aplicaciones móviles de venta de billetes y transporte cuando se utiliza IronBarcode. Requieren menos espacio que los códigos QR a la vez que mantienen una gran capacidad de datos y legibilidad en dispositivos móviles.






