Erkennen und Generieren von Aztec-Barcodes mit dem VintaSoft Barcode .NET SDK

Blog-Kategorie: Barcode.NET

16.07.2025

Das VintaSoft Barcode .NET SDK ist ein professionelles, plattformübergreifendes SDK für Windows, Linux und macOS, mit dem Sie Aztec-Code-Barcodes in .NET, WPF, Web und MAUI erkennen und generieren können. Mit dem VintaSoft Barcode .NET SDK können Sie die Funktionalität zur Erkennung und Generierung von Aztec-Code-Barcodes mit nur wenigen Codezeilen einbetten.


Was ist ein Aztec-Code-Barcode?

Der Aztec-Code-Barcode ist der kompakteste zweidimensionale Matrix-Barcode. Aufgrund des Fehlens einer Freizone und des kompakten Suchmusters benötigt er weniger Platz als andere Matrix-Barcodes. Ein charakteristisches Merkmal des Aztec-Code-Barcodes ist das einzigartige quadratische Suchmuster "Bullseye" in der Mitte des Barcodes:


Merkmale des Aztec-Code-Barcodes

Der Aztec-Code-Barcode ist in der Norm ISO/IEC 24778 von 2008 definiert. Er kann gemischte Daten verschiedener Typen in drei Kodierungsmodi speichern:

Der Aztec-Code-Barcode verwendet den Reed-Solomon-Fehlerkorrekturalgorithmus, der die Erkennung beschädigter Barcodes ermöglicht. Beim Erstellen eines Barcodes kann der Benutzer den Prozentsatz des Datenbereichs festlegen, der von den Fehlerkorrekturcodewörtern verwendet wird.

Die Unterstützung des GS1-Standards ermöglicht es Ihnen, Daten im GS1-Format zu kodieren (BarcodeSymbologySubsets.GS1Aztec).

Der Aztec-Code-Barcode kann die folgenden Sonderzeichen kodieren:


Was ist ein "Aztec Rune"-Barcode?

Es gibt eine spezielle Version des Aztec-Code-Barcodes - die Aztec Rune -, die nur eine Zahl im Bereich von 0 bis 255 (ein Byte) kodieren kann:


Der Aztec Rune Barcode hat eine kompakte Größe von 11x11 Modulen und kann als Etikett in der Produktion verwendet werden, beispielsweise zur Kontrolle der Verpackungsausrichtung oder der Vollständigkeit von Waren. Dieses Etikett kann auch verwendet werden, um einen orientierten Referenzpunkt im Bild zu erstellen. Hierfür stellt das VintaSoft Barcode .NET SDK die genauen Koordinaten des Mittelpunkts des Suchmusters des erkannten Barcodes bereit: AztecInfo.BulleyeCenter.

Diese Funktion kann auch in OMR-Formularen zur schnellen automatischen Erkennung von OMR-Formularen verwendet werden. Weitere Informationen zur automatischen Bildausrichtung mithilfe des Aztec-Rune-Barcodes finden Sie im Artikel Verwenden von 2D-Barcodes zur Bildausrichtung in .NET/C#.


Die Struktur der Aztec-Barcode-Matrix

Die Aztec-Code-Barcode-Matrix gibt es in zwei Versionen - in voller Größe und kompakt. Die kompakte Version kann bis zu 4 Datenebenen haben (die Version in voller Größe hat bis zu 32 Ebenen) und zeichnet sich durch ein reduziertes Suchmuster und das Fehlen von Timing-Mustern aus:
     


Was ist ein "GS1 Aztec"-Barcode?

"Der "GS1 Aztec"-Barcode ist ein Aztec-Barcode, der Werte im GS1-Systemdatenformat speichert. Das VintaSoft Barcode .NET SDK kann "GS1 Aztec"-Barcodes generieren und erkennen.
Hier ist ein Bild des "GS1 Aztec"-Barcodes:


Was ist ein "XFA Compressed Aztec"-Barcode?

Der "XFA Compressed Aztec"-Barcode ist ein Aztec-Barcode, der Daten gemäß der Adobe-XFA-Spezifikation komprimiert speichert. Das VintaSoft Barcode .NET SDK kann "XFA Compressed Aztec"-Barcodes generieren und erkennen.
Hier ist ein Bild des Barcodes "XFA Compressed Aztec":


Was ist der Barcode "HIBC LIC Aztec"?

Der Barcode "HIBC LIC Aztec" ist eine Untermenge des Aztec-Barcodes und wird zur Kennzeichnung von Gesundheitsprodukten verwendet. Das VintaSoft Barcode .NET SDK kann "HIBC LIC Aztec"-Barcodes generieren und erkennen.
Hier ist ein Bild des "HIBC LIC Aztec"-Barcodes:


Dank des speziellen Symbols "Structure Append" kann der Aztec-Code-Barcode mehr als nur ein Quadrat sein.

Der Aztec-Code-Barcode unterstützt das spezielle Symbol "Structure Append", mit dem Daten in mehrere Aztec-Code-Barcodes aufgeteilt werden können. Das Symbol "Structure Append" ist im Barcode kodiert und ermöglicht die eindeutige Bestimmung der Anzahl und Reihenfolge der Barcode-Teile.

Da der Aztec-Code-Barcode keine Freizone besitzt, können rechteckige Aztec-Code-Barcodes erstellt werden, um einen länglichen Bereich zu markieren:


Das VintaSoft Barcode .NET SDK enthält einen Algorithmus zur Datenwiederherstellung aus einem Satz von Aztec-Code-Barcode-Teilen, die mithilfe des Symbols "Struktur anhängen" getrennt wurden.


Welche Aztec-Barcodes kann das VintaSoft Barcode .NET SDK erkennen?

Das VintaSoft Barcode .NET SDK erkennt alle Arten von Aztec-Code- und Aztec-Rune-Barcodes. Für die Erkennung werden einzigartige Algorithmen verwendet, die eine schnelle Erkennung von Barcodes mit verschiedenen Problemen ermöglichen:



Hier ist ein C#-Code, der zeigt, wie man aztekische Barcodes in einem mit einer Kamera aufgenommenen Bild erkennt:
/// <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();
            }
        }
    }
}


Welche aztekischen Barcodes kann das VintaSoft Barcode .NET SDK generieren?

Das VintaSoft Barcode .NET SDK generiert alle Arten von aztekischen Code- und aztekischen Runen-Barcodes.

Hier ist ein C#-Codebeispiel, das zeigt, wie ein Rasterbild eines Aztec-Code-Barcodes generiert wird:
/// <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);
    }
}


Hier ist ein C#-Codebeispiel, das zeigt, wie ein Vektorbild (SVG) eines Aztec-Code-Barcodes generiert wird:
/// <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();
    }
}