Cómo validar las sumas de comprobación de códigos de barras y utilizar la lectura sensible al formato en C

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

Las sumas de comprobación de BarCode ayudan a detectar errores de sustitución. Por ejemplo, un solo dígito invertido en una etiqueta EAN-13 puede hacer que un paquete se envíe al almacén equivocado. La lectura sensible al formato proporciona una capa de validación adicional al restringir el decodificador a las simbologías esperadas. Este enfoque reduce los falsos positivos provocados por el ruido de fondo y acorta el tiempo de análisis al omitir los detectores de formato innecesarios.

IronBarcode realiza la verificación de la suma de comprobación automáticamente durante la decodificación. El algoritmo de dígito de control de cada simbología se ejecuta de forma predeterminada, y los BARCODES que fallan se descartan antes de devolver los resultados. La propiedad BarcodeReaderOptions.ExpectBarcodeTypes limita las lecturas a formatos específicos, mientras que RemoveFalsePositive añade un análisis secundario para lecturas ambiguas.

Esta guía explica cómo validar las sumas de comprobación de BarCode, restringir las lecturas a los formatos esperados y combinar ambas técnicas en un control de calidad por capas utilizando BarcodeReaderOptions.

Inicio rápido: Validar códigos de barras con restricciones de suma de comprobación y formato

Configure BarcodeReaderOptions con ExpectBarcodeTypes y RemoveFalsePositive para restringir las lecturas a las simbologías esperadas mediante la verificación automática de la suma de comprobación.

:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/quickstart.cs
using IronBarCode;

// Format-constrained read with false-positive removal.
// Limit the decoder to EAN-13 and Code128; checksums are
// validated automatically and failures are silently discarded.
var options = new BarcodeReaderOptions
{
    ExpectBarcodeTypes  = BarcodeEncoding.EAN13 | BarcodeEncoding.Code128,
    RemoveFalsePositive = true,
    Speed               = ReadingSpeed.Balanced
};

BarcodeResults results = BarcodeReader.Read("label.png", options);
Imports IronBarCode

' Format-constrained read with false-positive removal.
' Limit the decoder to EAN-13 and Code128; checksums are
' validated automatically and failures are silently discarded.
Dim options As New BarcodeReaderOptions With {
    .ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.Code128,
    .RemoveFalsePositive = True,
    .Speed = ReadingSpeed.Balanced
}

Dim results As BarcodeResults = BarcodeReader.Read("label.png", options)
$vbLabelText   $csharpLabel

¿Cómo validar las sumas de comprobación de códigos de barras?

IronBarcode valida las sumas de comprobación durante la decodificación de acuerdo con las especificaciones de cada simbología. Por ejemplo, al leer un BarCode EAN-13, el dígito de control Mod10 se calcula a partir de los primeros 12 dígitos y se compara con el decimotercero. Si los dígitos no coinciden, el BARCODE se rechaza de forma silenciosa y no aparece en la colección BarcodeResults. Este enfoque se aplica a todos los formatos con un dígito de control obligatorio, incluidos UPC-A, UPC-E, EAN-8, Code128, ITF y otros.

Este modelo implícito difiere de las bibliotecas que exponen un interruptor explícito. La tabla a continuación compara los dos enfoques:

Comparación de modelos de validación de suma de comprobación: IronBarcode frente a Aspose.BarCode
AspectoIronBarcodeAspose.BarCode
Disparador de validaciónAutomático; se ejecuta durante cada decodificaciónExplícito: Suma de comprobaciónValidation.On / Off / Default
Acción requerida por el desarrolladorNinguna; los BarCodes no válidos se excluyen de los resultadosEstablezca BarcodeSettings.Suma de comprobaciónValidation antes de leer
Desactivar suma de comprobaciónNo se expone; siempre se aplican sumas de comprobación para los formatos obligatoriosSí; Suma de comprobaciónValidation.Off omite la verificación
Formatos de suma de comprobación opcional (Code39)Utiliza Confidence + RemoveFalsePositive para filtrar lecturas de baja calidadHabilitar explícitamente con EnableSuma de comprobación.Sí
Comportamiento de fallosCódigo de barras omitido silenciosamente de los resultadosEl BarCode puede aparecer con un valor de suma de comprobación independiente para su inspección manual

Para simbologías con sumas de comprobación opcionales, como Code39, la biblioteca utiliza una puntuación de confianza y RemoveFalsePositive en lugar de un conmutador de suma de comprobación.

Entrada

Una etiqueta de estantería de almacén con código 128 (ruta de éxito) y una imagen en blanco sin BARCODE (ruta de error).

Code128 barcode encoding RACK-A1-LOT-7382 used as the warehouse rack scan input

warehouse-rack.png (ruta de éxito)

Blank white image with no barcode to trigger the empty result path

blank-no-BarCode.png (ruta de error — no hay BarCode)

:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/checksum-confidence.cs
using IronBarCode;

// Constrain reads to 1D formats and enable secondary verification.
// ConfidenceThreshold rejects decodes where the ML detector falls below 85%,
// acting as a quality gate for optional-checksum symbologies like Code39.
var options = new BarcodeReaderOptions
{
    ExpectBarcodeTypes  = BarcodeEncoding.AllOneDimensional,
    RemoveFalsePositive = true,
    ConfidenceThreshold = 0.85,
    Speed               = ReadingSpeed.Detailed
};

BarcodeResults results = BarcodeReader.Read("warehouse-rack.png", options);

foreach (BarcodeResult result in results)
{
    // Each result has passed checksum validation (mandatory formats)
    // and the 85% confidence threshold, so no additional filtering is needed.
    Console.WriteLine($"[{result.BarcodeType}] {result.Value}  page={result.PageNumber}");
}

if (results.Count == 0)
{
    Console.Error.WriteLine("No valid barcodes found. Possible causes:");
    Console.Error.WriteLine("  - Check digit mismatch (barcode silently rejected)");
    Console.Error.WriteLine("  - Confidence below 85% threshold");
    Console.Error.WriteLine("  - Format not in ExpectBarcodeTypes");
}
Imports IronBarCode

' Constrain reads to 1D formats and enable secondary verification.
' ConfidenceThreshold rejects decodes where the ML detector falls below 85%,
' acting as a quality gate for optional-checksum symbologies like Code39.
Dim options As New BarcodeReaderOptions With {
    .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
    .RemoveFalsePositive = True,
    .ConfidenceThreshold = 0.85,
    .Speed = ReadingSpeed.Detailed
}

Dim results As BarcodeResults = BarcodeReader.Read("warehouse-rack.png", options)

For Each result As BarcodeResult In results
    ' Each result has passed checksum validation (mandatory formats)
    ' and the 85% confidence threshold, so no additional filtering is needed.
    Console.WriteLine($"[{result.BarcodeType}] {result.Value}  page={result.PageNumber}")
Next

If results.Count = 0 Then
    Console.Error.WriteLine("No valid barcodes found. Possible causes:")
    Console.Error.WriteLine("  - Check digit mismatch (barcode silently rejected)")
    Console.Error.WriteLine("  - Confidence below 85% threshold")
    Console.Error.WriteLine("  - Format not in ExpectBarcodeTypes")
End If
$vbLabelText   $csharpLabel

Resultado

Success Path

Salida de consola que muestra el código 128 RACK-A1-LOT-7382 descodificado por encima del umbral de confianza

El BarCode de la estantería del almacén apareció como RACK-A1-LOT-7382 en la página 0. Superó el umbral de confianza del 85 % y pasó la validación de la suma de comprobación, por lo que aparece en BarcodeResults.

Ruta de error

Salida de consola que muestra WARN: no se han encontrado BarCodes válidos para la imagen en blanco introducida

Aumentar ConfidenceThreshold por encima de su valor predeterminado de 0,7 endurece aún más este filtro para simbologías con suma de comprobación opcional, como Code39.

Una vez cubierta la validación de la suma de comprobación, el siguiente paso es limitar el lector a los formatos de BarCode que espera su proceso.


¿Cómo utilizar la lectura de códigos de barras sensible al formato?

La enumeración BarcodeEncoding es un tipo de indicadores que permite combinar múltiples formatos utilizando el operador OR bit a bit. Establecer ExpectBarcodeTypes limita al lector a esos formatos y omite la detección de otros.

Valores comunes de BarcodeEncoding
ValorCategoríaDescripciónSuma de comprobación
BarcodeEncoding.AllMetaTodos los formatos compatibles (comportamiento predeterminado)Por formato
BarcodeEncoding.AllOneDimensionalMetaTodos los formatos lineales (1D) incluyendo apiladosPor formato
BarcodeEncoding.AllTwoDimensionalMetaTodos los formatos de matriz/cuadrícula (2D)Por formato
BarcodeEncoding.Code1281DAlfanumérico de alta densidad (logística, envíos)Obligatorio (Mod103 ponderado)
BarcodeEncoding.EAN131DIdentificación de producto Retail, 13 dígitosObligatorio (Mod10)
BarcodeEncoding.QRCode2DMatriz de alta capacidad (URL, datos estructurados)ECC de Reed-Solomon
BarcodeEncoding.Code391DAlfanumérico (defensa, automoción)Opcional (Mod43)
BarcodeEncoding.UPCA1DRetail norteamericano, 12 dígitosObligatorio (Mod10)
BarcodeEncoding.DataMatrix2DMatriz compacta (electrónica, farmacéutica)ECC de Reed-Solomon
BarcodeEncoding.PDF4172DApilados (tarjetas de identificación, transporte)ECC de Reed-Solomon

Más allá de la velocidad, la restricción del conjunto de formatos actúa como una puerta de validación: los BARCODE de cualquier simbología no incluida en la lista se excluyen de los resultados, incluso si están físicamente presentes en la imagen.

Entrada

Una etiqueta de envío Code128 (ruta de éxito) y un código QR que no cumple la restricción de solo Code128 (ruta de error).

Code128 barcode encoding SHIP-2024-00438 used as the shipping label input

shipping-label.png (ruta de éxito — Code128 cumple la restricción)

QR code used as the format-mismatch failure path for the Code128-only constrained read

qr-format-mismatch.png (ruta de error — QR rechazado por el filtro exclusivo de Code128)

:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/format-constrained.cs
using IronBarCode;

// Constrained read: only Code128 barcodes are returned.
// Faster because the reader skips all other format detectors.
var constrainedOptions = new BarcodeReaderOptions
{
    ExpectBarcodeTypes     = BarcodeEncoding.Code128,
    Speed                  = ReadingSpeed.Faster,
    ExpectMultipleBarcodes = false
};

// Broad read: all supported formats are scanned.
// Useful for verification or when the image format is unknown.
var broadOptions = new BarcodeReaderOptions
{
    ExpectBarcodeTypes     = BarcodeEncoding.All,
    Speed                  = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true
};

string imagePath = "shipping-label.png";

BarcodeResults constrained = BarcodeReader.Read(imagePath, constrainedOptions);
Console.WriteLine($"Constrained: {constrained.Count} Code128 barcode(s) found");

BarcodeResults broad = BarcodeReader.Read(imagePath, broadOptions);
Console.WriteLine($"Broad: {broad.Count} barcode(s) found across all formats");

foreach (BarcodeResult result in broad)
{
    Console.WriteLine($"  [{result.BarcodeType}] {result.Value}");
}
Imports IronBarCode

' Constrained read: only Code128 barcodes are returned.
' Faster because the reader skips all other format detectors.
Dim constrainedOptions As New BarcodeReaderOptions With {
    .ExpectBarcodeTypes = BarcodeEncoding.Code128,
    .Speed = ReadingSpeed.Faster,
    .ExpectMultipleBarcodes = False
}

' Broad read: all supported formats are scanned.
' Useful for verification or when the image format is unknown.
Dim broadOptions As New BarcodeReaderOptions With {
    .ExpectBarcodeTypes = BarcodeEncoding.All,
    .Speed = ReadingSpeed.Detailed,
    .ExpectMultipleBarcodes = True
}

Dim imagePath As String = "shipping-label.png"

Dim constrained As BarcodeResults = BarcodeReader.Read(imagePath, constrainedOptions)
Console.WriteLine($"Constrained: {constrained.Count} Code128 barcode(s) found")

Dim broad As BarcodeResults = BarcodeReader.Read(imagePath, broadOptions)
Console.WriteLine($"Broad: {broad.Count} barcode(s) found across all formats")

For Each result As BarcodeResult In broad
    Console.WriteLine($"  [{result.BarcodeType}] {result.Value}")
Next
$vbLabelText   $csharpLabel

Resultado

Success Path

Salida de consola que muestra una lectura restringida que detecta un BarCode Code128 y una lectura amplia que lo confirma

La etiqueta de envío tiene el valor SHIP-2024-00438. La lectura restringida lo detecta de inmediato, ya que Code128 es lo que espera el filtro, y la lectura amplia confirma el mismo resultado en todos los formatos.

Ruta de error

Salida de consola que muestra que la lectura restringida devuelve 0 resultados para una imagen de QR

Los resultados vacíos de una lectura restringida son una señal de validación, no un error; Registre la discrepancia para su revisión.

Para procesos que mezclan tipos de BarCode (por ejemplo, un albarán con un código de producto EAN-13 y un número de seguimiento Code128), combine los formatos esperados:

:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/multi-format-combine.cs
using IronBarCode;

// Combine multiple format flags with | to scan for more than one symbology
// in a single pass. Each BarcodeResult.BarcodeType identifies which format
// was decoded, enabling downstream routing logic per symbology.
var options = new BarcodeReaderOptions
{
    ExpectBarcodeTypes     = BarcodeEncoding.EAN13 | BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true
};
Imports IronBarCode

' Combine multiple format flags with Or to scan for more than one symbology
' in a single pass. Each BarcodeResult.BarcodeType identifies which format
' was decoded, enabling downstream routing logic per symbology.
Dim options As New BarcodeReaderOptions With {
    .ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.Code128,
    .ExpectMultipleBarcodes = True
}
$vbLabelText   $csharpLabel

Cada BarcodeResult.BarcodeType devuelto identifica qué formato se ha decodificado, lo que permite el enrutamiento posterior.

¿Qué simbologías soportan la validación de suma de comprobación?

No todos los formatos de código de barras utilizan sumas de comprobación de la misma forma. La siguiente tabla relaciona los símbolos comunes con sus características de detección de errores, lo que indica el nivel de agresividad con el que se deben configurar ConfidenceThreshold y RemoveFalsePositive para cada formato:

Características de suma de comprobación por simbología
SimbologíaTipo de suma de comprobación¿Obligatorio?Recomendación
EAN-13 / EAN-8Mod10La configuración predeterminada es suficiente; siempre se aplica la suma de comprobación
UPC-A / UPC-EMod10La configuración predeterminada es suficiente; el dígito de control se corrige automáticamente al escribir.
Code128Mod103 ponderadoLa configuración predeterminada es suficiente; obligatorio según las especificaciones
Code39Mod43OpcionalElevar ConfidenceThreshold a 0.8+ y habilitar RemoveFalsePositive
CodabarMod16OpcionalIgual que Code39; utilizar la confianza como criterio de calidad
ITFMod10OpcionalHabilitar RemoveFalsePositive para formatos entrelazados
QRCode / DataMatrixECC de Reed-SolomonSiempreCorrección de errores estructurales; no se necesita configuración adicional
PDF417ECC de Reed-SolomonSiempreIgual que QR/DataMatrix; la corrección de errores es inherente

En el caso de simbologías 2D como QR, DataMatrix y PDF417, la corrección de errores está integrada en la estructura de codificación. Estos formatos pueden recuperarse de daños parciales sin depender de un simple dígito de control. El ConfidenceThreshold sigue siendo válido durante la fase de detección de ML, mientras que el paso de decodificación se beneficia de la redundancia integrada en la simbología.

Ahora que se comprenden ambas técnicas, combinémoslas en un único patrón de validación listo para producción.


¿Cómo combinar sumas de comprobación con restricciones de formato?

El patrón listo para producción establece ExpectBarcodeTypes, RemoveFalsePositive, ConfidenceThreshold y Speed en un único objeto BarcodeReaderOptions. Juntas forman una puerta de varias capas: las restricciones de formato reducen el espacio de búsqueda, la validación de la suma de comprobación garantiza la integridad de los datos, el umbral de confianza filtra las decodificaciones marginales y la eliminación de falsos positivos añade una segunda ronda de verificación.

Entrada

Tres BarCodes escaneados en el punto de venta del directorio pos-scans/ utilizado como ruta de éxito: dos EAN-13 y uno UPC-A. Se utiliza una etiqueta de estantería de almacén Code128 como ruta de error: la restricción EAN-13/UPC-A la rechaza y registra una línea REJECT.

EAN-13 barcode encoding 5901234123471 used as POS scan input 1

pos-scan-1.png (éxito)

EAN-13 barcode encoding 4006381333931 used as POS scan input 2

pos-scan-2.png (éxito)

UPC-A barcode encoding 012345678905 used as POS scan input 3

pos-scan-3.png (éxito)

Code128 barcode encoding RACK-A1-LOT-7382 used as the combined-validation failure path input

warehouse-rack.png (error — Code128 rechazado)

:path=/static-assets/barcode/content-code-examples/how-to/checksum-and-format-validation/combined-validation.cs
using IronBarCode;

// Layered validation for retail POS: EAN-13, UPC-A, and UPC-E only.
// Each property adds a distinct filter to the read pipeline.
var options = new BarcodeReaderOptions
{
    // Layer 1: format constraint, accept only retail symbologies
    ExpectBarcodeTypes = BarcodeEncoding.EAN13 | BarcodeEncoding.UPCA | BarcodeEncoding.UPCE,

    // Layer 2: confidence threshold, reject decodes below 80%
    ConfidenceThreshold = 0.8,

    // Layer 3: false-positive removal, runs a secondary verification pass
    RemoveFalsePositive = true,

    Speed                  = ReadingSpeed.Balanced,
    ExpectMultipleBarcodes = false,

    // Require 3 agreeing scan lines to reduce phantom reads from noisy images
    MinScanLines = 3
};

string[] scanFiles = Directory.GetFiles("pos-scans/", "*.png");

foreach (string file in scanFiles)
{
    BarcodeResults results = BarcodeReader.Read(file, options);

    if (results.Count == 0)
    {
        // No barcode passed all validation layers
        Console.Error.WriteLine($"REJECT {Path.GetFileName(file)}: "
            + "no valid EAN-13/UPC barcode (checksum, confidence, or format mismatch)");
        continue;
    }

    BarcodeResult primary = results.First();

    // Post-read assertion: verify the decoded format matches expectations.
    // ExpectBarcodeTypes already constrains the reader; this check documents
    // intent and surfaces unexpected results during future changes.
    if (primary.BarcodeType != BarcodeEncoding.EAN13
        && primary.BarcodeType != BarcodeEncoding.UPCA
        && primary.BarcodeType != BarcodeEncoding.UPCE)
    {
        Console.Error.WriteLine($"UNEXPECTED FORMAT {Path.GetFileName(file)}: "
            + $"got {primary.BarcodeType}, expected EAN-13/UPC");
        continue;
    }

    Console.WriteLine($"OK {Path.GetFileName(file)}: [{primary.BarcodeType}] {primary.Value}");
}
Imports IronBarCode
Imports System.IO

' Layered validation for retail POS: EAN-13, UPC-A, and UPC-E only.
' Each property adds a distinct filter to the read pipeline.
Dim options As New BarcodeReaderOptions With {
    ' Layer 1: format constraint, accept only retail symbologies
    .ExpectBarcodeTypes = BarcodeEncoding.EAN13 Or BarcodeEncoding.UPCA Or BarcodeEncoding.UPCE,

    ' Layer 2: confidence threshold, reject decodes below 80%
    .ConfidenceThreshold = 0.8,

    ' Layer 3: false-positive removal, runs a secondary verification pass
    .RemoveFalsePositive = True,

    .Speed = ReadingSpeed.Balanced,
    .ExpectMultipleBarcodes = False,

    ' Require 3 agreeing scan lines to reduce phantom reads from noisy images
    .MinScanLines = 3
}

Dim scanFiles As String() = Directory.GetFiles("pos-scans/", "*.png")

For Each file As String In scanFiles
    Dim results As BarcodeResults = BarcodeReader.Read(file, options)

    If results.Count = 0 Then
        ' No barcode passed all validation layers
        Console.Error.WriteLine($"REJECT {Path.GetFileName(file)}: " &
            "no valid EAN-13/UPC barcode (checksum, confidence, or format mismatch)")
        Continue For
    End If

    Dim primary As BarcodeResult = results.First()

    ' Post-read assertion: verify the decoded format matches expectations.
    ' ExpectBarcodeTypes already constrains the reader; this check documents
    ' intent and surfaces unexpected results during future changes.
    If primary.BarcodeType <> BarcodeEncoding.EAN13 AndAlso
       primary.BarcodeType <> BarcodeEncoding.UPCA AndAlso
       primary.BarcodeType <> BarcodeEncoding.UPCE Then
        Console.Error.WriteLine($"UNEXPECTED FORMAT {Path.GetFileName(file)}: " &
            $"got {primary.BarcodeType}, expected EAN-13/UPC")
        Continue For
    End If

    Console.WriteLine($"OK {Path.GetFileName(file)}: [{primary.BarcodeType}] {primary.Value}")
Next
$vbLabelText   $csharpLabel

Resultado

Success Path

Salida de consola que muestra los 3 BarCodes escaneados en el punto de venta aceptados con estado

Las tres imágenes escaneadas del punto de venta se han aprobado. El lector devolvió los valores 5901234123471, 4006381333931 y 012345678905. Cada uno coincidía con el `EAN13 | UPCA | Filtro UPCE, tenía una suma de comprobación Mod10 válida y la confianza era superior a 0,8.

Ruta de error

Salida de consola que muestra un BarCode de estantería de almacén rechazado por el filtro EAN-13/UPC-A

Establecer MinScanLines en 3 aumenta el número mínimo de líneas de escaneo coincidentes necesarias para que un BARCODE 1D sea válido; El valor predeterminado es 2. Aumentar este valor reduce el riesgo de lecturas fantasma procedentes de líneas de escaneo ruidosas, pero puede provocar que se pasen por alto BarCodes delgados o parcialmente dañados. En entornos de punto de venta Retail con etiquetas impresas nítidas, un valor de 3 es una opción conservadora que refuerza la validación sin afectar al rendimiento.

La afirmación post-lectura BarcodeType es una defensa en profundidad: ExpectBarcodeTypes ya filtra, pero la comprobación explícita documenta la intención y detecta desviaciones en la configuración sin coste de tiempo de ejecución. Para el ajuste de velocidad, ReadingSpeed.Faster se adapta a etiquetas limpias impresas a máquina; Detailed y ExtremeDetail recuperan BarCodes dañados o mal iluminados a costa de tiempos de escaneo más largos.


¿Cuales son mis próximos pasos?

Este artículo ha tratado el modelo de validación de suma de comprobación implícita de IronBarcode, la enumeración de indicadores BarcodeEncoding para lecturas con restricciones de formato y un patrón de validación combinado que utiliza ExpectBarcodeTypes, ConfidenceThreshold, RemoveFalsePositive y MinScanLines como controles de calidad en capas.

Para ampliar sus conocimientos, explore estos recursos:

Obtenga una licencia de prueba gratuita para probar todas las funciones en un entorno en vivo, o ver opciones de licenciamiento cuando el pipeline esté listo para producción.

Preguntas Frecuentes

¿Qué es la validación de checksum de códigos de barras?

La validación de checksum de códigos de barras es un proceso que garantiza la precisión de los datos de los códigos de barras al verificar el checksum calculado contra el valor codificado dentro del código de barras. Esto ayuda a detectar errores en el proceso de escaneo.

¿Cómo maneja IronBarcode la validación de checksum?

IronBarcode maneja implícitamente la validación de checksum al calcular el checksum para los datos del código de barras y verificarlo contra el checksum codificado, asegurando la integridad de los datos durante el proceso de escaneo.

¿Qué son los filtros de BarcodeEncoding?

Los filtros de BarcodeEncoding en IronBarcode le permiten especificar qué formatos de códigos de barras leer o ignorar durante el escaneo, permitiendo un procesamiento de códigos de barras más preciso y eficiente al centrarse en tipos específicos de códigos de barras.

¿Puede IronBarcode realizar una validación combinada?

Sí, IronBarcode puede realizar una validación combinada al comprobar tanto el checksum como el formato de los códigos de barras durante el proceso de escaneo, asegurando que solo se procesen los códigos de barras válidos y correctamente formateados.

¿Es posible restringir las lecturas de códigos de barras por formato en C# con IronBarcode?

Sí, IronBarcode le permite restringir las lecturas de códigos de barras especificando los formatos que desea incluir o excluir, asegurando que su aplicación procese solo los tipos de códigos de barras relevantes.

¿Por qué es importante la lectura consciente del formato en el procesamiento de códigos de barras?

La lectura consciente del formato es importante porque permite que su aplicación procese solo tipos específicos de códigos de barras, mejorando la velocidad y precisión al ignorar formatos de códigos de barras irrelevantes o no compatibles.

¿Cómo implemento la lectura consciente del formato en IronBarcode?

Para implementar la lectura consciente del formato en IronBarcode, use los filtros de BarcodeEncoding para especificar los formatos de códigos de barras que desea leer. Esto se puede hacer a través de la API de la biblioteca, que permite un control preciso sobre los requisitos de escaneo de códigos de barras.

¿Cuáles son los beneficios de usar IronBarcode para la validación de códigos de barras?

IronBarcode ofrece varios beneficios para la validación de códigos de barras, incluida la verificación robusta de checksums, la lectura consciente del formato y la capacidad de manejar una amplia variedad de estándares de códigos de barras, asegurando alta precisión y flexibilidad en el procesamiento de códigos de barras.

Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Ciencias de la Computación de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde joven, vio la computación como algo misterioso y accesible, convirtiéndolo en el ...

Leer más
¿Listo para empezar?
Nuget Descargas 2,143,620 | Versión: 2026.4 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package BarCode
ejecuta una muestra observa cómo tu cadena se convierte en un código de barras.