Comment générer un code-barres Code 128 en C#
Les codes-barres sont essentiels dans les opérations commerciales modernes, allant de la gestion des stocks à l'étiquetage des produits et à l'expédition. Code 128 se distingue comme une option polyvalente et largement utilisée parmi les divers ensembles de codes à barres. Dans cet article, nous explorerons comment construire un générateur de code-barres Code 128 en C# à l'aide de la bibliothèque IronBarcode.
How to Generate Code 128 Barcode in C#
- Installez la bibliothèque IronBarcode
- Générez un code-barres en utilisant l'encodage Code 128
- Redimensionnez le code-barres
- Stylisez le code-barres en changeant la couleur de fond et la couleur du code-barres
- Lisez le code-barres créé
Introduction aux codes-barres Code 128
L'ensemble de codes Code 128 est un code-barres linéaire à haute densité et à longueur variable qui peut encoder à la fois des données alphanumériques et des caractères spéciaux. Il est auto-vérifiant, ce qui inclut un chiffre de contrôle pour assurer l'exactitude des données. Le schéma d'encodage Code 128 prend en charge trois caractères de contrôle :
- Jeu de caractères A : Inclut les lettres majuscules, les chiffres et les caractères spéciaux.
- Jeu de caractères B : Inclut les lettres majuscules, les lettres minuscules, les chiffres et des caractères spéciaux supplémentaires.
- Jeu de caractères C : Encode des paires de chiffres (00 à 99).
Pourquoi choisir IronBarcode ?
IronBarcode est une bibliothèque .NET robuste facilitant la génération, le décodage et la personnalisation de codes-barres. Avec le support pour divers encodages de codes-barres comme Code 128, Code 39, Code 93, Code EAN 13, EAN 8, QR codes, et d'autres. Elle offre une API intuitive pour le contenu, la taille et les ajustements d'apparence. Ses capacités de décodage, le calcul automatique de la somme de contrôle, et l'exportation d'images en font un outil précieux pour les développeurs dans la gestion des stocks et au-delà. Les options de personnalisation de la bibliothèque pour les propriétés, les marges, les polices et les couleurs augmentent sa polyvalence dans les tâches liées aux codes-barres.
Creating Code 128 Barcode Generator in C#
Maintenant, nous allons écrire du code pour générer une image de code-barres Code 128 en C#. La première étape consiste à installer la bibliothèque IronBarcode dans notre projet. Le projet peut être de tout type, tel que Windows Forms, formulaires Web, MAUI, Xamarin, ASP.NET MVC, Razor ou projets Blazor.
Installation de la bibliothèque IronBarcode
Pour installer le package NuGet d'IronBarcode en utilisant la console du gestionnaire de packages dans Visual Studio, vous pouvez suivre ces étapes :
- Ouvrez Visual Studio.
- Dans le menu supérieur, allez dans "Affichage" > "Autres fenêtres" > "Console du gestionnaire de packages" pour ouvrir la console du gestionnaire de packages.
-
Dans la console du gestionnaire de paquets, vous pouvez utiliser la commande
Install-Packagepour installer le paquet IronBarcode. Tapez la commande suivante et appuyez sur Entrée :Install-Package BarCodeInstall-Package BarCodeSHELL - Cette commande téléchargera et installera la version la plus récente du package NuGet d'IronBarcode et ses dépendances dans votre projet.
Ajoutez l'espace de noms suivant pour utiliser la bibliothèque de codes-barres dans votre projet.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
Générer une image de code-barres Code 128
Le code suivant va générer un code-barres Code 128.
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Save the barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
Ce code crée un code-barres à partir de la chaîne d'entrée et le sauvegarde comme un fichier image JPEG nommé "myBarcode.Jpeg". L'encodage spécifique utilisé est Code 128, qui peut représenter des caractères alphanumériques.
Explication
La première ligne de code crée une nouvelle variable nommée myBarcode. Elle utilise la méthode BarcodeWriter.CreateBarcode pour générer un BarCode basé sur la chaîne d'entrée "12345ABC12345".
Le deuxième argument, BarcodeWriterEncoding.Code128, spécifie le type d'encodage pour le code-barres. Dans ce cas, il utilise l'encodage Code 128, qui est communément utilisé pour les données alphanumériques. Le code-barres résultant est stocké dans la variable myBarcode.
La deuxième ligne enregistre le code-barres généré comme un fichier image JPEG. Le nom du fichier pour l'image enregistrée est "myBarcode.Jpeg". Le format de l'image enregistrée est JPEG (Joint Photographic Experts Group).
Sortie
Le code-barres généré est comme suit :

Ce code peut maintenant être lu à l'aide d'un appareil de lecture de code-barres.
Maintenant, redimensionnons notre code-barres.
Redimensionner le code-barres
Le code suivant redimensionnera notre code-barres selon les dimensions données.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Save the resized barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
Le code pour créer et enregistrer les codes-barres reste le même. Ajoutez simplement la ligne supplémentaire pour redimensionner le code-barres.
La méthode ResizeTo() redimensionne l'image du code-barres stockée dans la variable myBarcode. La méthode ResizeTo est appelée sur l'objet myBarcode. Les deux arguments transmis à ResizeTo sont la largeur et la hauteur. Dans ce cas, la largeur est fixée à 800 pixels et la hauteur est fixée à 300 pixels.
De cette façon, nous pouvons définir la largeur minimale et la hauteur du module à barres. L'image du code-barres résultant aura ces dimensions après le redimensionnement, comme illustré ci-dessous.
Image du code-barres

Maintenant, stylisons notre code-barres.
Styliser le code-barres Code 128
Maintenant, stylisons notre code-barres en changeant la couleur de fond et la couleur du code-barres.
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
static void Main(string[] args)
{
// Create a barcode from the input string and specify encoding type as Code 128
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
// Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300);
// Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
// Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
// Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
}
Shared Sub Main(ByVal args() As String)
' Create a barcode from the input string and specify encoding type as Code 128
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
' Resize the barcode image to the specified width and height (in pixels)
myBarcode.ResizeTo(800, 300)
' Change the background color of the barcode
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
' Change the barcode color
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
' Save the styled barcode image as a JPEG file
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
Le code pour générer et enregistrer les codes-barres est identique. J'ai juste ajouté deux lignes supplémentaires pour changer la couleur de fond et la couleur du code-barres. L'explication est la suivante :
-
ChangeBackgroundColor: La méthode
ChangeBackgroundColorest appelée sur l'objetmyBarcode. Cette méthode change la couleur de fond de l'image du code-barres. L'argument transmis àChangeBackgroundColorestIronSoftware.Drawing.Color.Cornsilk, qui spécifie la couleur d'arrière-plan souhaitée. Dans ce cas, la couleur de fond est définie sur Cornsilk, qui est une couleur jaune pâle. - ChangeBarCodeColor: La méthode
ChangeBarCodeColorest appelée sur l'objetmyBarcode. Cette méthode change la couleur des barres du code-barres. L'argument transmis àChangeBarCodeColorestIronSoftware.Drawing.Color.Brown, qui spécifie la couleur du code-barres souhaitée. Dans ce cas, la couleur du code-barres est définie sur Brown.
Sortie
Notre code-barres stylisé est comme suit :

Lire le code-barres Code 128
Nous avons appris à générer un code-barres Code 128. Écrivons maintenant le code pour lire le code-barres :
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
static void Main(string[] args)
{
// Read barcodes from the specified image file
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
// Loop through each barcode value read from the image
foreach (var barcodeValue in resultFromBarcode)
{
// Print each barcode value to the console
Console.WriteLine(barcodeValue);
}
}
Shared Sub Main(ByVal args() As String)
' Read barcodes from the specified image file
Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
' Loop through each barcode value read from the image
For Each barcodeValue In resultFromBarcode
' Print each barcode value to the console
Console.WriteLine(barcodeValue)
Next barcodeValue
End Sub
Le code ci-dessus lit le code-barres à partir du fichier image "myBarcode.Jpeg" et imprime leurs valeurs sur la console. La classe BarcodeReader est chargée de décoder les données du code-barres à partir de l'image. L'explication du code est la suivante :
Explication du code
-
La première ligne crée une variable nommée
resultFromBarcode. Elle appelle la méthodeBarcodeReader.Readpour lire les codes-barres du fichier image nommé "myBarcode.Jpeg". Le résultat de cette opération est stocké dans la variableresultFromBarcode. -
La deuxième ligne démarre une boucle qui parcourt chaque valeur de code-barres dans la collection
resultFromBarcode. La boucleforeachnous permet de traiter chaque valeur de code-barres une par une. - À l'intérieur de la boucle, cette ligne imprime chaque valeur de code-barres à la console. Le
barcodeValuereprésente le contenu d'un code-barres qui a été lu à partir de l'image.
La valeur du code-barres sera imprimée sur la console comme illustré ci-dessous.
Sortie

Analyse des segments d'encodage du code 128
Comme mentionné précédemment, le Code 128 utilise trois jeux de caractères — A, B et C — et alterne entre eux pour encoder efficacement les données. IronBarcode fournit la méthode Code128GS1Parser.GetEncodingInfo pour analyser quels jeux de caractères sont utilisés pour une chaîne d'entrée donnée.
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
// Analyze Code 128 encoding segments
var result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF");
Console.WriteLine(result.CharacterSetSummary); // "B → C → B"
Console.WriteLine(result.TotalSymbols); // 14
Console.WriteLine(result.IsGS1); // false
foreach (var segment in result.Segments)
{
Console.WriteLine($"{segment.CharacterSetName}: \"{segment.Data}\" ({segment.SymbolCount} symbols)");
}
// Output:
// Code B: "ABC" (3 symbols)
// Code C: "123456" (3 symbols)
// Code B: "DEF" (3 symbols)
Imports System
' Analyze Code 128 encoding segments
Dim result = Code128GS1Parser.GetEncodingInfo("ABC123456DEF")
Console.WriteLine(result.CharacterSetSummary) ' "B → C → B"
Console.WriteLine(result.TotalSymbols) ' 14
Console.WriteLine(result.IsGS1) ' False
For Each segment In result.Segments
Console.WriteLine($"{segment.CharacterSetName}: ""{segment.Data}"" ({segment.SymbolCount} symbols)")
Next
' Output:
' Code B: "ABC" (3 symbols)
' Code C: "123456" (3 symbols)
' Code B: "DEF" (3 symbols)
La méthode renvoie un objet Code128EncodingInfo contenant la répartition des segments d'encodage. Dans cet exemple, l'encodeur passe du code B pour les lettres, au code C pour les paires numériques (l'encodage le plus compact pour les chiffres), puis revient au code B pour les lettres restantes. Le compte TotalSymbols comprend le symbole de début, les symboles de données, les commutateurs de code, le chiffre de contrôle et le symbole d'arrêt.
Conclusion
En conclusion, cet article a démontré comment créer un générateur de code-barres Code 128 en C# en utilisant la bibliothèque IronBarcode. En tirant parti des capacités de IronBarcode, les développeurs peuvent facilement générer, personnaliser et styliser les codes-barres Code 128 pour diverses applications, y compris la gestion des stocks, l'étiquetage des produits et l'expédition. En suivant ce tutoriel, les développeurs peuvent intégrer une fonctionnalité de code-barres robuste dans leurs projets C#, améliorant ainsi l'efficacité dans le traitement des tâches liées à la génération et au décodage des codes-barres. La polyvalence et l'API intuitive de IronBarcode en font un outil précieux pour les développeurs travaillant sur des applications qui impliquent la mise en œuvre de codes-barres.
Dans le processus de génération des codes-barres Code 128 avec la bibliothèque IronBarcode, les développeurs ont la flexibilité de personnaliser les caractères de sélection de l'ensemble de codes, assurant ainsi un encodage optimal des données avec des valeurs ASCII variées. Le code de rendu s'adapte parfaitement aux formats d'image préférés, offrant aux développeurs le choix de sauvegarder les codes-barres au format JPEG ou d'autres formats. De plus, l'inclusion d'un caractère d'arrêt garantit la terminaison correcte des informations encodées au sein des codes-barres générés.
IronBarcode offre une évaluation gratuite pour débloquer tout le potentiel de la bibliothèque pour leurs besoins de développement. Cette approche permet aux développeurs d'évaluer les capacités d'IronBarcode avant de s'engager dans la licence commerciale.
Questions Fréquemment Posées
Comment puis-je générer un code-barres Code 128 en C#?
Pour générer un code-barres Code 128 en C#, utilisez la méthode BarcodeWriter.CreateBarcode de la bibliothèque IronBarcode avec votre chaîne d'entrée souhaitée et spécifiez Code 128 comme type d'encodage. Vous pouvez ensuite exporter l'image du code-barres généré en utilisant des méthodes comme SaveAsJpeg.
À quoi sert le Code 128?
Le Code 128 est utilisé pour encoder des données alphanumériques et des caractères spéciaux dans un format de code-barres compact. Il est idéal pour la gestion des stocks, l'étiquetage des produits et les applications d'expédition en raison de sa densité de données élevée et de sa polyvalence.
Puis-je personnaliser l'apparence d'un code-barres avec IronBarcode?
Oui, vous pouvez personnaliser l'apparence d'un code-barres avec IronBarcode en modifiant ses couleurs avec ChangeBackgroundColor et ChangeBarCodeColor, et en le redimensionnant avec la méthode ResizeTo.
Comment lire un code-barres en C#?
Pour lire un code-barres en C#, utilisez la méthode BarcodeReader.Read de la bibliothèque IronBarcode. Cette méthode traite le fichier image contenant le code-barres et renvoie les valeurs décodées pour un traitement ultérieur.
Quels sont les avantages d'utiliser la bibliothèque IronBarcode pour la génération de codes-barres?
La bibliothèque IronBarcode propose une API conviviale, supporte divers encodages de codes-barres, fournit un calcul automatique de somme de contrôle et permet l'exportation d'images dans plusieurs formats, ce qui en fait un outil flexible et efficace pour la génération et la personnalisation des codes-barres.
Quels formats d'image IronBarcode peut-il exporter ?
IronBarcode peut exporter des images de codes-barres vers divers formats, y compris JPEG, ce qui permet une flexibilité dans le traitement et l'intégration des images de codes-barres dans différentes applications.
Est-il possible d'essayer IronBarcode avant de l'acheter ?
Oui, vous pouvez essayer la version d'essai gratuite d'IronBarcode pour explorer son plein potentiel et ses capacités avant de vous engager à acheter une licence commerciale, ce qui garantit que vous pouvez intégrer efficacement la fonctionnalité de code-barres dans vos projets C#.



