IRONSOFTWAREHOME
USO DE IRONBARCODE

Generador de Códigos de Barras en C# para VeriFactu y SII España | IronBarcode

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Para los desarrolladores que buscan un generador de códigos de barras en C# para el mercado español: el término clave en España es generador de códigos de barras, con más de 18.100 búsquedas mensuales. Los casos de uso más demandados incluyen la generación de QR para facturas AEAT conforme al Real Decreto 1007/2023, el cumplimiento de VeriFactu con la leyenda VERI*FACTU en el PDF, y la gestión de inventario SII con SKUs codificados en barras para conciliar con los envíos de datos al Suministro Inmediato de Información de la AEAT. IronBarcode cubre todos estos escenarios desde una única biblioteca .NET.

La mayoría de los proyectos de SDK de códigos de barras en C# comienzan con el mismo dolor de cabeza: juntar bibliotecas separadas para generación, lectura y exportación, luego lidiar con compatibilidad entre tipos de códigos de barras y plataformas. IronBarcode elimina esa fricción por completo. Es una sola biblioteca .NET que maneja cada operación de código de barras que los desarrolladores suelen necesitar de un SDK de escáner de códigos de barras dedicado, desde crear códigos de barras lineales y códigos QR hasta escanear múltiples códigos de barras desde imágenes imperfectas y archivos PDF.

En este artículo, te guiaremos a través de las capacidades principales que hacen de IronBarcode una solución completa para proyectos de SDK de códigos de barras: generar imágenes de códigos de barras, leer datos de códigos de barras de archivos y configurar configuraciones de escaneo avanzadas para una precisión de calidad de producción. Cada ejemplo de código a continuación se ejecuta tal cual en una aplicación de consola .NET.

NuGetInstalar con NuGet

PM > Install-Package BarCode

Install IronBarcode by running the command above in the NuGet Package Manager Console, or search for the package in the NuGet Package Manager.

¿Qué debe manejar un SDK de código de barras en proyectos .NET?

Un SDK de escáner de códigos de barras capaz necesita cubrir tres operaciones esenciales: generar códigos de barras, leer datos de códigos de barras de imágenes y documentos, y manejar problemas de calidad de escaneo del mundo real. Las mejores opciones de SDK de lector de códigos de barras también admiten una amplia gama de simbologías sin requerir bibliotecas separadas para cada una.

IronBarcode admite tanto códigos de barras lineales (Code 128, Code 39, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar) como códigos de barras 2D (Código QR, Data Matrix, PDF417, Aztec, MaxiCode). Esta cobertura significa que los desarrolladores .NET pueden procesar todo, desde etiquetas UPC-A de retail hasta códigos QR de almacén usando un único DLL de código de barras, sin dependencias adicionales, sin binarios nativos específicos de la plataforma. Una licencia de prueba gratuita da acceso completo a todas las características durante 30 días.

La biblioteca se ejecuta en sistemas operativos Windows, macOS y Linux, con soporte para implementaciones de aplicaciones .NET MAUI y Android. También se integra con herramientas de informes como Crystal Reports para escenarios que requieren generación de códigos de barras incrustada dentro de documentos empresariales. Ya sea que el proyecto sea una aplicación de consola, un escáner móvil .NET MAUI, o un lector de códigos de barras del lado del servidor procesando miles de imágenes, la misma API de SDK de escáner de códigos de barras lo maneja todo.

How Can Developers Generate Barcode Images in C#?

El método BarcodeWriter.CreateBarcode genera una imagen de código de barras a partir de un valor de cadena y una simbología especificada en una sola llamada. El objeto GeneratedBarcode devuelto puede guardarse como un archivo PNG, BMP, JPEG, PDF, HTML, o exportarse en formatos vectoriales como SVG.

using IronBarCode;
// Generate a Code 128 barcode image from string data
var barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ResizeTo(500, 150);
barcode.SaveAsPng("shipping-label.png");
// Create a styled QR code with a logo
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray);
qrCode.SaveAsPng("tracking-qr.png");

Imágenes de Código de Barras Generadas

Construir un SDK de Código de Barras en C#: Generar, Leer y Escanear Códigos de Barras con Una Biblioteca: Imagen 1 - Imágenes de salida de código de barras y código QR

La clase BarcodeWriter acepta datos como una cadena, un arreglo de bytes, o un flujo, proporcionando flexibilidad para diferentes fuentes de datos. La enumeración BarcodeEncoding controla la simbología, pasa BarcodeEncoding.QRCode para un código QR, BarcodeEncoding.UPCA para etiquetas de retail UPC-A, o cualquiera de los formatos de códigos de barras soportados. Para códigos QR estilizados, la clase dedicada QRCodeWriter soporta niveles de corrección de errores e inserción de logotipos, simplificando la creación de códigos de marca.

El objeto GeneratedBarcode también proporciona métodos para personalizar propiedades de códigos de barras como márgenes, colores, y texto de anotación. Las imágenes de códigos de barras pueden exportarse en formatos de imágenes rasterizadas (PNG, BMP, JPEG) y formatos vectoriales, o renderizarse directamente en HTML para escenarios de aplicaciones web. Consulta los ejemplos de creación de códigos de barras para opciones de salida adicionales.

¿Cómo funciona el lector de códigos de barras a través de archivos de imagen y PDF?

El método BarcodeReader.Read acepta una ruta de archivo de imagen, un arreglo de bytes, un bitmap o un flujo y devuelve una colección BarcodeResults que contiene cada código de barras encontrado en la entrada. Cada BarcodeResult expone el valor del código de barras, el tipo de codificación, el número de página, los datos binarios y la región de la imagen del código de barras.

using IronBarCode;
// Use the barcode reader to decode all barcodes from an image file
var results = BarcodeReader.Read("multiple-barcodes.png");
foreach (var result in results)
{
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}");
}
// The barcode reader also scans multi-page PDF documents
var pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf");
foreach (var item in pdfResults)
{
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}");
}

Salida de Lectura de Códigos de Barras

Construir un SDK de Código de Barras en C#: Generar, Leer y Escanear Códigos de Barras con Una Biblioteca: Imagen 2 - Salida de lectura de datos de código de barras

El lector de códigos de barras realiza el reconocimiento de códigos de barras mediante todas las simbologías principales por defecto, detectando automáticamente códigos de barras lineales, códigos de barras 2D y códigos QR sin requerir que el desarrollador especifique qué tipo escanear. Al escanear un PDF, ReadPdf procesa cada página y devuelve resultados con números de página adjuntos, ideal para flujos de trabajo de indexación y archivo de documentos.

Cada BarcodeResult en la colección proporciona acceso a los datos decodificados del código de barras tanto como una cadena como un arreglo de bytes. Esto es particularmente útil al procesar códigos Data Matrix u otras simbologías que codifican datos binarios. El resultado del lector de códigos de barras también incluye las coordenadas de posición del código de barras, lo que permite a las aplicaciones mapear dónde apareció cada código en el archivo de imagen fuente. Para el procesamiento por lotes de una carpeta completa de imágenes, pasa un IEnumerable<string> de rutas de archivo al lector de códigos de barras con multitarea habilitada para ejecución paralela.

¿Cómo puede un SDK de escáner de códigos de barras manejar la calidad de imagen del mundo real?

Las imágenes de códigos de barras del mundo real, de cámaras de almacén, capturas móviles o documentos escaneados, rara vez son perfectas en píxeles. La clase BarcodeReaderOptions proporciona un control granular sobre la velocidad de escaneo, las simbologías esperadas, los filtros de corrección de imagen y el procesamiento por lotes multihilo para lograr reconocimiento de códigos de barras altamente preciso incluso en entradas dañadas o desalineadas.

using IronBarCode;
// Configure the barcode reader for challenging, real-world image quality
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode,
    Multithreaded = true,
    MaxParallelThreads = 4,
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter()
    }
};
// Scan multiple barcodes from a noisy image with high accuracy
var results = BarcodeReader.Read("camera-capture.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Detected: {barcode.BarcodeType}{barcode.Value}");
}

Salida para Escaneo de Imagen de Código de Barras Ruido

Construir un SDK de Código de Barras en C#: Generar, Leer y Escanear Códigos de Barras con Una Biblioteca: Imagen 3 - Ejemplo de salida para escaneo de imagen de código de barras ruidosa

Establecer ExpectBarcodeTypes a un subconjunto específico de simbologías (en lugar de escanear todos los tipos) mejora dramáticamente tanto la velocidad como la precisión. La enumeración ReadingSpeed ofrece cuatro niveles — Faster, Balanced, Detailed, y ExtremeDetail, permitiendo a los desarrolladores ajustar la compensación entre el tiempo de procesamiento y la exhaustividad del reconocimiento del código de barras. La ImageFilterCollection aplica filtros de preprocesamiento como enfoque, ajuste de contraste y umbral adaptativo antes de que el motor de escaneo procese la imagen del código de barras.

La bandera ExpectMultipleBarcodes le dice al motor que continúe escaneando después de encontrar la primera coincidencia, lo cual es esencial cuando necesitas escanear múltiples códigos de barras en una sola etiqueta o página de documento. Combinado con Multithreaded = true, la biblioteca distribuye el procesamiento por lotes entre los núcleos de la CPU para escenarios de escaneo de alto rendimiento. Para una inmersión más profunda en estas configuraciones, el tutorial de lectura de códigos de barras cubre cada opción de configuración con un código de muestra.

¿Qué tipos de códigos de barras y plataformas están soportados?

IronBarcode cubre las simbologías de códigos de barras más utilizadas en aplicaciones de retail, logística, salud y empresa. La siguiente tabla resume los tipos de códigos de barras soportados y las plataformas de destino.

CategoríaFormatos Soportados
Códigos de Barras LinealesCode 128, Code 39, Code 93, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar, ITF, MSI, Codabar
Códigos de Barras 2DCódigo QR, Data Matrix, PDF417, Aztec, MaxiCode
Formatos de imagenPNG, JPEG, BMP, GIF, TIFF, SVG
Formatos de DocumentoPDF (multihojas), HTML
Plataformas .NET.NET 8/7/6, .NET Core, .NET Framework 4.6.2+, .NET Standard 2.0+
Tipos de AplicacionesConsola, Windows Forms, WPF, ASP.NET, .NET MAUI, Blazor
Sistemas OperativosWindows, macOS, Linux, Android (vía .NET MAUI)

La biblioteca se instala como un único paquete NuGet (BarCode) o como un DLL de código de barras independiente mediante descarga directa. No se requieren dependencias de SDK nativos, todo el SDK de escáner de códigos de barras se distribuye como código .NET gestionado. Instálalo en Visual Studio a través del Administrador de Paquetes NuGet, o ejecuta dotnet add package BarCode desde la CLI. Para escenarios de implementación que requieren control a nivel de DLL, la descarga de DLL de IronBarcode proporciona un paquete ZIP listo para integración manual.

IronBarcode también soporta la integración con Crystal Reports y otras herramientas de informes donde se necesita generación de códigos de barras incrustada. Para el desarrollo de aplicaciones .NET MAUI y Android, el SDK de escáner de códigos de barras proporciona lectura de códigos de barras multiplataforma sin requerir SDK específicos de cámara para la plataforma — simplemente pasa un archivo de imagen capturado por la cámara del dispositivo al lector de códigos de barras. El tutorial de escáner de códigos de barras .NET MAUI cubre este flujo de trabajo de .NET MAUI en detalle, incluidas las permisos de Android y un código de muestra para el escaneo móvil.

Generador de códigos de barras para VeriFactu y gestión SII en España

El generador de códigos de barras en C# de IronBarcode es especialmente relevante para el mercado español en dos contextos normativos:

VeriFactu (Real Decreto-Ley 15/2025): El software de facturación homologado por la AEAT debe generar un código QR en cada factura con una URL firmada hacia sede.agenciatributaria.gob.es. Además, el PDF debe mostrar la leyenda VERI*FACTU junto al QR. IronBarcode genera este QR con el nivel de corrección de errores adecuado para impresión en papel:

using IronBarCode;

// Generar QR para factura VeriFactu (AEAT, Real Decreto-Ley 15/2025)
string urlVerifactu = "https://sede.agenciatributaria.gob.es/Sede/factura?nif=B12345678&numserie=F2026-001&fecha=29-05-2026&importe=1452.00&hash=a3f9...";

var qrFactura = QRCodeWriter.CreateQrCode(urlVerifactu, 300, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrFactura.SaveAsImage("qr-verifactu.png");

Gestión de inventario SII: El SII (Suministro Inmediato de Información) exige que las empresas con facturación superior a 6 millones de euros envíen datos de facturas a la AEAT en un plazo de cuatro días. Los departamentos de almacén que codifican los SKUs en Código 128 o EAN-13 pueden reconciliar el stock físico con los registros SII de forma automática. IronBarcode genera estos códigos de barras lineales con una sola llamada a BarcodeWriter.CreateBarcode(), y los exporta directamente a etiquetas PDF listas para impresión.

La combinación de generación QR para VeriFactu y generación de barras 1D para SII hace de IronBarcode la opción natural para ISVs que desarrollan software de gestión empresarial para el mercado español. Al unificar ambas funciones en una sola dependencia NuGet, se simplifica el mantenimiento y se reducen las superficies de auditoría exigidas por la LOPDGDD y el Esquema Nacional de Seguridad (ENS).

¿Dónde ir a partir de aquí?

IronBarcode ofrece a los desarrolladores .NET una biblioteca completa de códigos de barras para proyectos a nivel de SDK con generación, lectura, escaneo por lotes y exportación todo incluido, sin la complejidad de manejar múltiples paquetes. La última versión agrega preprocesamiento de imágenes impulsado por ML y el método ReadPdfs para procesamiento por lotes de PDF, continuando con lo que una sola biblioteca puede hacer.

Para los equipos de desarrollo en España, IronBarcode resuelve los requisitos normativos de AEAT, VeriFactu, SII y TicketBAI desde una única biblioteca .NET. El mismo paquete NuGet que genera los QR de facturación también lee y genera los códigos EAN-13 de productos para la reconciliación SII. Comience una prueba gratuita para probar cada característica en su propio proyecto sin marcas de agua ni restricciones. Cuando estés listo para la producción, explora las opciones de licencia de IronBarcode comenzando en $999 para desarrolladores individuales — con soporte gratuito incluido del equipo de ingeniería de Iron Software.

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