VintaSoft Barcode .NET SDK es un SDK multiplataforma profesional para Windows, Linux, macOS, Android, que le permite reconocer y generar códigos de barras Aztec Code en .NET, WPF, Web, MAUI.
VintaSoft Barcode .NET SDK le permite integrar la funcionalidad de reconocimiento y generación de códigos de barras Aztec Code usando solo unas pocas líneas de código.
¿Qué es el código de barras Aztec Code?
El código de barras Aztec Code es el código de barras matricial bidimensional más compacto. Ocupa menos espacio que otros códigos de barras matriciales gracias a la ausencia de zona libre y a un patrón de búsqueda compacto. Una característica distintiva del código de barras Aztec Code es su exclusivo patrón de búsqueda cuadrado, "diana", ubicado en el centro del código de barras.
Características del código de barras Aztec Code
El código de barras Aztec Code se define según la norma ISO/IEC 24778 de 2008. Puede almacenar datos mixtos de diferentes tipos en tres modos de codificación:
- Alfanumérico (hasta 3067 caracteres)
- Byte (hasta 1914 bytes)
- Numérico (hasta 3822 dígitos)
El código de barras Aztec Code utiliza el algoritmo de corrección de errores Reed-Solomon, que permite reconocer códigos de barras dañados. Al crear un código de barras, el usuario puede especificar el porcentaje del área de datos que ocuparán las palabras clave de corrección de errores.
La compatibilidad con el estándar GS1 le permite codificar datos en formato GS1 (
BarcodeSymbologySubsets.GS1Aztec).
El código de barras Aztec Code puede codificar los siguientes caracteres especiales:
Código de barras Aztec Rune: cuando se necesita una etiqueta simple
Existe una versión especial del código de barras Aztec Code: Aztec Rune,Que puede codificar solo un número en el rango de 0 a 255 (un byte):
El código de barras Aztec Rune tiene un tamaño compacto de 11x11 módulos y puede usarse como etiqueta en producción, por ejemplo, para controlar la orientación del embalaje o la integridad de los productos. Esta etiqueta también puede usarse para crear un punto de referencia orientado en la imagen. Para ello, el
VintaSoft Barcode .NET SDK proporciona las coordenadas exactas del centro del patrón de búsqueda del código de barras reconocido:
AztecInfo.BulleyeCenter.
Esta función también se puede usar en formularios OMR para su reconocimiento automático y rápido. Puede encontrar más información sobre la alineación automática de imágenes con el código de barras Aztec Rune en el artículo
Usa códigos de barras 2D para alinear imágenes en .NET/C#.
Estructura de la matriz de código de barras Aztec
La matriz de códigos de barras Aztec Code está disponible en dos versiones: de tamaño completo y compacta. La versión compacta puede tener hasta 4 capas de datos (la de tamaño completo tiene hasta 32 capas) y se distingue por un patrón de búsqueda reducido y la ausencia de patrones de temporización.
- Patrón de búsqueda
- Información de formato
- Patrones de tiempo
- Patrones de orientación
- Capa de corrección de datos y errores
El código de barras Aztec Code puede ser más que un simple cuadrado gracias al símbolo especial "Structure Append"
El código de barras Aztec Code admite un símbolo especial "Structure Append", que permite dividir los datos en varios códigos de barras Aztec Code. Este símbolo está codificado en el código de barras y permite determinar de forma única el número de partes del código y su orden.
Dado que el código de barras Aztec Code no tiene zona libre, es posible crear códigos de barras rectangulares para marcar un área alargada:
VintaSoft Barcode .NET SDK contiene un algoritmo para recuperar datos de un conjunto de partes de código de barras Aztec Code separadas mediante el símbolo "Anexar estructura".
¿Qué códigos de barras Aztec Code reconoce VintaSoft Barcode .NET SDK?
VintaSoft Barcode .NET SDK reconoce todos los tipos de códigos de barras Aztec Code y Aztec Rune. Se utilizan algoritmos únicos para el reconocimiento, lo que permite reconocer rápidamente códigos de barras con diversos problemas:
- matriz dañada
- contraste bajo
- modulación baja
- iluminación desigual
- compresión en un lado
- distorsiones espaciales
- código de barras impreso en una superficie distorsionada
- gran cantidad de códigos de barras en una imagen
Aquí hay un código en C# que demuestra cómo reconocer códigos de barras Aztec en una imagen capturada con una cámara:
/// <summary>
/// Reads Aztec Code barcodes from a <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="bitmap">A bitmap with barcodes.</param>
public static void ReadAztecCodeBarcodesFromBitmap(System.Drawing.Bitmap bitmap)
{
// create barcode reader
using (Vintasoft.Barcode.BarcodeReader reader = new Vintasoft.Barcode.BarcodeReader())
{
// specify that reader must search for Aztec barcodes
reader.Settings.ScanBarcodeTypes = Vintasoft.Barcode.BarcodeType.Aztec;
// 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 Aztec puede generar VintaSoft Barcode .NET SDK?
VintaSoft Barcode .NET SDK genera todos los tipos de códigos de barras Aztec Code y Aztec Rune.
Aquí hay un código en C# que demuestra cómo generar una imagen rasterizada de un código de barras Aztec Code:
/// <summary>
/// Returns the Aztec Code 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 GetAztecCodeBarcodeAsBitmap(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.Aztec;
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) del código de barras Aztec Code:
/// <summary>
/// Returns the Aztec Code barcode in vector form as a SVG string.
/// </summary>
/// <param name="barcodeValue">Barcode value.</param>
public static void GetAztecCodeBarcodeAsSvgString(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.Aztec;
barcodeWriter.Settings.Value = barcodeValue;
// generate Aztec Code barcode as a SVG string
return barcodeWriter.GetBarcodeAsSvgFile();
}
}