VintaSoft Barcode .NET SDK est un SDK professionnel multiplateforme pour Windows, Linux et macOS, permettant de reconnaître et de générer des codes-barres Data Matrix dans les applications .NET, WPF, Web et MAUI. Il permet d'intégrer la fonctionnalité de reconnaissance et de génération de codes-barres Data Matrix en quelques lignes de code seulement.
Qu'est-ce qu'un code-barres Data Matrix?
Data Matrix est un code-barres matriciel bidimensionnel qui s'est largement répandu dans l'industrie, la production et l'étiquetage des produits. Une caractéristique distinctive du code-barres Data Matrix est le motif de recherche "L" sous la forme d'une ligne continue des deux côtés du code-barres:
Caractéristiques du code-barres Data Matrix
La version moderne du code-barres Data Matrix ECC200 est définie par la norme ISO/IEC 16022 de 2006.La norme décrit également les anciennes versions ECC000 à ECC140, dont l'utilisation est déconseillée.
Le code-barres Data Matrix peut stocker des données mixtes de différents types dans trois modes d'encodage:
- Alphanumérique (jusqu'à 2 235 symboles)
- Octet (jusqu'à 1 555 octets)
- Numérique (jusqu'à 3 116 chiffres)
Le code-barres Data Matrix utilise l'algorithme de correction d'erreurs Reed-Solomon, qui permet de reconnaître les codes-barres endommagés.
La prise en charge de la norme GS1 vous permet d'encoder des données au format GS1 (
BarcodeSymbologySubsets.GS1DataMatrix).
Le code-barres Data Matrix peut encoder les symboles spéciaux suivants:
Code-barres Data Matrix rectangulaire – lorsque la zone de marquage n’est pas carrée
Il existe 6 versions spéciales du code-barres Data Matrix rectangulaire:
Ces codes-barres sont utilisés sur les petits articles lorsque la surface disponible ne permet pas l’utilisation d’un code-barres carré.
Structure du code-barres Data Matrix
La matrice de codes-barres Data Matrix ECC200 comprend 24 versions carrées, de 10x10 à 144x144 modules, ainsi que des versions rectangulaires: 8x18, 8x32, 12x26, 12x36, 16x36 et 16x48 modules. L’orientation du code-barres est déterminée par le motif de recherche "L", dont le centre se situe dans le coin inférieur gauche du code-barres.
- Motif de recherche
- Motifs de synchronisation
- Couche de données et de correction d'erreurs
Il est facile de distinguer la version moderne de Data Matrix ECC200 de la version obsolète ECC000-ECC140: dans la version ECC200, la taille de la matrice est toujours paire, tandis que dans les versions ECC000-140, elle est toujours impaire. Par conséquent, la version ECC200 comporte toujours un module blanc dans le coin supérieur droit, et la version obsolète, un module noir.
Qu'est-ce qu'un code-barres "GS1 DataMatrix"?
Le code-barres "GS1 DataMatrix" est un code-barres DataMatrix qui stocke des valeurs au format des données du système GS1. Le kit de développement logiciel VintaSoft Barcode .NET SDK permet de générer et de reconnaître les codes-barres "GS1 DataMatrix".
Voici une image du code-barres "GS1 DataMatrix":
Qu'est-ce qu'un code-barres "GS1 Digital Link DataMatrix"?
Le code-barres "GS1 Digital Link DataMatrix" est un code-barres DataMatrix qui stocke une valeur au format "GS1 Digital Link".
VintaSoft Barcode .NET SDK permet de générer et de reconnaître les codes-barres "GS1 Digital Link DataMatrix".
Voici une image du code-barres "GS1 Digital Link DataMatrix":
Qu'est-ce qu'un code-barres PPN?
Le code-barres PPN est un code-barres DataMatrix utilisé mondialement pour le suivi, l'identification et la lutte contre la contrefaçon dans l'industrie pharmaceutique.
VintaSoft Barcode .NET SDK peut générer et reconnaître les codes-barres PPN.
Voici une image du code-barres PPN:
Qu'est-ce qu'un code-barres "Royal Mail Mailmark CMDM"?
Le code-barres "Royal Mail Mailmark CMDM" est un code-barres DataMatrix conçu pour automatiser le tri et le suivi des envois postaux au Royaume-Uni. VintaSoft Barcode .NET SDK permet de générer et de reconnaître les codes-barres "Royal Mail Mailmark CMDM".
Voici des images des codes-barres "Royal Mail Mailmark CMDM":
Qu'est-ce qu'un code-barres "XFA Compressed DataMatrix"?
Le code-barres "XFA Compressed DataMatrix" est un code-barres DataMatrix qui stocke des données compressées conformément à la spécification Adobe XFA.
VintaSoft Barcode .NET SDK peut générer et reconnaître les codes-barres "XFA Compressed DataMatrix".
Voici une image du code-barres "XFA Compressed DataMatrix":
Qu'est-ce qu'un code-barres "ISBT 128 DataMatrix"?
Le code-barres "ISBT 128 DataMatrix" est un sous-ensemble de code-barres DataMatrix contenant des informations nécessaires à la transfusion et à la transplantation. VintaSoft Barcode .NET SDK peut générer et reconnaître les codes-barres "ISBT 128 DataMatrix".
Voici une image du code-barres "ISBT 128 DataMatrix":
Qu'est-ce que le code-barres "HIBC LIC DataMatrix"?
Le code-barres "HIBC LIC DataMatrix" est un sous-ensemble du code-barres DataMatrix utilisé pour la conformité UDI des dispositifs médicaux, permettant d'identifier les fabricants, les produits et les lots. VintaSoft Barcode .NET SDK peut générer et reconnaître les codes-barres "HIBC LIC DataMatrix".
Voici une image du code-barres "HIBC LIC DataMatrix":
Si vous devez encoder une grande quantité de données, utilisez le symbole spécial "Structure Append".
Le code-barres Data Matrix prend en charge le symbole spécial "Structure Append", qui permet de répartir les données sur plusieurs codes-barres Data Matrix. Le symbole "Structure Append" est encodé dans le code-barres et permet de déterminer précisément le nombre de parties du code-barres et leur ordre:
VintaSoft Barcode .NET SDK contient un algorithme pour récupérer des données à partir d'un ensemble de codes-barres - des parties de la matrice de données qui ont été séparées à l'aide du symbole "Structure Append".
Quels codes-barres Data Matrix VintaSoft Barcode .NET SDK peut-il reconnaître?
VintaSoft Barcode .NET SDK reconnaît tous les types de codes-barres Data Matrix version ECC200. Lors de la reconnaissance, des algorithmes uniques sont utilisés pour identifier rapidement les codes-barres présentant divers problèmes.
- Matrice endommagée
- Faible contraste
- Faible modulation
- Éclairage irrégulier
- Compression sur un côté
- Distorsions spatiales
- imprimés sur des surfaces déformées
- Grand nombre de codes-barres dans une image
Voici un code C# qui montre comment reconnaître les codes-barres Data Matrix dans une image capturée par un appareil photo:
/// <summary>
/// Reads Data Matrix barcodes from a <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="bitmap">A bitmap with barcodes.</param>
public static void ReadDataMatrixBarcodesFromBitmap(System.Drawing.Bitmap bitmap)
{
// create barcode reader
using (Vintasoft.Barcode.BarcodeReader reader = new Vintasoft.Barcode.BarcodeReader())
{
// specify that reader must search for Data Matrix barcodes
reader.Settings.ScanBarcodeTypes = Vintasoft.Barcode.BarcodeType.DataMatrix;
// 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();
}
}
}
}
Quels codes-barres Data Matrix VintaSoft Barcode .NET SDK peut-il générer?
VintaSoft Barcode .NET SDK génère tous les types de codes-barres Data Matrix.
Voici le code C# qui montre comment générer une image bitmap d'un code-barres Data Matrix:
/// <summary>
/// Returns the Data Matrix 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 GetDataMatrixBarcodeAsBitmap(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.DataMatrix;
barcodeWriter.Settings.Value = value;
// get a barcode image as System.Drawing.Bitmap
return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
}
}
Voici un exemple de code C# qui montre comment générer une image vectorielle (SVG) d'un code-barres Data Matrix:
/// <summary>
/// Returns the Data Matrix barcode in vector form as a SVG string.
/// </summary>
/// <param name="barcodeValue">Barcode value.</param>
public static void GetDataMatrixBarcodeAsSvgString(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.DataMatrix;
barcodeWriter.Settings.Value = barcodeValue;
// generate Data Matrix barcode as a SVG string
return barcodeWriter.GetBarcodeAsSvgFile();
}
}