Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Générateur de matrices de données en C# -- Tutoriel complet avec exemples de code

Les codes-barres Data Matrix permettent de condenser une quantité importante de données encodées dans un espace réduit, ce qui en fait le choix privilégié pour l'étiquetage des produits pharmaceutiques, le marquage des composants électroniques et le suivi des articles dans les systèmes de gestion des stocks où l'espace est limité. Ce tutoriel vous guide pas à pas dans la génération de codes-barres Data Matrix en C# à l'aide d' IronBarcode , la personnalisation de leur apparence, l'encodage de différents types de données et leur exportation vers divers formats de fichiers, le tout avec un code simple et prêt pour la production.

Commencez avec IronBarcode maintenant.
green arrow pointer

Qu'est-ce qui rend les codes-barres Data Matrix si particuliers ?

Les codes-barres Data Matrix sont des symboles 2D qui encodent des données dans une grille de points noirs et blancs disposés en lignes et en colonnes. Contrairement aux codes-barres linéaires traditionnels tels que UPC ou EAN, ils peuvent stocker jusqu'à 2 335 caractères alphanumériques ou 3 116 chiffres numériques dans un espace aussi petit que 10 x 10 modules. Leur système intégré de correction d'erreurs Reed-Solomon permet une lecture précise par les lecteurs de codes-barres modernes, même lorsque jusqu'à 30 % du symbole est endommagé.

Ces caractéristiques font de Data Matrix un outil idéal pour le marquage de petites pièces, de codes-barres postaux et de composants électroniques, ainsi que pour l'étiquetage dans les centres de soins de santé et de logistique. Le secteur de la santé s'appuie sur les normes GS1 Data Matrix pour le suivi des médicaments, tandis que les fabricants les intègrent à leurs chaînes de production afin d'identifier les produits à l'échelle mondiale. Grâce à la grande quantité de données qu'un seul code-barres peut contenir, leur utilisation est désormais répandue dans tous les secteurs d'activité qui recherchent une traçabilité complète.

La norme ISO/IEC 16022 régit l'encodage Data Matrix et définit la variante ECC200 IronBarcode utilise par défaut. L'ECC200 offre la correction d'erreurs la plus efficace et la plus grande capacité de données de toutes les versions de Data Matrix, ce qui en fait le choix idéal pour les nouvelles implémentations.

Comparaison entre les formats de codes-barres Data Matrix et les formats de codes-barres courants
Format Type de texte Nombre maximal de caractères Correction d'erreurs Cas d'utilisation typique
Matrice de données (ECC200) 2D 2 335 caractères alphanumériques Reed-Solomon (~30%) Industrie pharmaceutique, électronique, logistique
Code QR 2D 4 296 caractères alphanumériques Reed-Solomon (jusqu'à 30 %) URL, marketing, paiements
UPC-A 1D 12 chiffres Aucune Identification des produits de détail
Code 128 1D ~50 caractères Somme de contrôle uniquement Expédition, logistique générale

Comment installer la bibliothèque de codes-barres dans un projet C# ?

L'installation IronBarcode prend moins d'une minute avec le gestionnaire de packages NuGet . Ouvrez la console du Package Manager dans Visual Studio et exécutez :

Install-Package BarCode

Générateur de Data Matrix en C# : Guide complet avec IronBarcode: Image 1 - Image 1 sur 5 relative au générateur de Data Matrix en C# : Guide complet avec IronBarcode

Vous pouvez également rechercher BarCode d' Iron Software dans l'interface graphique du gestionnaire de packages NuGet . Après l'installation, ajoutez l'espace de noms à votre fichier C# :

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

Voilà toute la configuration requise. IronBarcode gère en interne tout l'encodage complexe Data Matrix, conformément à la norme ISO/IEC 16022, vous permettant ainsi de vous concentrer sur la logique de l'application. Pour des options de configuration supplémentaires telles que l'installation hors ligne ou les sources de packages personnalisées, consultez le guide d'installation IronBarcode et la page d'installation avancée de NuGet .

Cadres cibles pris en charge

IronBarcode cible .NET 10, .NET 8, .NET 6, .NET 5, .NET Standard 2.0 et .NET Framework 4.6.2 et versions ultérieures. Si votre projet cible l'un de ces frameworks, le package NuGet s'installe sans configuration supplémentaire.

Comment créer votre premier code-barres Data Matrix ?

La génération d'un code-barres Data Matrix ne nécessite qu'une seule ligne de code :

// Create a Data Matrix barcode with product information
var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix);

// Save as a high-quality PNG image
myBarcode.SaveAsImage("product-label.png");
// Create a Data Matrix barcode with product information
var myBarcode = BarcodeWriter.CreateBarcode("PROD-12345-2024", BarcodeWriterEncoding.DataMatrix);

// Save as a high-quality PNG image
myBarcode.SaveAsImage("product-label.png");
$vbLabelText   $csharpLabel

Ce code crée un code-barres Data Matrix encodant le texte PROD-12345-2024 et l'enregistre au format PNG. Le paramètre BarcodeWriterEncoding.DataMatrix indique à IronBarcode d'utiliser le format Data Matrix. Le code-barres résultant applique automatiquement la spécification ECC200, qui inclut une correction d'erreur intégrée et garantit une lecture fiable dans des conditions réelles.

Sortie BarCode

Générateur de Data Matrix en C# : Guide complet avec IronBarcode: Image 2 - Premier code-barres généré

Pour une utilisation immédiate dans les applications, récupérez le code-barres sous forme d'image bitmap ou exportez-le directement au format PDF :

// Get barcode as a bitmap for direct display in a UI control
var barcodeBitmap = myBarcode.ToBitmap();

// Save as PDF for document integration
myBarcode.SaveAsPdf("barcode-document.pdf");
// Get barcode as a bitmap for direct display in a UI control
var barcodeBitmap = myBarcode.ToBitmap();

// Save as PDF for document integration
myBarcode.SaveAsPdf("barcode-document.pdf");
$vbLabelText   $csharpLabel

IronBarcode prend en charge l'exportation aux formats PNG, JPEG, BMP, GIF, TIFF, SVG et PDF. Vous pouvez également créer et apposer des codes-barres sur des documents PDF existants afin de les intégrer dans les bons de commande, les factures ou les manifestes d'expédition.

Quels types de données peut-on encoder dans un code-barres Data Matrix ?

Data Matrix prend en charge plusieurs modes d'encodage, chacun optimisé pour un jeu de caractères différent. IronBarcode sélectionne automatiquement le mode le plus efficace en fonction du contenu que vous fournissez :

// Encode alphanumeric product codes
var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix);
productCode.SaveAsImage("product-code.png");

// Encode numeric serial numbers (numeric mode uses less space)
var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix);
serialNumber.SaveAsImage("serial-number.png");

// Encode URLs for product landing pages or support portals
var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix);
urlCode.SaveAsImage("url-datamatrix.png");

// Encode Unicode text for international applications
var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix);
unicodeBarcode.SaveAsImage("unicode-datamatrix.png");
// Encode alphanumeric product codes
var productCode = BarcodeWriter.CreateBarcode("ABC-123-XYZ", BarcodeWriterEncoding.DataMatrix);
productCode.SaveAsImage("product-code.png");

// Encode numeric serial numbers (numeric mode uses less space)
var serialNumber = BarcodeWriter.CreateBarcode("987654321098765", BarcodeWriterEncoding.DataMatrix);
serialNumber.SaveAsImage("serial-number.png");

// Encode URLs for product landing pages or support portals
var urlCode = BarcodeWriter.CreateBarcode("https://example.com/product/12345", BarcodeWriterEncoding.DataMatrix);
urlCode.SaveAsImage("url-datamatrix.png");

// Encode Unicode text for international applications
var unicodeBarcode = BarcodeWriter.CreateBarcode("製品-2024-東京", BarcodeWriterEncoding.DataMatrix);
unicodeBarcode.SaveAsImage("unicode-datamatrix.png");
$vbLabelText   $csharpLabel

Les données numériques utilisent un mode d'encodage compact qui réduit la taille du code-barres par rapport au texte alphanumérique. L'encodage binaire gère les caractères spéciaux et le texte Unicode sans configuration manuelle. IronBarcode sélectionne automatiquement le mode d'encodage le plus efficace, vous n'avez donc pas besoin de le spécifier explicitement.

Sortie

Ici, les quatre types de données ont été encodés avec succès dans des codes-barres Data Matrix valides.

Générateur de Data Matrix en C# : Guide complet avec IronBarcode: Image 3 - Codes-barres Data Matrix créés avec 4 types de données différents

Pour un aperçu plus détaillé des options d'encodage et de la prise en charge des jeux de caractères, consultez la documentation sur l'encodage IronBarcode et la référence des types de données de code-barres .

Comment personnaliser l'apparence d'un code-barres Data Matrix ?

IronBarcode propose un ensemble complet d' options de personnalisation des codes-barres permettant de contrôler la taille, la couleur, les annotations et les marges :

// Create barcode with custom styling
var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix);

// Set specific dimensions in pixels
customBarcode.ResizeTo(500, 500);

// Adjust colors for special label requirements
customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);

// Add human-readable text below the barcode symbol
customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024");

// Set margins to preserve the required quiet zone
customBarcode.SetMargins(10);

customBarcode.SaveAsImage("custom-datamatrix.png");
// Create barcode with custom styling
var customBarcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeWriterEncoding.DataMatrix);

// Set specific dimensions in pixels
customBarcode.ResizeTo(500, 500);

// Adjust colors for special label requirements
customBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
customBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);

// Add human-readable text below the barcode symbol
customBarcode.AddAnnotationTextBelowBarcode("Product: CUSTOM-2024");

// Set margins to preserve the required quiet zone
customBarcode.SetMargins(10);

customBarcode.SaveAsImage("custom-datamatrix.png");
$vbLabelText   $csharpLabel

Ces personnalisations permettent de répondre aux exigences en matière d'image de marque de l'entreprise ou aux normes d'étiquetage spécifiques. La méthode ResizeTo maintient des proportions de module appropriées, ce qui est essentiel pour la lisibilité Data Matrix à n'importe quelle distance de scanner. Les changements de couleur permettent de s'adapter à des procédés d'impression spéciaux ou à des contraintes liées au support, comme les étiquettes colorées ou les matériaux métalliques. La marge de zone silencieuse définie par SetMargins répond à l'exigence d'espace blanc minimum définie dans la spécification ISO/IEC 16022.

Générateur de matrices de données en C# : Guide complet avec IronBarcode: Image 4 - Sortie de matrice de données personnalisée

Choisir la bonne taille de code-barres

La taille minimale lisible d'un code-barres Data Matrix dépend du scanner et de la résolution d'impression. Pour la numérisation à usage général, une taille de module d'au moins 0,3 mm est recommandée. Avec une résolution d'impression de 300 DPI, un code-barres de 500 pixels mesure environ 42 mm de côté, ce qui est suffisant pour une lecture manuelle fiable. Pour les étiquettes plus petites, augmentez la résolution (DPI) ou réduisez la charge utile des données afin que le symbole reste dans une plage de taille scannable.

Comment générer plusieurs codes-barres par lot ?

La génération par lots réduit le travail nécessaire à la création de grands ensembles de codes Data Matrix pour les séries de production, les étiquettes d'expédition ou les stocks sérialisés :

// Generate barcodes for a batch of products
string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" };

foreach (string id in productIds)
{
    var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix);
    batchBarcode.ResizeTo(150, 150);
    batchBarcode.AddAnnotationTextBelowBarcode(id);

    // Save each barcode with a unique filename
    string filename = $"barcode_{id.Replace("-", "_")}.png";
    batchBarcode.SaveAsImage(filename);
}
// Generate barcodes for a batch of products
string[] productIds = { "PROD-001", "PROD-002", "PROD-003", "PROD-004", "PROD-005" };

foreach (string id in productIds)
{
    var batchBarcode = BarcodeWriter.CreateBarcode(id, BarcodeWriterEncoding.DataMatrix);
    batchBarcode.ResizeTo(150, 150);
    batchBarcode.AddAnnotationTextBelowBarcode(id);

    // Save each barcode with a unique filename
    string filename = $"barcode_{id.Replace("-", "_")}.png";
    batchBarcode.SaveAsImage(filename);
}
$vbLabelText   $csharpLabel

Ce modèle convient aux flux de travail logistiques et de soins de santé qui nécessitent de grands ensembles d'étiquettes, chacune associée à un identifiant unique. Pour les applications web, l'intégration directe des codes-barres dans les documents PDF ou leur transmission sous forme de tableaux d'octets permet la génération d'étiquettes en temps réel sans enregistrement de fichiers intermédiaires.

Générateur de Data Matrix en C# : Guide complet avec IronBarcode: Image 5 - Création par lots de codes-barres Data Matrix

Traitement asynchrone et multithread pour les grands lots

Lors de la génération de milliers de codes-barres, le traitement synchrone devient un goulot d'étranglement. IronBarcode offre des capacités de traitement asynchrone et multithread qui vous permettent de générer des codes-barres en parallèle sur plusieurs cœurs de processeur. Pour un lot de 10 000 étiquettes, le traitement parallèle peut réduire le temps de génération total d'un ordre de grandeur par rapport aux boucles séquentielles.

Pour les scénarios à haut débit, envisagez de regrouper les codes-barres dans des feuilles PDF à l'aide de l'API d'estampillage PDF d'IronBarcode plutôt que d'enregistrer des milliers de fichiers image individuels, ce qui peut créer une surcharge du système de fichiers sur les déploiements Windows et Linux.

Comment lire et vérifier les codes-barres Data Matrix ?

La génération de codes-barres ne représente que la moitié du processus ; vérifier que les scanners peuvent les lire correctement en constitue la boucle de qualité. IronBarcode intègre un lecteur de codes-barres qui permet de décoder une image générée immédiatement après sa création.

// Generate a barcode
var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix);
generated.SaveAsImage("verify-test.png");

// Read it back to confirm correct encoding
var results = BarcodeReader.Read("verify-test.png");
foreach (var result in results)
{
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Format: {result.BarcodeType}");
}
// Generate a barcode
var generated = BarcodeWriter.CreateBarcode("VERIFY-2024", BarcodeWriterEncoding.DataMatrix);
generated.SaveAsImage("verify-test.png");

// Read it back to confirm correct encoding
var results = BarcodeReader.Read("verify-test.png");
foreach (var result in results)
{
    Console.WriteLine($"Decoded value: {result.Value}");
    Console.WriteLine($"Format: {result.BarcodeType}");
}
$vbLabelText   $csharpLabel

Ce modèle de vérification aller-retour est particulièrement précieux dans les secteurs réglementés tels que l'industrie pharmaceutique, où la réglementation DSCSA exige que les codes-barres sérialisés sur les emballages de médicaments sur ordonnance soient à la fois lisibles par machine et correctement formatés. L'exécution d'une vérification de lecture dans le cadre du pipeline de génération permet de détecter les erreurs d'encodage avant que les étiquettes n'atteignent la chaîne de production.

Pour des scénarios de lecture plus avancés, consultez la documentation sur la lecture des codes- IronBarcode et le guide sur la lecture des codes-barres à partir de fichiers PDF .

Considérations courantes en matière de compatibilité de numérisation

Les différentes versions de micrologiciel des scanners interprètent les symboles Data Matrix avec une tolérance variable concernant les zones de silence et le contraste des modules. Pour les scanners portables anciens, il est recommandé d'augmenter la taille des modules, d'utiliser des couleurs noir sur blanc à contraste élevé et de maintenir une zone de silence d'au moins deux modules de large. Le guide GS1 relatif aux identifiants d'application fournit des modèles d'encodage pour les identifiants de la chaîne d'approvisionnement, tels que les numéros de lot, les dates de péremption et les GTIN, au sein d'un même symbole Data Matrix.

Quelles sont vos prochaines étapes ?

La génération de codes-barres Data Matrix en C# avec IronBarcode suit un modèle cohérent : installez le package NuGet , appelez BarcodeWriter.CreateBarcode avec BarcodeWriterEncoding.DataMatrix, appliquez les personnalisations nécessaires et exportez vers votre format cible. La même API gère tout, des prototypes à code-barres unique aux pipelines de traitement par lots à haut volume.

Voici les pistes recommandées pour aller plus loin :

  • Explorez la lecture des codes-barres : Le guide de lecture IronBarcode explique comment décoder les codes-barres à partir d'images, de fichiers PDF et de flux vidéo en direct.
  • Essayez d'autres formats 2D : IronBarcode génère également des codes QR , PDF417, Aztec et tous les principaux formats 1D en utilisant la même API.
  • Intégrer des codes-barres dans les documents : Le tutoriel sur l'estampillage PDF montre comment ajouter des codes-barres aux PDF existants par programmation.
  • Passez à l'échelle avec le traitement asynchrone : consultez le guide sur le traitement asynchrone et multithread pour paralléliser les tâches par lots volumineuses.
  • Consultez la section relative aux licences : La page de licences IronBarcode répertorie les options allant de la redistribution pour développeurs à la redistribution OEM.

Démarrez un essai gratuit pour tester toutes les fonctionnalités sans restrictions, ou consultez la documentation complète IronBarcode pour obtenir des références API détaillées et des exemples de code supplémentaires.

NuGet Installer avec NuGet

PM >  Install-Package BarCode

Consultez IronBarcode sur NuGet pour une installation rapide. Avec plus de 10 millions de téléchargements, il transforme le développement PDF avec C#. Vous pouvez également télécharger le DLL.

Questions Fréquemment Posées

Qu'est-ce qu'un code-barres Data Matrix ?

Un code-barres Data Matrix est un symbole 2D conforme à la norme ISO/IEC 16022 qui encode jusqu'à 2 335 caractères alphanumériques ou 3 116 chiffres dans une grille compacte. Il est couramment utilisé pour l'étiquetage pharmaceutique, le marquage électronique et la gestion des stocks.

Comment générer un code-barres Data Matrix en C# ?

Appelez BarcodeWriter.CreateBarcode avec votre chaîne de données et BarcodeWriterEncoding.DataMatrix, puis appelez SaveAsImage ou SaveAsPdf sur le résultat. IronBarcode gère automatiquement l'encodage ECC200 et la correction d'erreurs.

Quels sont les avantages de l'utilisation d'IronBarcode pour la génération de Data Matrix ?

IronBarcode génère des codes-barres ECC200 Data Matrix en une seule ligne de code, gère la sélection automatique du mode d'encodage et exporte aux formats PNG, PDF, SVG et autres sans dépendances supplémentaires.

IronBarcode peut-il exporter des codes-barres Data Matrix vers différents formats de fichiers ?

Oui. IronBarcode exporte les codes-barres Data Matrix aux formats PNG, JPEG, BMP, GIF, TIFF, SVG et PDF. Vous pouvez également intégrer des codes-barres directement dans des documents PDF existants.

Est-il possible de personnaliser les codes-barres Data Matrix avec IronBarcode ?

Oui. IronBarcode propose ResizeTo pour les dimensions, ChangeBarCodeColor et ChangeBackgroundColor pour la couleur, AddAnnotationTextBelowBarcode pour le texte lisible par l'homme et SetMargins pour le contrôle de la zone silencieuse.

Pour quels secteurs les codes-barres Data Matrix sont-ils particulièrement adaptés ?

Les codes-barres Data Matrix sont largement utilisés dans l'industrie pharmaceutique pour la conformité à la DSCSA, dans l'électronique pour l'identification des composants, dans la logistique pour le suivi des colis et dans le secteur de la santé pour l'étiquetage des médicaments conforme à la norme GS1.

Quelle version de Data Matrix IronBarcode génère-t-il ?

IronBarcode génère par défaut des codes-barres Data Matrix ECC200. L'ECC200 est la version actuelle de la norme ISO/IEC 16022, offrant la plus grande capacité de données et la correction d'erreurs Reed-Solomon.

Pourquoi utiliser les codes-barres Data Matrix plutôt que d'autres codes 2D ?

Les codes-barres Data Matrix sont privilégiés pour leur haute densité de données dans un encombrement réduit, leur correction d'erreurs Reed-Solomon qui résiste à des dommages allant jusqu'à 30 % des symboles, et leur normalisation ISO/IEC reconnue dans les industries réglementées du monde entier.

Jordi Bardia
Ingénieur logiciel
Jordi est le plus compétent en Python, C# et C++, et lorsqu'il ne met pas à profit ses compétences chez Iron Software, il programme des jeux. Partageant les responsabilités des tests de produit, du développement de produit et de la recherche, Jordi apporte une immense valeur à l'amé...
Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi