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:
- ASCII (0..127)
- ASCII esteso (128..255)
- Byte
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:
- matrice danneggiata
- basso contrasto
- bassa modulazione
- illuminazione non uniforme
- compressione su un lato
- distorsioni spaziali
- stampati su superfici distorte
- numero elevato di codici a barre in un'unica immagine
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();
}
}