Cómo leer códigos de barras y códigos QR

por Chaknith Bin

La lectura de códigos de barras y códigos QR con tecnología OCR puede ser útil en situaciones en las que estos códigos forman parte de documentos impresos o digitales y deben procesarse automáticamente. Permite automatizar y extraer datos de una amplia gama de fuentes, lo que la convierte en una solución versátil para empresas y desarrolladores.

IronOcr hace que la detección de códigos de barras y códigos QR sea automática con sólo una configuración adicional necesaria para activar la detección.


Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Leer código de barras Ejemplo

Construye el objeto IronTesseract para realizar la lectura. Habilite la lectura de códigos de barras estableciendo la propiedad ReadBarCodes a true. Importe el documento PDF pasándolo al constructor OcrPdfInput. A continuación, utilice el método Read para realizar el OCR en el documento PDF importado.

Ahora, vamos a realizar el OCR en el siguiente documento PDF:

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

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Activar la lectura de códigos de barras
ocrTesseract.Configuration.ReadBarCodes = true;

//  Añadir PDF
using var imageInput = new OcrPdfInput("pdfWithBarcodes.pdf");

//  Realizar OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

//  Salida de códigos de barras y valores de texto detectados
Console.WriteLine("Extracted text:");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("Extracted barcodes:");
foreach (var barcode in ocrResult.Barcodes)
{
    Console.WriteLine(barcode.Value);
}
Imports IronOcr
Imports System

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Activar la lectura de códigos de barras
ocrTesseract.Configuration.ReadBarCodes = True

'  Añadir PDF
Dim imageInput = New OcrPdfInput("pdfWithBarcodes.pdf")

'  Realizar OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

'  Salida de códigos de barras y valores de texto detectados
Console.WriteLine("Extracted text:")
Console.WriteLine(ocrResult.Text)
Console.WriteLine("Extracted barcodes:")
For Each barcode In ocrResult.Barcodes
	Console.WriteLine(barcode.Value)
Next barcode
VB   C#
Resultado de la lectura

Como puede ver, varios valores de códigos de barras que también se incluyen en el texto extraído son el valor de códigos de barras que aparece debajo de los códigos de barras.

Ejemplo de lectura de un código QR

De forma similar a la lectura de códigos de barras, la propiedad ReadBarCodes debe estar establecida a true. Aparte del cambio en la ruta del archivo no hay otros cambios en el código. Ahora, vamos a realizar el OCR en el documento PDF que tiene códigos QR:

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

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Activar la lectura de códigos de barras
ocrTesseract.Configuration.ReadBarCodes = true;

//  Añadir PDF
using var imageInput = new OcrPdfInput("pdfWithQrCodes.pdf");

//  Realizar OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

//  Salida de códigos de barras y valores de texto detectados
Console.WriteLine("Extracted text:");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("Extracted barcodes:");
foreach (var barcode in ocrResult.Barcodes)
{
    Console.WriteLine(barcode.Value);
}
Imports IronOcr
Imports System

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Activar la lectura de códigos de barras
ocrTesseract.Configuration.ReadBarCodes = True

'  Añadir PDF
Dim imageInput = New OcrPdfInput("pdfWithQrCodes.pdf")

'  Realizar OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)

'  Salida de códigos de barras y valores de texto detectados
Console.WriteLine("Extracted text:")
Console.WriteLine(ocrResult.Text)
Console.WriteLine("Extracted barcodes:")
For Each barcode In ocrResult.Barcodes
	Console.WriteLine(barcode.Value)
Next barcode
VB   C#
Resultado de la lectura

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.