Cómo leer códigos de barras y códigos QR usando OCR en C#

Cómo Leer Códigos de Barras y Códigos QR en C# con IronOCR

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

IronOCR lee códigos de barras y códigos QR en C# estableciendo ReadBarCodes = true en la configuración. Este ajuste único permite la extracción automática de valores de códigos de barras de PDF e imágenes junto con el reconocimiento de texto normal, y admite más de 20 formatos de códigos de barras, incluidos códigos QR, Code 128 y Data Matrix.

Inicio Rápido: Leer Códigos de Barras de un PDF al Instante

Active la detección de códigos de barras con un solo ajuste y escanee archivos PDF con IronOCR. El código siguiente muestra cómo activar la lectura de códigos de barras, procesar un PDF y recuperar los valores descodificados.

using IronPdf;cs:title=Pruebe ahora el lector de códigos de barras de IronOCR var result = new IronOcr.IronTesseract() { Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = true } }.Read(new IronOcr.OcrPdfInput("document.pdf")); foreach(var bc in result.Barcodes) Console.WriteLine(bc.Value); using IronPdf;


¿Cómo leer códigos de barras de documentos PDF?

Cree un objeto IronTesseract para realizar la lectura. Establezca la propiedad ReadBarCodes en true para activar la detección de códigos de barras. Importe el documento PDF utilizando el constructor OcrPdfInput. Utilice el método Read para realizar el reconocimiento óptico de caracteres en el PDF importado.

He aquí un ejemplo con este documento PDF:

using IronPdf;csharp :path=/static-assets/ocr/content-code-examples/how-to/barcodes-read-barcodes.cs using IronPdf;

Salida de depuración de IronOCR que muestra el texto extraído y tres códigos de barras (A,B,C) de un PDF con perfiles comerciales

Debajo de los códigos de barras aparecen varios valores que se incluyen en el texto extraído.

¿Por qué IronOCR extrae tanto valores de texto como de códigos de barras?

La doble extracción de IronOCR proporciona un análisis exhaustivo del documento. Al procesar documentos que contienen texto y códigos de barras, la biblioteca realiza extracción de texto OCR estándar al tiempo que descodifica simbologías de códigos de barras. Este enfoque unificado elimina la necesidad de múltiples pases de procesamiento o bibliotecas separadas.

La extracción de texto captura elementos legibles por humanos, mientras que la detección de códigos de barras identifica y descodifica datos legibles por máquinas. Esto beneficia a documentos como facturas, etiquetas de envío o informes de inventario en los que los valores de los códigos de barras se correlacionan con el texto impreso. La clase OcrResult separa estas salidas: texto de acceso a través de la propiedad Text y datos de código de barras a través de la colección Barcodes.

¿Qué formatos de código de barras se admiten?

IronOCR es compatible con más de 20 formatos de códigos de barras:

Códigos de Barras 1D:

  • Código 128, Código 39, Código 93
  • EAN-13, EAN-8
  • UPC-A, UPC-E
  • Codabar
  • ITF (Intercalado 2 de 5)
  • MSI
  • Plessey

Códigos de Barras 2D:

  • Código QR
  • Matriz de datos
  • PDF417
  • Código azteca
  • MaxiCode

Para aplicaciones especializadas como lectura de cheques MICR o procesamiento de documentos de identidad, las funciones de código de barras de IronOCR complementan sus funciones de extracción de texto.

¿Cuándo debería utilizar OCR para la lectura de códigos de barras en lugar de bibliotecas de códigos de barras dedicadas?

Elija la lectura de códigos de barras integrada de IronOCR cuando:

  1. Procesamiento de contenido mixto: Los documentos contienen tanto texto como códigos de barras (etiquetas de envío, facturas o documentos escaneados)
  2. Preferencia por una única biblioteca: Desea minimizar las dependencias y utilizar una única solución
  3. Procesamiento de PDF: Ya utiliza IronOCR para extracción de texto de PDF OCR
  4. Diseños de documentos complejos: Los documentos tienen códigos de barras incrustados dentro de regiones de texto o tablas

Utilice bibliotecas de códigos de barras dedicadas cuando:

  • Procesamiento de grandes volúmenes de imágenes de códigos de barras
  • Requiere escaneado de códigos de barras en tiempo real (< 50 ms de tiempo de respuesta)
  • Trabajar con códigos de barras dañados o de baja calidad que requieran algoritmos especializados
  • Implementación del escaneado móvil de códigos de barras con optimización de la cámara

¿Cómo leer códigos QR de documentos?

Al igual que la lectura de códigos de barras, establezca la propiedad ReadBarCodes en true. No son necesarios otros cambios en el código aparte de la ruta del archivo. Procese este documento PDF con códigos QR:

using IronPdf;csharp :path=/static-assets/ocr/content-code-examples/how-to/barcodes-read-qr-codes.cs using IronPdf;

Salida de IronOCR en Visual Studio que muestra el texto extraído y los códigos QR A, B y C descodificados correctamente del documento

¿Por qué funciona la misma configuración para códigos de barras y códigos QR?

El motor unificado de detección de códigos de barras de IronOCR trata por igual todos los códigos legibles por máquina. The ReadBarCodes configuration activates a comprehensive symbology detector that recognizes both 1D (linear barcodes) and 2D (QR codes, Data Matrix) formats without requiring format-specific settings. Este diseño simplifica la implementación y reduce la complejidad de la configuración.

El algoritmo de detección es automático:

  • Identifica el tipo de simbología basándose en el reconocimiento de patrones
  • Aplica algoritmos de descodificación adecuados
  • Maneja variaciones de orientación y tamaño
  • Devuelve los resultados en un formato coherente independientemente del tipo de código de barras

Este enfoque refleja cómo funcionan los modelos de Computer Vision: formación en múltiples formatos para proporcionar capacidades de detección universales.

¿Cuáles son los problemas más comunes al leer códigos QR con OCR?

Los retos más comunes al procesar códigos QR incluyen:

  1. Problemas de resolución: Es posible que los códigos QR de los PDF se reduzcan por debajo del tamaño mínimo del módulo. Utilice Configuración de PPP para garantizar una resolución adecuada (se recomienda un mínimo de 300 PPP).

  2. Calidad de la imagen: los códigos QR escaneados a menudo se ven borrosos, con ruido o distorsionados. Aplica filtros de corrección de imagen para mejorar la claridad:

using IronPdf;csharp // Apply filters to improve QR code readability ocrTesseract.Configuration.ReadBarCodes = true; var input = new OcrImageInput("qr-code-scan.jpg"); input.DeNoise(); input.Sharpen(); input.EnhanceResolution();

var result = ocrTesseract.Read(input); using IronPdf;

  1. Problemas de orientación: Los códigos QR en ángulos pueden no decodificarse correctamente. Active detección de rotación de página para gestionar documentos desalineados.

  2. Interferencias de contenido: El texto o los gráficos superpuestos a los códigos QR pueden impedir su detección. Utilice regiones de recorte para aislar las áreas de código QR cuando sea necesario.

¿Cómo puedo mejorar la precisión del reconocimiento de códigos QR?

Optimice el reconocimiento de códigos QR con estas técnicas:

  1. Preprocesamiento de imágenes: Utilice el Asistente de filtro para determinar los ajustes de mejora óptimos:

using IronPdf;csharp // Enhanced QR code reading with preprocessing var ocrTesseract = new IronTesseract(); ocrTesseract.Configuration.ReadBarCodes = true;

// Configure for better QR detection var input = new OcrImageInput("document-with-qr.pdf"); input.TargetDPI = 300; // Ensure sufficient resolution input.Binarize(); // Convert to black and white input.DeNoise(); // Remove image artifacts

var result = ocrTesseract.Read(input); using IronPdf;

  1. Manejar varias páginas: Para documentos de varias páginas con códigos QR en varias páginas:

using IronPdf;csharp // Process multi-page documents efficiently using var pdfInput = new OcrPdfInput("multi-page-qr-document.pdf"); pdfInput.TargetDPI = 300;

var results = ocrTesseract.Read(pdfInput); foreach (var page in results.Pages) { Console.WriteLine($"Page {page.PageNumber}:"); foreach (var barcode in page.Barcodes) { Console.WriteLine($" QR Code: {barcode.Value}"); Console.WriteLine($" Location: X={barcode.X}, Y={barcode.Y}"); } } using IronPdf;

  1. Procesamiento asíncrono: Para un mejor rendimiento con múltiples documentos, utilice métodos asíncronos:

using IronPdf;csharp // Asynchronous QR code reading var result = await ocrTesseract.ReadAsync(imageInput); using IronPdf;

  1. Debug Recognition Issues: Habilite resultado resaltado para visualizar lo que IronOCR detecta:

using IronPdf;csharp result.SaveAsHighlightedImage("qr-detection-debug.png"); using IronPdf;

Optimización del rendimiento para el procesamiento de códigos de barras a gran escala

Al procesar miles de documentos con códigos de barras y códigos QR, aplique estas estrategias de optimización:

  1. Multithreading: Aproveche el procesamiento multihilo para manejar varios documentos simultáneamente:

using IronPdf;csharp // Process multiple documents in parallel var documents = new[] { "doc1.pdf", "doc2.pdf", "doc3.pdf" }; var results = documents.AsParallel().Select(doc => { var tesseract = new IronTesseract(); tesseract.Configuration.ReadBarCodes = true; return tesseract.Read(new OcrPdfInput(doc)); }).ToList(); using IronPdf;

  1. Gestión de memoria: Utilice abortar tokens para operaciones de larga duración:

using IronPdf;csharp // Implement cancellation for large batch processing using var cts = new CancellationTokenSource(); ocrTesseract.Configuration.CancellationToken = cts.Token;

// Cancel if processing takes too long cts.CancelAfter(TimeSpan.FromMinutes(5)); using IronPdf;

  1. Exportación de resultados: Guarde los resultados como PDFs buscables para mantener tanto el texto como los datos del código de barras:

using IronPdf;csharp // Export results with embedded barcode values result.SaveAsSearchablePdf("output-with-barcodes.pdf"); using IronPdf;

Integración con aplicaciones empresariales

Las funciones de código de barras de IronOCR se integran perfectamente con las aplicaciones .NET existentes. Los escenarios de integración comunes incluyen:

  • Gestión de inventario: Extraer códigos de producto de los manifiestos de envío
  • Archivo de documentos: indexar documentos escaneados mediante identificadores de códigos de barras incrustados
  • Procesamiento de facturas: Empareje SKU de código de barras con partidas en documentos financieros
  • Registros sanitarios: Procese los códigos de barras de las pulseras de los pacientes junto con los formularios médicos

Para las aplicaciones de producción que procesan grandes volúmenes de códigos de barras y códigos QR, considere la posibilidad de implementar seguimiento del progreso para supervisar el estado del procesamiento y optimizar el rendimiento basándose en métricas del mundo real.

Preguntas Frecuentes

¿Cómo puedo activar la lectura de códigos de barras en mi aplicación C#?

Con IronOCR, active la lectura de códigos de barras estableciendo ReadBarCodes = true en TesseractConfiguration. Esta única configuración activa la extracción automática de valores de códigos de barras de PDF e imágenes junto con el reconocimiento de texto normal, admitiendo más de 20 formatos de códigos de barras.

¿Puedo leer texto y códigos de barras en el mismo documento?

Sí, IronOCR realiza una extracción doble: captura texto legible por humanos mediante OCR estándar y, al mismo tiempo, descodifica códigos de barras legibles por máquinas. La clase OcrResult separa estas salidas con texto accesible a través de la propiedad Text y datos de código de barras a través de la colección Barcodes.

¿Qué formatos de códigos de barras pueden detectarse?

IronOCR admite más de 20 formatos de códigos de barras, incluidos códigos de barras 1D (Código 128, Código 39, Código 93, EAN-13, EAN-8, UPC-A, UPC-E, Codabar, ITF, MSI, Plessey) y códigos de barras 2D (Código QR, Data Matrix, etc.).

¿Cómo extraer códigos de barras de documentos PDF?

Cree un objeto IronTesseract, establezca ReadBarCodes en true, importe su PDF utilizando el constructor OcrPdfInput y, a continuación, utilice el método Read. IronOCR realizará el OCR y extraerá todos los valores de código de barras detectados a los que podrá acceder a través de la colección result.Barcodes.

¿Necesito bibliotecas distintas para el reconocimiento óptico de caracteres y la lectura de códigos de barras?

No, el enfoque unificado de IronOCR elimina la necesidad de múltiples pases de procesamiento o bibliotecas separadas. Realiza la extracción de texto OCR estándar mientras decodifica simultáneamente simbologías de códigos de barras en una sola operación.

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 ...

Leer más
¿Listo para empezar?
Nuget Descargas 5,299,091 | Versión: 2025.12 recién lanzado