Lectura de códigos de barras Code 39 en C# de forma rápida y sencilla
IronBarcode simplifica la lectura de códigos de barras Code 39 estándar y extendidos en C# utilizando la clase BarcodeReaderOptions con BarcodeEncoding.Code39 especificado y habilitando UseCode39ExtendedMode para soporte completo de caracteres ASCII cuando sea necesario.
El Código 39 es un versátil formato de código de barras ampliamente utilizado en inventarios, logística y aplicaciones industriales. Un código de barras Código 39 puede variar en longitud, lo que lo hace flexible para diferentes casos de uso.
El Código 39 estándar original codifica letras mayúsculas (A-Z), dígitos (0-9) y varios caracteres especiales (espacio, -, $, +, % y .). Esto funciona bien para identificaciones básicas, pero las aplicaciones modernas a menudo requieren codificar los 128 caracteres ASCII. La especificación Code 39 Extended responde a esta necesidad.
Esta guía muestra cómo leer las variantes estándar y ampliada del Código 39 con IronBarcode. Tanto si está creando sistemas de gestión de inventarios, realizando el seguimiento de envíos o procesando códigos de barras industriales, IronBarcode le ofrece funciones fiables de lectura del Código 39. Para obtener una visión completa de las funciones de lectura de códigos de barras, consulte nuestra guía rápida de códigos de barras.
Inicio rápido: Leer códigos de barras Code 39 en C#
Utilice BarcodeReader de IronBarcode para decodificar un código de barras Code 39 de una imagen en una línea de código. Empiece de inmediato: especifique el tipo de codificación, pase su imagen y lea el resultado.
-
Instala IronBarcode con el Administrador de Paquetes NuGet
PM > Install-Package BarCode -
Copie y ejecute este fragmento de código.
IronBarCode.BarcodeReader.Read("code39.png", new IronBarCode.BarcodeReaderOptions { ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.Code39 }).First().ToString(); -
Despliegue para probar en su entorno real
Comienza a usar IronBarcode en tu proyecto hoy mismo con una prueba gratuita
Cómo leer códigos de barras Code 39 en C#
- Descargue la biblioteca IronBarcode C# para leer códigos de barras Code39
- Inicializar un nuevo `BarcodeReaderOptions`
- Especifique `BarcodeEncoding.Code39` en las opciones
- Lea el código de barras Code 39 con `Read`
- Verifique los resultados e imprimalos en la consola
¿Cómo se leen los códigos de barras estándar Código 39?
Leer un código de barras Código 39 con IronBarcode es muy sencillo. Primero, inicialice un nuevo BarcodeReaderOptions y especifique el tipo de código de barras como BarcodeEncoding.Code39. Esto optimiza el lector indicándole exactamente qué formato de código de barras debe buscar.
A continuación, lea los códigos de barras utilizando el método Read, pasando la imagen del código de barras y las opciones como parámetros. A continuación, itere sobre la colección de resultados e imprima el valor de cadena de cada código de barras en la consola. Para configuraciones más avanzadas, explore nuestra guía detallada sobre configuración del lector de códigos de barras.
¿Qué aspecto tiene un código de barras estándar Código 39?
Esta imagen contiene un código de barras Código 39 estándar. Observe cómo el código de barras muestra su valor codificado tanto en forma de barras como de texto legible por humanos. Esta doble representación es típica de los códigos de barras Código 39 en aplicaciones industriales y logísticas.
¿Qué código necesito para leer el código estándar 39?
:path=/static-assets/barcode/content-code-examples/how-to/read-code39-barcode.cs
using IronBarCode;
using System;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Tell the reader to only look for Code 39.
ExpectBarcodeTypes = BarcodeEncoding.Code39
};
// Read barcode(s) from the image file using the specified options
var results = BarcodeReader.Read("code39.png", options);
// Loop through each BarcodeResult found in the image
foreach (var result in results)
{
// Print the decoded string value of the standard Code 39 barcode
Console.WriteLine(result.ToString());
}
Imports IronBarCode
Imports System
Dim options As New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = BarcodeEncoding.Code39
}
' Read barcode(s) from the image file using the specified options
Dim results = BarcodeReader.Read("code39.png", options)
' Loop through each BarcodeResult found in the image
For Each result In results
' Print the decoded string value of the standard Code 39 barcode
Console.WriteLine(result.ToString())
Next
Especificar el tipo de código de barras esperado mejora significativamente el rendimiento de la lectura. Con IronBarcode no se pierde tiempo buscando otros formatos de código de barras, lo que beneficia especialmente al procesamiento por lotes de grandes conjuntos de imágenes. Obtenga más información sobre cómo optimizar el rendimiento de la lectura de códigos de barras con nuestra guía de opciones de velocidad de lectura.
¿Qué resultados puedo esperar?
La salida de la consola muestra el valor "ABC-1234" descodificado correctamente de nuestro código de barras Código 39. El código de salida 0 confirma una ejecución correcta sin errores. En las aplicaciones de producción, implemente una gestión de errores adecuada para los casos en los que no se reconozcan los códigos de barras. Consulte nuestra guía de solución de problemas de códigos de barras no reconocidos si tiene algún problema.
¿Cómo leer códigos de barras Código 39 ampliado?
La lectura de un código de barras Code 39 extendido sigue un proceso similar al Code 39 estándar. La diferencia clave es establecer la propiedad UseCode39ExtendedMode en true.
Esta configuración indica a IronBarcode que interprete pares de caracteres especiales (por ejemplo, +T, %O) y los descodifique en sus equivalentes ASCII completos (por ejemplo, t, !). El Código 39 ampliado utiliza secuencias de dos caracteres para representar caracteres fuera del conjunto estándar. Esto alarga ligeramente el código de barras, pero permite codificar letras minúsculas, signos de puntuación adicionales y caracteres de control.
¿Cuándo debo utilizar el código 39 extendido?
El Código 39 ampliado es ideal cuando su aplicación necesita codificar:
- Texto mixto (mayúsculas y minúsculas)
- Caracteres especiales como @, #, &, !, ?
- Caracteres de control para la transmisión de datos
- Compatibilidad total con el juego de caracteres ASCII
Entre las aplicaciones más comunes se encuentran los sistemas sanitarios, el seguimiento de documentos y la gestión avanzada de inventarios que requieren una codificación de datos enriquecida.
¿Qué aspecto tiene un código de barras Código 39 ampliado?
Esta imagen contiene un código de barras Code 39 extendido. El valor Test-Data! contiene caracteres en minúscula y un signo de exclamación, que solo están disponibles en el conjunto ASCII completo y requieren modo extendido.
¿Qué código necesito para el Código 39 ampliado?
:path=/static-assets/barcode/content-code-examples/how-to/read-extended-code39-barcode.cs
using IronBarCode;
using System;
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
// Enable extended Code 39 mode
UseCode39ExtendedMode = true,
// Specify that we are expecting Code 39 barcodes
ExpectBarcodeTypes = BarcodeEncoding.Code39
};
// Read barcode(s) from the extended code 39 image
var results = BarcodeReader.Read("code39extended.png", options);
// Loop through each BarcodeResult found in the image
foreach (var result in results)
{
// Print the fully decoded ASCII string (e.g., "Test-Data!")
Console.WriteLine(result.ToString());
}
Imports IronBarCode
Imports System
Dim options As New BarcodeReaderOptions() With {
.UseCode39ExtendedMode = True,
.ExpectBarcodeTypes = BarcodeEncoding.Code39
}
' Read barcode(s) from the extended code 39 image
Dim results = BarcodeReader.Read("code39extended.png", options)
' Loop through each BarcodeResult found in the image
For Each result In results
' Print the fully decoded ASCII string (e.g., "Test-Data!")
Console.WriteLine(result.ToString())
Next
¿Qué resultados puedo esperar del modo ampliado?
Técnicas avanzadas de lectura del Código 39
Manejo de múltiples BarCodes
IronBarcode detecta y lee automáticamente varios códigos de barras Código 39 en una sola imagen. El método Read devuelve una colección de resultados, lo que le permite procesar cada código de barras individualmente. Para las aplicaciones que trabajan con hojas de códigos de barras o documentos complejos, consulte nuestra guía sobre lectura de múltiples códigos de barras.
Imágenes de baja calidad
Los códigos de barras del Código 39 a veces aparecen en condiciones que no son las ideales: impresiones descoloridas, ángulos sesgados o escaneados de baja resolución. IronBarcode incluye potentes filtros de corrección de imágenes que pueden mejorar significativamente la precisión de la lectura:
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.Code39,
UseCode39ExtendedMode = true,
// Apply image correction filters
ImageFilters = new ImageFilterCollection() {
new SharpenFilter(),
new ContrastFilter(),
new BrightnessFilter()
}
};
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
ExpectBarcodeTypes = BarcodeEncoding.Code39,
UseCode39ExtendedMode = true,
// Apply image correction filters
ImageFilters = new ImageFilterCollection() {
new SharpenFilter(),
new ContrastFilter(),
new BrightnessFilter()
}
};
Dim options As New BarcodeReaderOptions() With {
.ExpectBarcodeTypes = BarcodeEncoding.Code39,
.UseCode39ExtendedMode = True,
.ImageFilters = New ImageFilterCollection() From {
New SharpenFilter(),
New ContrastFilter(),
New BrightnessFilter()
}
}
Optimización del rendimiento
Para aplicaciones de lectura de códigos de barras de gran volumen, considere estas estrategias de optimización:
- Especifique los tipos de códigos de barras exactos : configure siempre
ExpectBarcodeTypespara evitar escaneos innecesarios - Utilice velocidades de lectura adecuadas - Equilibre la velocidad y la precisión en función de sus necesidades
- Procesamiento de imágenes en paralelo - Utilización de subprocesos múltiples para el procesamiento por lotes
- Preprocesamiento de imágenes - Aplicar correcciones solo cuando sea necesario para mantener el rendimiento
Resumen
IronBarcode simplifica la lectura de códigos de barras Código 39 en C#, tanto si se trabaja con formatos estándar como extendidos. Los pasos clave son:
Con estos fundamentos, estará listo para integrar la lectura de códigos de barras Código 39 en sus aplicaciones .NET. Para consultar la documentación completa de la API y otros formatos de código de barras, visite nuestra referencia completa de la API. Para ver un ejemplo práctico específico del Código 39, consulte nuestro tutorial dedicado al Código 39.
Preguntas Frecuentes
¿Qué es el Código 39 y cuáles son sus usos más comunes?
El Código 39 es un formato de código de barras versátil ampliamente utilizado en inventarios, logística y aplicaciones industriales. Puede variar en longitud, lo que lo hace flexible para diferentes casos de uso. El Código 39 estándar codifica letras mayúsculas (A-Z), dígitos (0-9) y varios caracteres especiales, mientras que el Código 39 extendido puede codificar los 128 caracteres ASCII. IronBarcode proporciona funciones fiables para la lectura de las variantes estándar y ampliada del Código 39.
¿Cómo se lee un código de barras estándar Código 39 en C#?
Para leer un código de barras Código 39 con IronBarcode, primero inicialice un nuevo BarcodeReaderOptions y especifique el tipo de código de barras como BarcodeEncoding.Code39. A continuación, utilice el método Read, pasando la imagen del código de barras y las opciones como parámetros. Por último, itere sobre la colección de resultados para acceder al valor de cadena de cada código de barras.
¿Qué caracteres puede codificar el Código 39 estándar?
El Código 39 estándar codifica letras mayúsculas (A-Z), dígitos (0-9) y varios caracteres especiales, como el espacio, el guión (-), el símbolo del dólar ($), el signo más (+), el porcentaje (%) y el punto (.). Para codificar los 128 caracteres ASCII, necesitará utilizar el modo Código 39 Extendido, que IronBarcode admite mediante la opción UseCode39ExtendedMode.
¿Cuál es la diferencia entre el Código 39 estándar y el ampliado?
El Código 39 estándar se limita a letras mayúsculas, números y unos pocos caracteres especiales, lo que funciona bien para identificaciones básicas. Code 39 Extended responde a la necesidad de las aplicaciones modernas de codificar los 128 caracteres ASCII. IronBarcode simplifica la lectura de ambas variantes activando UseCode39ExtendedMode en la clase BarcodeReaderOptions para obtener una compatibilidad total con caracteres ASCII.
¿Pueden los códigos de barras Código 39 incluir texto legible por humanos?
Sí, los códigos de barras Código 39 suelen mostrar su valor codificado tanto en forma de barras como de texto legible por humanos debajo del código de barras. Esta doble representación es habitual en aplicaciones industriales y logísticas, ya que facilita a los operarios la verificación del contenido del código de barras. IronBarcode puede leer los datos del código de barras independientemente de la presencia del texto legible por el ser humano.

