Reconnaître et générer des codes-barres Data Matrix à l'aide du VintaSoft Barcode .NET SDK.

Catégorie du blog: Code-barres.NET

19.08.2025

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:

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.



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.



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();
    }
}