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

Categoria del blog: Barcode.NET

10.07.2025

VintaSoft Barcode .NET SDK è un SDK professionale multipiattaforma per Windows, Linux, macOS, Android, che consente di riconoscere e generare codici a barre DotCode in .NET, WPF, Web, MAUI. Bastano poche righe di codice per aggiungere la possibilità di riconoscere e generare codici a barre DotCode alla tua applicazione .NET.


Cos'è un codice a barre DotCode?

DotCode è un codice a barre a matrice bidimensionale progettato per essere letto in modo affidabile quando stampato con tecnologie a getto d'inchiostro ad alta velocità o laser. Utilizzando questo codice a barre, è possibile applicare dati dinamici (data di produzione, data di scadenza, numero di serie, ecc.) ai prodotti alla velocità della linea di produzione. Una caratteristica distintiva del codice a barre DotCode è l'assenza di qualsiasi schema fisso visibile, nonché i punti della matrice disposti in un ordine "a scacchiera":


Caratteristiche del codice a barre DotCode

Il codice a barre DotCode è definito dallo standard AIM del 2019, che descrive la versione corrente di DotCode Rev 4.

Il codice a barre DotCode può memorizzare una quantità illimitata di dati misti in tre modalità di codifica:

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

Il codice a barre DotCode utilizza l'algoritmo di correzione degli errori Reed-Solomon, che consente di riconoscere i codici a barre danneggiati.

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


Struttura della matrice

La matrice DotCode può essere quadrata o rettangolare, consentendo regolazioni flessibili del rapporto di aspetto per scopi diversi. La dimensione minima del simbolo può essere molto piccola (fino a 3x3 mm), rendendola ideale per la marcatura di articoli compatti come pacchetti di sigarette o prodotti farmaceutici.



VintaSoft Barcode .NET SDK può generare codici a barre DotCode come immagine raster o vettoriale, così come MatrixBarcodeStructure, che consente di eseguire la stampa di codici a barre ad alta velocità.


Quale DotCode può riconoscere VintaSoft Barcode .NET SDK?

VintaSoft Barcode .NET SDK quando riconosce i codici a barre DotCode utilizza algoritmi unici che consentono di riconoscere rapidamente i codici a barre che presentano vari problemi:



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


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

VintaSoft Barcode .NET SDK genera tutti i tipi di codici a barre DotCode.

Ecco il codice C# che mostra come generare una bitmap di codice a barre 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);
    }
}


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