VintaSoft Barcode .NET SDK es un SDK profesional multiplataforma para Windows, Linux, macOS y Android que permite reconocer y generar códigos de barras DotCode en .NET, WPF, Web y MAUI. Solo necesita unas pocas líneas de código para añadir la capacidad de reconocer y generar códigos de barras DotCode a su aplicación .NET.
¿Qué es un código de barras DotCode?
DotCode es un código de barras matricial bidimensional diseñado para una lectura fiable al imprimirse con tecnologías de inyección de tinta o láser de alta velocidad. Con este código de barras, se pueden aplicar datos dinámicos (fecha de producción, fecha de caducidad, número de serie, etc.) a productos a velocidades de línea de producción. Una característica distintiva del código de barras DotCode es la ausencia de patrones fijos visibles, así como la disposición de los puntos de la matriz en un orden de "tablero de ajedrez":
Características del código de barras DotCode
El código de barras DotCode está definido por el estándar AIM de 2019, que describe la versión actual de DotCode Rev 4.
El código de barras DotCode puede almacenar una cantidad ilimitada de datos mixtos en tres modos de codificación:
- ASCII (0..127)
- ASCII extendido (128..255)
- Byte
La compatibilidad con el estándar GS1 le permite codificar datos en formato GS1 (
BarcodeSymbologySubsets.GS1DotCode).
El código de barras DotCode utiliza el algoritmo de corrección de errores Reed-Solomon, que permite reconocer códigos de barras dañados.
El código de barras DotCode puede codificar los siguientes caracteres especiales:
Estructura de la matriz
La matriz DotCode puede ser cuadrada o rectangular, lo que permite un aspecto flexible Ajustes de relación para diferentes propósitos. El tamaño mínimo del símbolo puede ser muy pequeño (hasta 3 x 3 mm), lo que lo hace ideal para marcar artículos compactos como paquetes de cigarrillos o productos farmacéuticos.
VintaSoft Barcode .NET SDK puede generar códigos de barras DotCode como imagen rasterizada o vectorial, así como una
MatrixBarcodeStructure, lo que permite la impresión de códigos de barras a alta velocidad.
¿Qué código de barras DotCode puede reconocer VintaSoft Barcode .NET SDK?
VintaSoft Barcode .NET SDK al reconocer códigos de barras DotCode utiliza algoritmos únicos que le permiten reconocer rápidamente códigos de barras que tienen diversos problemas:
- matriz dañada
- contraste bajo
- modulación baja
- iluminación desigual
- compresión en un lado
- distorsiones espaciales
- impresos en superficies distorsionadas
- gran cantidad de códigos de barras en una imagen
Aquí hay un código C# que demuestra cómo reconocer códigos de barras DotCode en una imagen capturada desde una cámara:
/// <summary>
/// Reads DotCode barcodes from a <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="bitmap">A bitmap with barcodes.</param>
public static void ReadDotCodeBarcodesFromBitmap(System.Drawing.Bitmap bitmap)
{
// create barcode reader
using (Vintasoft.Barcode.BarcodeReader reader = new Vintasoft.Barcode.BarcodeReader())
{
// specify that reader must search for DotCode barcodes
reader.Settings.ScanBarcodeTypes = Vintasoft.Barcode.BarcodeType.DotCode;
// read barcodes from image
Vintasoft.Barcode.IBarcodeInfo[] infos = Vintasoft.Barcode.GdiExtensions.ReadBarcodes(reader, bitmap);
// if barcodes are not detected
if (infos.Length == 0)
{
System.Console.WriteLine("No barcodes found.");
}
// if barcodes are detected
else
{
// get information about extracted barcodes
System.Console.WriteLine(string.Format("{0} barcodes found:", infos.Length));
System.Console.WriteLine();
for (int i = 0; i < infos.Length; i++)
{
Vintasoft.Barcode.IBarcodeInfo info = infos[i];
System.Console.WriteLine(string.Format("[{0}:{1}]", i + 1, info.BarcodeType));
System.Console.WriteLine(string.Format("Value: {0}", info.Value));
System.Console.WriteLine(string.Format("Region: {0}", info.Region));
System.Console.WriteLine();
}
}
}
}
¿Qué códigos de barras DotCode puede generar VintaSoft Barcode .NET SDK?
VintaSoft Barcode .NET SDK genera todos los tipos de códigos de barras DotCode.
Aquí está el código C# que demuestra cómo generar un mapa de bits de código de barras DotCode:
/// <summary>
/// Returns the DotCode barcode as <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="value">The barcode value.</param>
/// <returns>A <see cref="System.Drawing.Bitmap"/> object.</returns>
public static System.Drawing.Bitmap GetDotCodeBarcodeAsBitmap(string value)
{
// create the barcode writer
using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
{
// set barcode writer settings
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DotCode;
barcodeWriter.Settings.Value = value;
// get a barcode image as System.Drawing.Bitmap
return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
}
}
Aquí hay un código C# que demuestra cómo generar una imagen vectorial (SVG) de un código de barras DotCode:
/// <summary>
/// Returns the DotCode barcode in vector form as a SVG string.
/// </summary>
/// <param name="barcodeValue">Barcode value.</param>
public static void GetDotCodeBarcodeAsSvgString(string barcodeValue)
{
// create the barcode writer
using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
{
// set barcode writer settings
barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DotCode;
barcodeWriter.Settings.Value = barcodeValue;
// generate DotCode barcode as a SVG string
return barcodeWriter.GetBarcodeAsSvgFile();
}
}