Riconosci e genera codici a barre Aztec utilizzando VintaSoft Barcode .NET SDK

Categoria del blog: Barcode.NET

16.07.2025

VintaSoft Barcode .NET SDK è un SDK multipiattaforma professionale per Windows, Linux, macOS, Android, che consente di riconoscere e generare codici a barre Aztec Code in .NET, WPF, Web, MAUI. VintaSoft Barcode .NET SDK consente di incorporare le funzionalità di riconoscimento e generazione di codici a barre Aztec Code utilizzando solo poche righe di codice.


Cos'è il codice a barre Aztec Code?

Il codice a barre Aztec Code è il codice a barre a matrice bidimensionale più compatto. Occupa meno spazio rispetto ad altri codici a barre a matrice grazie all'assenza di una zona libera e a un modello di ricerca compatto. Una caratteristica distintiva del codice a barre Aztec Code è l'esclusivo modello di ricerca quadrato "bullseye" situato al centro del codice a barre:


Caratteristiche del codice a barre Aztec Code

Il codice a barre Aztec Code è definito dallo standard ISO/IEC 24778 del 2008. Il codice a barre Aztec Code può memorizzare dati misti di tipi diversi in tre modalità di codifica:

Il codice a barre Aztec Code utilizza l'algoritmo di correzione degli errori Reed-Solomon, che gli consente di riconoscere i codici a barre danneggiati. Durante la creazione di un codice a barre, l'utente può specificare la percentuale dell'area dati che verrà utilizzata dalle parole del codice di correzione degli errori.

Il supporto per lo standard GS1 consente di codificare i dati nel formato GS1 (BarcodeSymbologySubsets.GS1Aztec).

Il codice a barre Aztec Code può codificare i seguenti caratteri speciali:


Codice a barre Aztec Rune – quando è necessaria un'etichetta semplice

Esiste una versione speciale del codice a barre del Codice Azteco: Runa Azteca,che può codificare solo un numero nell'intervallo da 0 a 255 (un byte):


Il codice a barre Aztec Rune ha una dimensione compatta di 11x11 moduli e può essere utilizzato come etichetta in produzione, ad esempio per controllare l'orientamento della confezione o per controllare la completezza delle merci. Questa etichetta può essere utilizzata anche per creare un punto di riferimento orientato sull'immagine; a questo scopo, VintaSoft Barcode .NET SDK fornisce le coordinate esatte del centro del pattern di ricerca del codice a barre riconosciuto: AztecInfo.BulleyeCenter.

Questa funzionalità può essere utilizzata anche nei moduli OMR per un rapido riconoscimento automatico dei moduli OMR. Ulteriori informazioni sull'allineamento automatico delle immagini utilizzando il codice a barre Aztec Rune sono disponibili nell'articolo Utilizza codici a barre 2D per allineare immagini in .NET/C#.


La struttura della matrice del codice a barre Aztec

La matrice di codici a barre Aztec Code è disponibile in due versioni: full-size e compatta. La versione compatta può avere fino a 4 livelli di dati (quella full-size ne ha fino a 32) e si distingue per un pattern di ricerca ridotto e l'assenza di pattern temporali:
     


Il codice a barre Aztec Code può essere più di un semplice quadrato grazie allo speciale simbolo "Structure Append"

Il codice a barre Aztec Code supporta uno speciale simbolo "Structure Append", che consente di suddividere i dati in più codici a barre Aztec Code. Il simbolo "Structure Append" è codificato nel codice a barre e consente di determinare in modo univoco il numero di parti del codice a barre e il loro ordine.

Poiché il codice a barre Aztec Code non ha zone libere, è possibile creare codici a barre Aztec Code rettangolari per contrassegnare un'area allungata:


VintaSoft Barcode .NET SDK contiene un algoritmo per recuperare i dati da un set di parti del codice a barre Aztec Code separate utilizzando il simbolo "Structure Append".


Quali codici a barre Aztec può riconoscere VintaSoft Barcode .NET SDK?

VintaSoft Barcode .NET SDK riconosce tutti i tipi di codici a barre Aztec Code e Aztec Rune. Per il riconoscimento vengono utilizzati algoritmi unici che consentono di riconoscere rapidamente codici a barre che presentano vari problemi:



Ecco un codice C# che mostra come riconoscere i codici a barre Aztec in un'immagine acquisita da una fotocamera:
/// <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();
            }
        }
    }
}


Quali codici a barre Aztec può generare VintaSoft Barcode .NET SDK?

VintaSoft Barcode .NET SDK genera tutti i tipi di codici a barre Aztec Code e Aztec Rune.

Ecco un codice C# che mostra come generare un'immagine raster del codice a barre 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);
    }
}


Ecco un codice C# che mostra come generare un'immagine vettoriale (SVG) del codice a barre 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();
    }
}