Cómo Leer Códigos de Barras en C#

Escáner de códigos de barras C#: lee códigos de barras y códigos QR en aplicaciones .NET

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

¿Necesitas escanear rápidamente códigos de barras o QR en tu aplicación .NET? IronBarcode hace que la lectura de códigos de barras sea sencilla y confiable, ya sea que estés procesando imágenes digitales perfectas o fotos desafiantes del mundo real. Esta guía te muestra exactamente cómo implementar el escaneo de códigos de barras en C# con ejemplos prácticos que puedes usar de inmediato.

como-título:2(Inicio rápido: Leer un Código de Barras de un Archivo al Instante)

Este ejemplo rápido te muestra lo fácil que es comenzar con IronBarcode. En solo una línea de código, puedes leer códigos de barras de un archivo de imagen, sin necesidad de configuraciones complejas.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronBarcode con el gestor de paquetes NuGet

    PM > Install-Package BarCode

  2. Copie y ejecute este fragmento de código.

    var results = IronBarCode.BarcodeReader.Read("path/to/barcode.png");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronBarcode en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

¿Cómo instalo IronBarcode en mi proyecto .NET?

IronBarcode se instala fácilmente a través del Administrador de Paquetes NuGet o descargando directamente la DLL. La instalación a través de NuGet es el enfoque recomendado, ya que gestiona automáticamente dependencias y actualizaciones.

Comience a usar IronBarcode en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

Install-Package BarCode

Después de la instalación, agrega using IronBarCode; a tus archivos C# para acceder a la funcionalidad de escaneo de códigos de barras. Para obtener instrucciones detalladas de instalación en diferentes entornos de desarrollo, consulta nuestra guía de instalación.

¿Cómo puedo leer mi primer código de barras usando C#?

Leer códigos de barras con IronBarcode requiere solo una línea de código. La biblioteca detecta automáticamente los formatos de código de barras y extrae todos los datos codificados.

Code128 barcode ready for scanning - contains text 'https://ironsoftware.com/csharp/barcode/' Un código de barras Code128 estándar que IronBarcode puede leer instantáneamente
using IronBarCode;
using System;

// Read barcodes from the image file - supports PNG, JPG, BMP, GIF, and more
BarcodeResults results = BarcodeReader.Read("GetStarted.png");

// Check if any barcodes were detected
if (results != null && results.Count > 0)
{
    // Process each barcode found in the image
    foreach (BarcodeResult result in results)
    {
        // Extract the text value from the barcode
        Console.WriteLine("Barcode detected! Value: " + result.Text);

        // Additional properties available:
        // result.BarcodeType - The format (Code128, QR, etc.)
        // result.BinaryValue - Raw binary data if applicable
        // result.Confidence - Detection confidence score
    }
}
else
{
    Console.WriteLine("No barcodes detected in the image.");
}
using IronBarCode;
using System;

// Read barcodes from the image file - supports PNG, JPG, BMP, GIF, and more
BarcodeResults results = BarcodeReader.Read("GetStarted.png");

// Check if any barcodes were detected
if (results != null && results.Count > 0)
{
    // Process each barcode found in the image
    foreach (BarcodeResult result in results)
    {
        // Extract the text value from the barcode
        Console.WriteLine("Barcode detected! Value: " + result.Text);

        // Additional properties available:
        // result.BarcodeType - The format (Code128, QR, etc.)
        // result.BinaryValue - Raw binary data if applicable
        // result.Confidence - Detection confidence score
    }
}
else
{
    Console.WriteLine("No barcodes detected in the image.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El método BarcodeReader.Read devuelve una colección BarcodeResults que contiene todos los códigos de barras detectados. Cada BarcodeResult proporciona acceso al valor de texto del código de barras, el tipo de formato, las coordenadas de posición y los datos binarios. Este enfoque funciona a la perfección con formatos comunes de códigos de barras, incluidos los códigos Code128, Code39, QR y Data Matrix.

¿Qué opciones ayudan a leer códigos de barras desafiantes o dañados?

El escaneo de códigos de barras en el mundo real a menudo involucra imágenes imperfectas: ángulos sesgados, mala iluminación o daños parciales. Las opciones avanzadas de IronBarcode manejan estos desafíos de manera efectiva.

using IronBarCode;

// Configure advanced reading options for difficult barcodes
BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Speed settings: Faster, Balanced, Detailed, ExtremeDetail
    // ExtremeDetail performs deep analysis for challenging images
    Speed = ReadingSpeed.ExtremeDetail,

    // Specify expected formats to improve performance
    // Use bitwise OR (|) to combine multiple formats
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,

    // Maximum number of barcodes to find (0 = unlimited)
    MaxParallelThreads = 4,

    // Crop region for faster processing of specific areas
    CropArea = null // Or specify a Rectangle
};

// Apply options when reading
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

// Process detected barcodes
foreach (var barcode in results)
{
    Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}");
}
using IronBarCode;

// Configure advanced reading options for difficult barcodes
BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Speed settings: Faster, Balanced, Detailed, ExtremeDetail
    // ExtremeDetail performs deep analysis for challenging images
    Speed = ReadingSpeed.ExtremeDetail,

    // Specify expected formats to improve performance
    // Use bitwise OR (|) to combine multiple formats
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,

    // Maximum number of barcodes to find (0 = unlimited)
    MaxParallelThreads = 4,

    // Crop region for faster processing of specific areas
    CropArea = null // Or specify a Rectangle
};

// Apply options when reading
BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

// Process detected barcodes
foreach (var barcode in results)
{
    Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}");
}
Imports IronBarCode

' Configure advanced reading options for difficult barcodes
Private options As New BarcodeReaderOptions With {
	.Speed = ReadingSpeed.ExtremeDetail,
	.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128,
	.MaxParallelThreads = 4,
	.CropArea = Nothing
}

' Apply options when reading
Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options)

' Process detected barcodes
For Each barcode In results
	Console.WriteLine($"Format: {barcode.BarcodeType}, Value: {barcode.Text}")
Next barcode
$vbLabelText   $csharpLabel
QR code rotated 45 degrees demonstrating IronBarcode's rotation handling Un código QR girado que IronBarcode lee correctamente utilizando opciones avanzadas

La propiedad ExpectBarcodeTypes mejora significativamente el rendimiento al limitar la búsqueda a formatos específicos. Para obtener la máxima precisión con imágenes problemáticas, combina filtros de imagen con rotación automática:

using IronBarCode;

BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Apply image processing filters to enhance readability
    ImageFilters = new ImageFilterCollection
    {
        new AdaptiveThresholdFilter(9, 0.01f), // Handles varying lighting
        new ContrastFilter(2.0f),               // Increases contrast
        new SharpenFilter()                     // Reduces blur
    },

    // Automatically rotate to find barcodes at any angle
    AutoRotate = true,

    // Use multiple CPU cores for faster processing
    Multithreaded = true
};

BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

foreach (var result in results)
{
    Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}");
    Console.WriteLine($"Confidence: {result.Confidence}%");
    Console.WriteLine($"Position: X={result.X}, Y={result.Y}");
}
using IronBarCode;

BarcodeReaderOptions options = new BarcodeReaderOptions
{
    // Apply image processing filters to enhance readability
    ImageFilters = new ImageFilterCollection
    {
        new AdaptiveThresholdFilter(9, 0.01f), // Handles varying lighting
        new ContrastFilter(2.0f),               // Increases contrast
        new SharpenFilter()                     // Reduces blur
    },

    // Automatically rotate to find barcodes at any angle
    AutoRotate = true,

    // Use multiple CPU cores for faster processing
    Multithreaded = true
};

BarcodeResults results = BarcodeReader.Read("TryHarderQR.png", options);

foreach (var result in results)
{
    Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}");
    Console.WriteLine($"Confidence: {result.Confidence}%");
    Console.WriteLine($"Position: X={result.X}, Y={result.Y}");
}
Imports IronBarCode

Private options As New BarcodeReaderOptions With {
	.ImageFilters = New ImageFilterCollection From {
		New AdaptiveThresholdFilter(9, 0.01F),
		New ContrastFilter(2.0F),
		New SharpenFilter()
	},
	.AutoRotate = True,
	.Multithreaded = True
}

Private results As BarcodeResults = BarcodeReader.Read("TryHarderQR.png", options)

For Each result In results
	Console.WriteLine($"Detected {result.BarcodeType}: {result.Text}")
	Console.WriteLine($"Confidence: {result.Confidence}%")
	Console.WriteLine($"Position: X={result.X}, Y={result.Y}")
Next result
$vbLabelText   $csharpLabel

Estas características avanzadas hacen que IronBarcode sea ideal para escanear códigos de barras desde fotos, cámaras de seguridad o capturas de dispositivos móviles donde la calidad de la imagen varía significativamente.

¿Cómo escaneo varios códigos de barras de documentos PDF?

El escaneo de códigos de barras en PDF es esencial para procesar facturas, etiquetas de envío y documentos de inventario. IronBarcode lee todos los códigos de barras en cada página de manera eficiente.

Lectura de códigos de barras de archivos PDF

using System;
using IronBarCode;

try
{
    // Scan all pages of a PDF for barcodes
    BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

    if (results != null && results.Count > 0)
    {
        foreach (var barcode in results)
        {
            // Access barcode data and metadata
            string value = barcode.Text;
            int pageNumber = barcode.PageNumber;
            BarcodeEncoding format = barcode.BarcodeType;
            byte[] binaryData = barcode.BinaryValue;

            // Extract barcode image if needed
            System.Drawing.Bitmap barcodeImage = barcode.BarcodeImage;

            Console.WriteLine($"Found {format} on page {pageNumber}: {value}");
        }
    }
    else
    {
        Console.WriteLine("No barcodes found in the PDF.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading PDF: {ex.Message}");
}
using System;
using IronBarCode;

try
{
    // Scan all pages of a PDF for barcodes
    BarcodeResults results = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");

    if (results != null && results.Count > 0)
    {
        foreach (var barcode in results)
        {
            // Access barcode data and metadata
            string value = barcode.Text;
            int pageNumber = barcode.PageNumber;
            BarcodeEncoding format = barcode.BarcodeType;
            byte[] binaryData = barcode.BinaryValue;

            // Extract barcode image if needed
            System.Drawing.Bitmap barcodeImage = barcode.BarcodeImage;

            Console.WriteLine($"Found {format} on page {pageNumber}: {value}");
        }
    }
    else
    {
        Console.WriteLine("No barcodes found in the PDF.");
    }
}
catch (Exception ex)
{
    Console.WriteLine($"Error reading PDF: {ex.Message}");
}
Imports System
Imports IronBarCode

Try
	' Scan all pages of a PDF for barcodes
	Dim results As BarcodeResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")

	If results IsNot Nothing AndAlso results.Count > 0 Then
		For Each barcode In results
			' Access barcode data and metadata
			Dim value As String = barcode.Text
			Dim pageNumber As Integer = barcode.PageNumber
			Dim format As BarcodeEncoding = barcode.BarcodeType
			Dim binaryData() As Byte = barcode.BinaryValue

			' Extract barcode image if needed
			Dim barcodeImage As System.Drawing.Bitmap = barcode.BarcodeImage

			Console.WriteLine($"Found {format} on page {pageNumber}: {value}")
		Next barcode
	Else
		Console.WriteLine("No barcodes found in the PDF.")
	End If
Catch ex As Exception
	Console.WriteLine($"Error reading PDF: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Múltiples códigos de barras detectados en páginas PDF mostrando salida de consola Salida de consola mostrando múltiples códigos de barras encontrados en diferentes páginas PDF

Para rangos de páginas específicos o procesamiento avanzado de PDF, usa BarcodeReaderOptions:

// Read only specific pages to improve performance
BarcodeReaderOptions pdfOptions = new BarcodeReaderOptions
{
    // Scan pages 1-5 only
    PageNumbers = new[] { 1, 2, 3, 4, 5 },

    // PDF-specific settings
    PdfDpi = 300, // Higher DPI for better accuracy
    ReadBehindVectorGraphics = true
};

BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
// Read only specific pages to improve performance
BarcodeReaderOptions pdfOptions = new BarcodeReaderOptions
{
    // Scan pages 1-5 only
    PageNumbers = new[] { 1, 2, 3, 4, 5 },

    // PDF-specific settings
    PdfDpi = 300, // Higher DPI for better accuracy
    ReadBehindVectorGraphics = true
};

BarcodeResults results = BarcodeReader.ReadPdf("document.pdf", pdfOptions);
' Read only specific pages to improve performance
Dim pdfOptions As New BarcodeReaderOptions With {
	.PageNumbers = { 1, 2, 3, 4, 5 },
	.PdfDpi = 300,
	.ReadBehindVectorGraphics = True
}

Dim results As BarcodeResults = BarcodeReader.ReadPdf("document.pdf", pdfOptions)
$vbLabelText   $csharpLabel

Aprende más sobre técnicas de extracción de códigos de barras PDF en nuestros ejemplos detallados.

¿Cómo puedo procesar imágenes TIFF multicuadro?

Los archivos TIFF multiframes, comunes en el escaneo de documentos y sistemas de fax, reciben el mismo soporte integral que los PDF.

TIFF multiframe que contiene múltiples códigos de barras en los diferentes fotogramas Un archivo TIFF multiframe con códigos de barras en diferentes fotogramas

using IronBarCode;

// TIFF files are processed similarly to regular images
// Each frame is scanned automatically
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");

foreach (var result in multiFrameResults)
{
    // Access frame-specific information
    int frameNumber = result.PageNumber; // Frame number in TIFF
    string barcodeValue = result.Text;

    Console.WriteLine($"Frame {frameNumber}: {barcodeValue}");

    // Save individual barcode images if needed
    result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png");
}
using IronBarCode;

// TIFF files are processed similarly to regular images
// Each frame is scanned automatically
BarcodeResults multiFrameResults = BarcodeReader.Read("Multiframe.tiff");

foreach (var result in multiFrameResults)
{
    // Access frame-specific information
    int frameNumber = result.PageNumber; // Frame number in TIFF
    string barcodeValue = result.Text;

    Console.WriteLine($"Frame {frameNumber}: {barcodeValue}");

    // Save individual barcode images if needed
    result.BarcodeImage?.Save($"barcode_frame_{frameNumber}.png");
}
Imports IronBarCode

' TIFF files are processed similarly to regular images
' Each frame is scanned automatically
Private multiFrameResults As BarcodeResults = BarcodeReader.Read("Multiframe.tiff")

For Each result In multiFrameResults
	' Access frame-specific information
	Dim frameNumber As Integer = result.PageNumber ' Frame number in TIFF
	Dim barcodeValue As String = result.Text

	Console.WriteLine($"Frame {frameNumber}: {barcodeValue}")

	' Save individual barcode images if needed
	If result.BarcodeImage IsNot Nothing Then
		result.BarcodeImage.Save($"barcode_frame_{frameNumber}.png")
	End If
Next result
$vbLabelText   $csharpLabel

Las mismas BarcodeReaderOptions se aplican al procesamiento de TIFF, incluidos filtros de imagen y configuraciones de rotación. Para escenarios detallados de manejo TIFF, consulta nuestros tutoriales de procesamiento de imágenes.

¿Puedo acelerar el procesamiento con subprocesos múltiples?

El procesamiento de múltiples documentos se beneficia significativamente del procesamiento en paralelo. IronBarcode utiliza automáticamente los núcleos de CPU disponibles para un rendimiento óptimo.

using IronBarCode;

// List of documents to process - mix of formats supported
var documentBatch = new[] 
{ 
    "invoice1.pdf", 
    "shipping_label.png", 
    "inventory_sheet.tiff",
    "product_catalog.pdf"
};

// Configure for batch processing
BarcodeReaderOptions batchOptions = new BarcodeReaderOptions
{
    // Enable parallel processing across documents
    Multithreaded = true,

    // Limit threads if needed (0 = use all cores)
    MaxParallelThreads = Environment.ProcessorCount,

    // Apply consistent settings to all documents
    Speed = ReadingSpeed.Balanced,
    ExpectBarcodeTypes = BarcodeEncoding.All
};

// Process all documents in parallel
BarcodeResults batchResults = BarcodeReader.Read(documentBatch, batchOptions);

// Group results by source document
var resultsByDocument = batchResults.GroupBy(r => r.Filename);

foreach (var docGroup in resultsByDocument)
{
    Console.WriteLine($"\nDocument: {docGroup.Key}");
    foreach (var barcode in docGroup)
    {
        Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}");
    }
}
using IronBarCode;

// List of documents to process - mix of formats supported
var documentBatch = new[] 
{ 
    "invoice1.pdf", 
    "shipping_label.png", 
    "inventory_sheet.tiff",
    "product_catalog.pdf"
};

// Configure for batch processing
BarcodeReaderOptions batchOptions = new BarcodeReaderOptions
{
    // Enable parallel processing across documents
    Multithreaded = true,

    // Limit threads if needed (0 = use all cores)
    MaxParallelThreads = Environment.ProcessorCount,

    // Apply consistent settings to all documents
    Speed = ReadingSpeed.Balanced,
    ExpectBarcodeTypes = BarcodeEncoding.All
};

// Process all documents in parallel
BarcodeResults batchResults = BarcodeReader.Read(documentBatch, batchOptions);

// Group results by source document
var resultsByDocument = batchResults.GroupBy(r => r.Filename);

foreach (var docGroup in resultsByDocument)
{
    Console.WriteLine($"\nDocument: {docGroup.Key}");
    foreach (var barcode in docGroup)
    {
        Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}");
    }
}
Imports Microsoft.VisualBasic
Imports IronBarCode

' List of documents to process - mix of formats supported
Private documentBatch = { "invoice1.pdf", "shipping_label.png", "inventory_sheet.tiff", "product_catalog.pdf" }

' Configure for batch processing
Private batchOptions As New BarcodeReaderOptions With {
	.Multithreaded = True,
	.MaxParallelThreads = Environment.ProcessorCount,
	.Speed = ReadingSpeed.Balanced,
	.ExpectBarcodeTypes = BarcodeEncoding.All
}

' Process all documents in parallel
Private batchResults As BarcodeResults = BarcodeReader.Read(documentBatch, batchOptions)

' Group results by source document
Private resultsByDocument = batchResults.GroupBy(Function(r) r.Filename)

For Each docGroup In resultsByDocument
	Console.WriteLine($vbLf & "Document: {docGroup.Key}")
	For Each barcode In docGroup
		Console.WriteLine($"  - {barcode.BarcodeType}: {barcode.Text}")
	Next barcode
Next docGroup
$vbLabelText   $csharpLabel

Este enfoque paralelo procesa documentos simultáneamente, reduciendo el tiempo total de escaneo hasta en un 75% en sistemas multicore. Para procesamiento de códigos de barras a escala empresarial, explora nuestra guía de optimización de rendimiento.

Resumen

IronBarcode transforma el escaneo complejo de códigos de barras en código C# sencillo. Ya sea que estés construyendo sistemas de inventario, procesadores de documentos o aplicaciones móviles, la biblioteca maneja todo, desde códigos de barras digitales impecables hasta capturas desafiantes del mundo real.

Capacidades clave cubiertas:

  • Lectura de códigos de barras desde imágenes
  • Opciones avanzadas para códigos de barras dañados o rotados
  • Escaneo integral de documentos PDF y TIFF
  • Procesamiento por lotes de alto rendimiento con multihilo
  • Soporte para formatos de códigos de barras principales

Lecturas adicionales

Amplía tus capacidades de procesamiento de códigos de barras con estos recursos:

Descargas de código fuente

Ejecuta estos ejemplos tú mismo:

¿Listo para implementar el escaneo de códigos de barras en tu aplicación? Comienza tu prueba gratuita y añade lectura profesional de códigos de barras a tu proyecto .NET hoy.

Empiece con IronBarcode ahora.
green arrow pointer

Preguntas Frecuentes

¿Cómo puedo instalar una biblioteca de lectura de códigos de barras en un proyecto .NET?

Puede instalar la biblioteca IronBarcode a través del Administrador de Paquetes NuGet usando el comando dotnet add package BarCode o través de la interfaz de NuGet de Visual Studio. Alternativamente, descargue el DLL para la instalación manual.

¿Cuál es el método para leer un código de barras desde una imagen usando C#?

Utilice el método BarcodeReader.Read de IronBarcode con una sola línea de código: var results = BarcodeReader.Read('image.png'); Este método detecta y lee todos los formatos de códigos de barras presentes en la imagen.

¿Es posible detectar múltiples códigos de barras en una sola imagen o documento?

Sí, IronBarcode puede detectar y leer automáticamente múltiples códigos de barras en una imagen, PDF o TIFF de múltiples fotogramas, devolviendo el valor, el tipo y la posición de cada código de barras en una colección BarcodeResults.

¿Cómo leo códigos de barras de un PDF usando C#?

Utilice el método BarcodeReader.ReadPdf de IronBarcode para escanear todas las páginas de un documento PDF: var results = BarcodeReader.ReadPdf('document.pdf'); Cada resultado incluye el número de página donde se encontró el código de barras.

¿Qué debo hacer si las imágenes de los códigos de barras están borrosas o rotadas?

Configure BarcodeReaderOptions para manejar imágenes desafiantes estableciendo AutoRotate = true y aplicando filtros de imagen como SharpenFilter o AdaptiveThresholdFilter. Utilice Speed = ExtremeDetail para mayor precisión.

¿Qué formatos de códigos de barras son compatibles en aplicaciones .NET?

IronBarcode es compatible con todos los formatos principales de códigos de barras, como QR Code, Code 128, Code 39, EAN-13, UPC-A, Data Matrix, PDF417 y más. Utilice BarcodeEncoding.All para escanear cualquier formato compatible.

¿Cómo puedo mejorar el rendimiento de escaneo de códigos de barras en una aplicación C#?

Mejore el rendimiento especificando tipos de códigos de barras esperados con ExpectBarcodeTypes, habilitando el procesamiento Multithreaded y eligiendo configuraciones de Speed adecuadas. Para tareas por lotes, utilice BarcodeReader.Read con rutas de archivo.

¿Cuál es el enfoque recomendado para manejar errores de lectura de códigos de barras?

Encapsule la lectura de códigos de barras en bloques try-catch y verifique si los resultados son nulos o vacíos. IronBarcode proporciona mensajes de error detallados y una propiedad Confidence para indicar la fiabilidad de la detección.

¿Puedo extraer imágenes de códigos de barras después de que se escanean?

Sí, el BarcodeResult de IronBarcode incluye una propiedad BarcodeImage que contiene un Bitmap del código de barras detectado, que puede ser guardado o procesado por separado.

¿Cómo leo códigos de barras de páginas específicas dentro de un documento PDF?

Establezca la propiedad PageNumbers en BarcodeReaderOptions para especificar páginas: options.PageNumbers = new[] {1, 2, 3}; Esto optimiza el rendimiento al escanear solo las páginas designadas.

¿Qué formatos de imagen son compatibles con el escaneo de códigos de barras en .NET?

IronBarcode admite el escaneo en formatos como PNG, JPEG, BMP, GIF, TIFF (incluidos los de varios fotogramas) y PDF. Puede cargar imágenes desde rutas de archivo, flujos o arreglos de bytes.

¿Cómo puedo acceder a los datos binarios de los códigos de barras escaneados en C#?

Utilice la propiedad BinaryValue de BarcodeResult para obtener los datos binarios en bruto, especialmente útil para códigos de barras que contienen datos no textuales como información comprimida o protocolos binarios.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología en Iron Software y un ingeniero visionario que lidera la tecnología PDF en C#. Como el desarrollador original detrás de la base de código central de Iron Software, ha moldeado la arquitectura de productos de la compañía desde ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,979,979 | Version: 2025.11 recién lanzado