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 extendido en C# usando la clase BarcodeReaderOptions con BarcodeEncoding.Code39 especificado, y habilitando UseCode39ExtendedMode para soportar caracteres ASCII completos 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 desde una imagen en una línea de código. Empieza inmediatamente: especifica el tipo de codificación, pasa tu imagen y lee 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.Code39en las opciones - Lea el código de barras Code 39 con
Read - Verificar los resultados e imprimirlos 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.
Luego, lea los códigos de barras usando 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?
Leer 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 verdadero.
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úsculas y un signo de exclamación, que solo están disponibles en el conjunto ASCII completo y requieren el 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, permitiéndole 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:
- Especificar tipos exactos de código de barras - Siempre configure
ExpectBarcodeTypespara evitar escaneos innecesarios - Usar velocidades de lectura apropiadas - Balancee velocidad y precisión según sus necesidades
- Procesar imágenes en paralelo - Utilice multithreading para 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.
¿Cuáles son los beneficios de usar IronBarcode para operaciones de códigos de barras?
IronBarcode ofrece beneficios como facilidad de integración, soporte para numerosos formatos de códigos de barras, generación de imágenes de alta calidad, y capacidades robustas de lectura, convirtiéndolo en una herramienta integral para operaciones de códigos de barras en C#.
¿IronBarcode proporciona soporte para personalizar la apariencia de los códigos de barras?
Sí, IronBarcode proporciona amplias opciones de personalización para la apariencia de los códigos de barras, incluidas color, tamaño y anotaciones de texto, permitiéndote adaptar los códigos de barras a tus requisitos de diseño específicos.
¿Cómo puede IronBarcode ayudar a mejorar la eficiencia de los procesos de negocio?
IronBarcode mejora la eficiencia de los procesos de negocio al permitir la generación y lectura rápida y precisa de códigos de barras, reduciendo errores de entrada de datos manuales y mejorando el seguimiento de inventario y activos.
¿Qué habilidades de programación se necesitan para implementar IronBarcode en un proyecto?
El conocimiento básico de programación en C# es suficiente para implementar IronBarcode en un proyecto, ya que proporciona métodos sencillos y documentación completa para guiar a los desarrolladores.
¿Es IronBarcode adecuado para tanto proyectos pequeños como aplicaciones empresariales grandes?
IronBarcode está diseñado para ser escalable y versátil, haciéndolo adecuado para proyectos pequeños, así como para aplicaciones empresariales grandes que requieren soluciones robustas de códigos de barras.

