Saltar al pie de página
USO DE IRONBARCODE

Generador de matrices de datos en C#: tutorial completo con ejemplos de código

Los códigos de barras Data Matrix contienen una cantidad significativa de datos codificados en un área física pequeña, lo que los convierte en la opción preferida para etiquetar productos farmacéuticos, marcar componentes electrónicos y rastrear artículos en sistemas de gestión de inventario donde el espacio es limitado. Este tutorial le mostrará cómo generar códigos de barras Data Matrix en C# usando IronBarcode , personalizar su apariencia, codificar diferentes tipos de datos y exportarlos a varios formatos de archivo, todo con un código sencillo y listo para producción.

Empiece con IronBarcode ahora.
green arrow pointer

¿Qué hace que los códigos de barras Data Matrix sean especiales?

Los códigos de barras Data Matrix son símbolos 2D que codifican datos en una cuadrícula de puntos blancos y negros dispuestos en filas y columnas. A diferencia de los códigos de barras lineales tradicionales como UPC o EAN, pueden almacenar hasta 2.335 caracteres alfanuméricos o 3.116 dígitos numéricos en un espacio tan pequeño como 10 x 10 módulos. Su corrección de errores Reed-Solomon incorporada permite que los lectores de códigos de barras modernos los lean con precisión incluso cuando hasta el 30 % del símbolo esté dañado.

Estas características hacen que Data Matrix sea ideal para el marcado de piezas pequeñas, códigos de barras postales y componentes electrónicos, así como para el etiquetado en centros sanitarios y logísticos. La industria sanitaria utiliza los estándares GS1 Data Matrix para el seguimiento de medicamentos, mientras que los fabricantes los integran en sus líneas de producción para identificar artículos en todo el mundo. Dado que un solo código de barras puede almacenar tanta información, ahora se utilizan internacionalmente en diversas industrias que buscan una trazabilidad completa de las aplicaciones.

El estándar ISO/IEC 16022 rige la codificación Data Matrix y define la variante ECC200 que IronBarcode utiliza de forma predeterminada. ECC200 proporciona la corrección de errores más eficiente y la mayor capacidad de datos de cualquier versión de Data Matrix, lo que lo convierte en la opción correcta para nuevas implementaciones.

Matriz de datos frente a formatos de código de barras comunes
Formato Escriba a Máximos personajes Corrección de Errores Caso de uso típico
Matriz de datos (ECC200) 2D 2.335 alfanuméricos Reed-Solomon (~30%) Farmacia, electrónica, logística
Código QR 2D 4.296 alfanuméricos Reed-Solomon (hasta un 30%) URL, marketing, pagos
UPC-A 1D 12 dígitos Ninguno Identificación de productos minoristas
Código 128 1D ~50 caracteres Solo suma de comprobación Envíos, logística general

¿Cómo instalar la biblioteca de código de barras en un proyecto C#?

La instalación de IronBarcode lleva menos de un minuto utilizando el Administrador de paquetes NuGet . Abra la consola del gestor de paquetes en Visual Studio y ejecute:

Install-Package BarCode

Generador de matrices de datos en C#: Guía completa con IronBarcode: Imagen 1 - Imagen 1 de 5 relacionadas con Generador de matrices de datos en C#: Guía completa con IronBarcode

Alternativamente, busque BarCode de Iron Software en la GUI del Administrador de paquetes NuGet . Tras la instalación, añada el espacio de nombres a su archivo C#:

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

Esa es toda la configuración necesaria. IronBarcode maneja internamente toda la codificación compleja de Data Matrix, siguiendo el estándar ISO/IEC 16022, para que usted pueda concentrarse en la lógica de la aplicación. Para obtener opciones de configuración adicionales, como instalación sin conexión o fuentes de paquetes personalizados, consulte la guía de instalación de IronBarcode y la página de instalación avanzada de NuGet .

Marcos de destino compatibles

IronBarcode está dirigido a .NET 10, .NET 8, .NET 6, .NET 5, .NET Standard 2.0 y .NET Framework 4.6.2 y superiores. Si su proyecto apunta a alguno de estos marcos, el paquete NuGet se instala sin configuración adicional.

¿Cómo crear su primer código de barras Data Matrix?

Para generar un código de barras Data Matrix solo se necesita una línea de código:

// Create a Data Matrix barcode with product information
var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix);

// Save as a high-quality PNG image
myBarcode.SaveAsImage("product-label.png");
// Create a Data Matrix barcode with product information
var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix);

// Save as a high-quality PNG image
myBarcode.SaveAsImage("product-label.png");
$vbLabelText   $csharpLabel

Este código crea un código de barras Data Matrix que codifica el texto PROD-12345-2024 y lo guarda como archivo PNG. El parámetro BarcodeWriterEncoding.DataMatrix indica a IronBarcode que utilice el formato Data Matrix. El código de barras resultante aplica automáticamente la especificación ECC200, que incluye corrección de errores incorporada y garantiza un escaneo confiable en condiciones del mundo real.

Salida de código de barras

Generador de matrices de datos en C#: Guía completa con IronBarcode: Imagen 2 - Primera salida de código de barras

Para uso inmediato en aplicaciones, recupere el código de barras como mapa de bits o expórtelo directamente a PDF:

// Get barcode as a bitmap for direct display in a UI control
var barcodeBitmap = myBarcode.ToBitmap();

// Save as PDF for document integration
myBarcode.SaveAsPdf("barcode-document.pdf");
// Get barcode as a bitmap for direct display in a UI control
var barcodeBitmap = myBarcode.ToBitmap();

// Save as PDF for document integration
myBarcode.SaveAsPdf("barcode-document.pdf");
$vbLabelText   $csharpLabel

IronBarcode admite la exportación a formatos PNG, JPEG, BMP, GIF, TIFF, SVG y PDF. También puede crear y estampar códigos de barras en documentos PDF existentes para incrustarlos en órdenes de compra, facturas o manifiestos de envío.

¿Qué tipos de datos se pueden codificar en un código de barras de matriz de datos?

Data Matrix admite varios modos de codificación, cada uno optimizado para un conjunto de caracteres diferente. IronBarcode selecciona automáticamente el modo más eficiente en función del contenido que usted proporcione:

// Encode alphanumeric product codes
var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix);
productCode.SaveAsImage("product-code.png");

// Encode numeric serial numbers (numeric mode uses less space)
var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix);
serialNumber.SaveAsImage("serial-number.png");

// Encode URLs for product landing pages or support portals
var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix);
urlCode.SaveAsImage("url-datamatrix.png");

// Encode Unicode text for international applications
var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix);
unicodeBarcode.SaveAsImage("unicode-datamatrix.png");
// Encode alphanumeric product codes
var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix);
productCode.SaveAsImage("product-code.png");

// Encode numeric serial numbers (numeric mode uses less space)
var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix);
serialNumber.SaveAsImage("serial-number.png");

// Encode URLs for product landing pages or support portals
var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix);
urlCode.SaveAsImage("url-datamatrix.png");

// Encode Unicode text for international applications
var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix);
unicodeBarcode.SaveAsImage("unicode-datamatrix.png");
$vbLabelText   $csharpLabel

Los datos numéricos utilizan un modo de codificación compacto que reduce el tamaño del código de barras en comparación con el texto alfanumérico. La codificación binaria maneja caracteres especiales y texto Unicode sin configuración manual. IronBarcode selecciona automáticamente el modo de codificación más eficiente, por lo que no es necesario especificarlo explícitamente.

Resultado

Aquí, los cuatro tipos de datos se han codificado correctamente en códigos de barras Data Matrix válidos.

Generador de matrices de datos en C#: Guía completa con IronBarcode: Imagen 3 - Códigos de barras de matriz de datos creados con 4 tipos de datos diferentes

Para obtener una visión más profunda de las opciones de codificación y la compatibilidad de conjuntos de caracteres, consulte la documentación de codificación de IronBarcode y la referencia de tipos de datos de código de barras .

¿Cómo personalizar la apariencia de un código de barras Data Matrix?

IronBarcode expone un conjunto completo de opciones de personalización de códigos de barras para controlar el tamaño, el color, las anotaciones y los márgenes:

// Create barcode with custom styling
var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix);

// Set specific dimensions in pixels
customBarcode.ResizeTo(500, 500);

// Adjust colors for special label requirements
customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);

// Add human-readable text below the barcode symbol
customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024");

// Set margins to preserve the required quiet zone
customBarcode.SetMargins(10);

customBarcode.SaveAsImage("custom-datamatrix.png");
// Create barcode with custom styling
var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix);

// Set specific dimensions in pixels
customBarcode.ResizeTo(500, 500);

// Adjust colors for special label requirements
customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);

// Add human-readable text below the barcode symbol
customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024");

// Set margins to preserve the required quiet zone
customBarcode.SetMargins(10);

customBarcode.SaveAsImage("custom-datamatrix.png");
$vbLabelText   $csharpLabel

Estas personalizaciones ayudan a cumplir con los requisitos de marca corporativa o estándares de etiquetado específicos. El método ResizeTo mantiene proporciones de módulo adecuadas, lo cual es esencial para la legibilidad de Data Matrix a cualquier distancia del escáner. Los cambios de color se adaptan a procesos de impresión especiales o restricciones de sustrato, como etiquetas de colores o materiales metálicos. El margen de zona silenciosa establecido por SetMargins cumple con el requisito mínimo de espacio en blanco definido en la especificación ISO/IEC 16022.

Generador de matrices de datos en C#: Guía completa con IronBarcode: Imagen 4 - Salida de matriz de datos personalizada

Cómo elegir el tamaño correcto del código de barras

El tamaño mínimo legible de un código de barras Data Matrix depende del escáner y de la resolución de impresión. Para escaneo de propósito general, se recomienda un tamaño de módulo de al menos 0,3 mm. Con una resolución de impresión de 300 DPI, un código de barras de 500 píxeles mide aproximadamente 42 mm cuadrados, suficiente para un escaneo manual confiable. Para etiquetas más pequeñas, aumente el DPI o reduzca la carga de datos para mantener el símbolo dentro de un rango de tamaño escaneable.

¿Cómo generar múltiples códigos de barras en un lote?

La generación de lotes reduce el trabajo involucrado en la creación de grandes conjuntos de códigos Data Matrix para ejecuciones de producción, etiquetas de envío o inventario serializado:

// Generate barcodes for a batch of products
string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" };

foreach (string id in productIds)
{
    var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix);
    batchBarcode.ResizeTo(150, 150);
    batchBarcode.AddAnnotationTextBelowBarcode(id);

    // Save each barcode with a unique filename
    string filename = $"barcode_{id.Replace("-", "_")}.png";
    batchBarcode.SaveAsImage(filename);
}
// Generate barcodes for a batch of products
string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" };

foreach (string id in productIds)
{
    var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix);
    batchBarcode.ResizeTo(150, 150);
    batchBarcode.AddAnnotationTextBelowBarcode(id);

    // Save each barcode with a unique filename
    string filename = $"barcode_{id.Replace("-", "_")}.png";
    batchBarcode.SaveAsImage(filename);
}
$vbLabelText   $csharpLabel

Este patrón se adapta a los flujos de trabajo de logística y atención médica que requieren grandes conjuntos de etiquetas, cada uno asociado con un identificador único. Para aplicaciones web, estampar códigos de barras directamente en documentos PDF o transmitirlos como matrices de bytes permite la generación de etiquetas en tiempo real sin guardar archivos intermedios.

Generador de matrices de datos en C#: Guía completa con IronBarcode: Imagen 5 - Creación de códigos de barras de matrices de datos por lotes

Procesamiento asíncrono y multiproceso para lotes grandes

Al generar miles de códigos de barras, el procesamiento sincrónico se convierte en un cuello de botella. IronBarcode proporciona capacidades de procesamiento asincrónico y multiproceso que le permiten generar códigos de barras en paralelo en múltiples núcleos de CPU. Para un lote de 10.000 etiquetas, el procesamiento paralelo puede reducir el tiempo total de generación en un orden de magnitud en comparación con los bucles secuenciales.

Para escenarios de alto rendimiento, considere agrupar códigos de barras en hojas PDF utilizando la API de estampado PDF de IronBarcode en lugar de guardar miles de archivos de imágenes individuales, lo que puede crear una sobrecarga del sistema de archivos en implementaciones de Windows y Linux.

¿Cómo se leen y verifican los códigos de barras Data Matrix?

Generar códigos de barras es solo la mitad del flujo de trabajo; verificar que los escáneres los lean correctamente cierra el ciclo de calidad. IronBarcode incluye un lector de códigos de barras integrado que permite decodificar una imagen generada inmediatamente después de crearla:

// Generate a barcode
var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix);
generated.SaveAsImage("verify-test.png");

// Read it back to confirm correct encoding
var results = BarcodeReader.Read("verify-test.png");
foreach (var result in results)
{
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Formato: {result.BarcodeEscriba a}");
}
// Generate a barcode
var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix);
generated.SaveAsImage("verify-test.png");

// Read it back to confirm correct encoding
var results = BarcodeReader.Read("verify-test.png");
foreach (var result in results)
{
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Formato: {result.BarcodeEscriba a}");
}
$vbLabelText   $csharpLabel

Este patrón de verificación de ida y vuelta es particularmente valioso en industrias reguladas como la farmacéutica, donde la regulación DSCSA exige que los códigos de barras serializados en los paquetes de medicamentos recetados sean legibles por máquina y tengan el formato correcto. La ejecución de una verificación de lectura como parte del proceso de generación detecta errores de codificación antes de que las etiquetas lleguen a la línea de producción.

Para escenarios de lectura más avanzados, consulte la documentación de lectura de IronBarcode y la guía de lectura de códigos de barras en PDF .

Consideraciones comunes sobre compatibilidad de escaneo

Las diferentes versiones de firmware de los escáneres interpretan los símbolos Data Matrix con diferentes tolerancias a las zonas silenciosas y al contraste del módulo. Al utilizar escáneres portátiles antiguos, aumente el tamaño del módulo, utilice colores blanco y negro de alto contraste y mantenga la zona silenciosa con un ancho de al menos dos módulos. La guía de Identificadores de Aplicación GS1 proporciona patrones de codificación para identificadores de la cadena de suministro, como números de lote, fechas de caducidad y GTIN, dentro de un mismo símbolo Data Matrix.

¿Cuales son tus próximos pasos?

La generación de códigos de barras Data Matrix en C# con IronBarcode sigue un patrón consistente: instalar el paquete NuGet , llamar a BarcodeWriter.CreateBarcode con BarcodeWriterEncoding.DataMatrix, aplicar las personalizaciones necesarias y exportar a su formato de destino. La misma API maneja todo, desde prototipos de código de barras único hasta procesos de lotes de gran volumen.

Aquí están las rutas recomendadas para llevar esto más allá:

  • Explore la lectura de códigos de barras : la guía de lectura de IronBarcode cubre la decodificación de códigos de barras de imágenes, archivos PDF y transmisiones de cámaras en vivo.
  • Pruebe otros formatos 2D : IronBarcode también genera códigos QR , PDF417, Aztec y todos los principales formatos 1D utilizando la misma API.
  • Incrustar códigos de barras en documentos : el tutorial de estampado de PDF muestra cómo agregar códigos de barras a archivos PDF existentes mediante programación.
  • Escala con procesamiento asincrónico : revise la guía asincrónica y de múltiples subprocesos para paralelizar trabajos por lotes grandes.
  • Revisar licencias : La página de licencias de IronBarcode enumera opciones desde desarrollador hasta redistribución OEM.

Comience una prueba gratuita para probar todas las funciones sin restricciones o revise la documentación completa de IronBarcode para obtener referencias API detalladas y ejemplos de código adicionales.

NuGet Instalar con NuGet

PM >  Install-Package BarCode

Echa un vistazo a IronBarcode en NuGet para una instalación rápida. Con más de 10 millones de descargas, está transformando el desarrollo de PDF con C#. También puede descargar el DLL.

Preguntas Frecuentes

¿Qué es un código de barras Data Matrix?

Un código de barras Data Matrix es un símbolo 2D regulado por la norma ISO/IEC 16022 que codifica hasta 2335 caracteres alfanuméricos o 3116 dígitos en una cuadrícula pequeña. Se utiliza comúnmente en el etiquetado farmacéutico, el marcado de productos electrónicos y la gestión de inventarios.

¿Cómo se genera un código de barras Data Matrix en C#?

Invoque BarcodeWriter.CreateBarcode con su cadena de datos y BarcodeWriterEncoding.DataMatrix. Luego, invoque SaveAsImage o SaveAsPdf en el resultado. IronBarcode gestiona automáticamente la codificación ECC200 y la corrección de errores.

¿Cuáles son las ventajas de utilizar IronBarcode para la generación de Data Matrix?

IronBarcode genera códigos de barras ECC200 Data Matrix en una línea de código, maneja la selección automática del modo de codificación y exporta a PNG, PDF, SVG y otros formatos sin dependencias adicionales.

¿Puede IronBarcode exportar códigos de barras Data Matrix a diferentes formatos de archivo?

Sí. IronBarcode exporta códigos de barras Data Matrix a PNG, JPEG, BMP, GIF, TIFF, SVG y PDF. También puede estampar códigos de barras directamente en documentos PDF existentes.

¿Es posible personalizar los códigos de barras Data Matrix con IronBarcode?

Sí. IronBarcode proporciona ResizeTo para las dimensiones, ChangeBarCodeColor y ChangeBackgroundColor para el color, AddAnnotationTextBelowBarcode para texto legible por humanos y SetMargins para el control de la zona silenciosa.

¿Para qué sectores son especialmente adecuados los códigos de barras Data Matrix?

Los códigos de barras Data Matrix se utilizan ampliamente en productos farmacéuticos para el cumplimiento de DSCSA, en electrónica para la identificación de componentes, en logística para el seguimiento de paquetes y en atención médica para el etiquetado de medicamentos conforme a GS1.

¿Qué versión de Data Matrix genera IronBarcode ?

IronBarcode genera códigos de barras Data Matrix ECC200 de forma predeterminada. ECC200 es la versión actual del estándar ISO/IEC 16022, que ofrece la máxima capacidad de datos y corrección de errores Reed-Solomon.

¿Por qué utilizar códigos de barras Data Matrix en lugar de otros códigos 2D?

Los códigos de barras Data Matrix son preferidos por su alta densidad de datos en espacios físicos pequeños, corrección de errores Reed-Solomon que sobrevive hasta un 30 % de daño de símbolos y estandarización ISO/IEC reconocida en industrias reguladas en todo el mundo.

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