using IronBarCode;
using System.Drawing;
// Reading a barcode is easy with IronBarcode!
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf"); // From PDF use ReadPdf
// To configure and fine-tune barcode reading, utilize the BarcodeReaderOptions class
var myOptionsExample = new BarcodeReaderOptions
{
// Choose a reading speed from: Faster, Balanced, Detailed, ExtremeDetail
// There is a tradeoff in performance as more detail is set
Speed = ReadingSpeed.Balanced,
// Reader will stop scanning once a single barcode is found (if set to true)
ExpectMultipleBarcodes = true,
// By default, all barcode formats are scanned for
// Specifying a subset of barcode types to search for would improve performance
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
// Utilize multiple threads to read barcodes from multiple images in parallel
Multithreaded = true,
// Maximum threads for parallelized barcode reading
// Default is 4
MaxParallelThreads = 2,
// The area of each image frame in which to scan for barcodes
// Specifying a crop area will significantly improve performance and avoid noisy parts of the image
CropArea = new Rectangle(),
// Special setting for Code39 barcodes
// If a Code39 barcode is detected, try to read with both the base and extended ASCII character sets
UseCode39ExtendedMode = true
};
// Read with the options applied
var results = BarcodeReader.Read("barcode.png", myOptionsExample);
// Create a barcode with one line of code
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// After creating a barcode, we may choose to resize
myBarcode.ResizeTo(400, 100);
// Save our newly-created barcode as an image
myBarcode.SaveAsImage("EAN8.jpeg");
Image myBarcodeImage = myBarcode.Image; // Can be used as Image
Bitmap myBarcodeBitmap = myBarcode.ToBitmap(); // Can be used as Bitmap
Comment générer un code-barres de type Code 128 en C#
Publié mars 6, 2024
Partager:
Les codes-barres sont essentiels dans les opérations commerciales modernes, de la gestion des stocks à l'étiquetage et à l'expédition des produits.Code 128 se distingue comme une option polyvalente et largement utilisée parmi les différents jeux de codes-barres. Dans cet article, nous verrons comment créer un générateur de code-barres Code 128 en C# à l'aide de la fonctionIronBarcode bibliothèque.
Comment générer le code-barres du Code 128 en C# ;
Installer la bibliothèque IronBarcode
Générer un code-barres en utilisant l'encodage Code 128
Redimensionner le code-barres
Modifier le code-barres en changeant l'arrière-plan et la couleur du code-barres
Lire le code-barres créé
Introduction aux codes à barres du code 128
Le code 128 est un code-barres linéaire à haute densité et à longueur variable qui peut coder des données alphanumériques et des caractères spéciaux. Il s'agit d'un système d'autocontrôle qui comprend un chiffre de contrôle pour garantir l'exactitude des données. Le système d'encodage du Code 128 prend en charge trois caractères de contrôle :
Jeu de caractères A: Comprend les lettres majuscules, les chiffres et les caractères spéciaux.
Jeu de caractères B: Comprend des lettres majuscules, des lettres minuscules, des chiffres et des caractères spéciaux supplémentaires.
Character Set C: Encode des paires de chiffres(00 à 99).
Pourquoi IronBarcode ?
IronBarcode est une bibliothèque .NET robuste facilitant la génération, le décodage et la personnalisation des codes-barres. Grâce à la prise en charge de diversCodage du code-barres comme le Code 128, le Code 39, le Code 93, le Code EAN 13, le Code EAN 8,Codes QRet d'autres. Il offre une API intuitive pour l'ajustement du contenu, de la taille et de l'apparence. Ses capacités de décodage, le calcul automatique de la somme de contrôle, etimage export en font un outil précieux pour les développeurs dans le domaine de 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 améliorent sa polyvalence dans les tâches liées aux codes-barres.
Création du Code 128 Barcode Generator C&num ;
Maintenant, nous allons écrire le code pour générer une image de code-barres code 128 dans C#. La première étape consiste à installer la bibliothèque IronBarcode dans notre projet. Le projet peut être de n'importe quel type, tel que des projets Windows Forms, web forms, MAUI, Xamarin, ASP.NET MVC, Razor ou Balzor.
Installation de la bibliothèque IronBarcode
Pour installer leIronBarcode paquet NuGet à l'aide de la console du gestionnaire de paquets dans Visual Studio, vous pouvez suivre les étapes suivantes :
Ouvrez Visual Studio.
Dans le menu supérieur, allez dans "Affichage" > "Autres fenêtres" > "Console du gestionnaire de paquets" pour ouvrir la console du gestionnaire de paquets.
Dans la console du gestionnaire de paquets, vous pouvez utiliser la commande Install-Package pour installer le paquet IronBarcode. Tapez la commande suivante et appuyez sur Entrée :
:ProductInstall
Cette commande télécharge et installe la dernière version du package NuGet 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.
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
$vbLabelText $csharpLabel
Ce code crée un code-barres à partir de la chaîne d'entrée et l'enregistre dans un fichier image JPEG nommé "myBarcode.Jpeg" L'encodage spécifique utilisé est le Code 128, qui peut représenter des caractères alphanumériques.
Explication
La première ligne de code crée une nouvelle variable appelée myBarcode. Il utilise la méthode BarcodeWriter.CreateBarcode pour générer un code-barres 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 généralement 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é sous la forme d'un fichier image JPEG. Le nom de fichier de l'image sauvegardée est "myBarcode.Jpeg". Le format de l'image enregistrée est JPEG(Groupe mixte d'experts en photographie).
Sortie
Le code-barres généré est le suivant :
Ce code peut maintenant être lu à l'aide d'un appareil de lecture de codes-barres.
Maintenant, redimensionnons notre code-barres.
Redimensionner le code-barres
Le code suivant redimensionnera notre code-barres en fonction de la dimension donnée.
Shared Sub Main(ByVal args() As String)
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
myBarcode.ResizeTo(800,300) ' width & height in pixels (px)
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
$vbLabelText $csharpLabel
Le code de création et d'enregistrement des codes-barres reste le même. Il suffit d'ajouter la ligne supplémentaire pour redimensionner le code-barres.
La fonction 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 à 300 pixels.
De cette manière, nous pouvons définir la largeur minimale et la hauteur du module de barres. L'image de code-barres résultante aura ces dimensions après le redimensionnement, comme indiqué ci-dessous.
Image de code-barres
Maintenant, stylisons notre code-barres.
Style Code 128 code-barres
Maintenant, stylons notre code-barres en changeant la couleur d'arrière-plan et la couleur du code-barres.
Shared Sub Main(ByVal args() As String)
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
myBarcode.ResizeTo(800,300)
myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
$vbLabelText $csharpLabel
Le code permettant de générer et d'enregistrer des codes-barres est le même. Je viens d'ajouter deux lignes supplémentaires pour modifier l'arrière-plan et la couleur du code-barres. L'explication est la suivante :
**La méthode ChangeBackgroundColor est appelée sur l'objet myBarcode. Cette méthode permet de modifier la couleur d'arrière-plan de l'image du code-barres. L'argument transmis à ChangeBackgroundColor est IronSoftware.Drawing.Color.Cornsilk, qui spécifie la couleur d'arrière-plan souhaitée. Dans ce cas, la couleur d'arrière-plan est définie sur Cornsilk, qui est une couleur jaunâtre pâle.
La méthode ChangeBarCodeColor est appelée sur l'objet myBarcode. Cette méthode modifie la couleur des barres du code-barres. L'argument transmis à ChangeBarCodeColor est IronSoftware.Drawing.Color.Brown, qui spécifie la couleur du code-barres souhaité. Dans ce cas, la couleur du code-barres est définie sur Brun.
Sortie
Le code-barres stylisé est comme :
Lire le code-barres Code 128
Nous avons appris à générer le code-barres code 128. Ecrivons un code pour lire le code-barres :
static void Main(string [] args)
{
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
foreach (var barcodeValue in resultFromBarcode)
{
Console.WriteLine(barcodeValue);
}
}
static void Main(string [] args)
{
var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
foreach (var barcodeValue in resultFromBarcode)
{
Console.WriteLine(barcodeValue);
}
}
Shared Sub Main(ByVal args() As String)
Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
For Each barcodeValue In resultFromBarcode
Console.WriteLine(barcodeValue)
Next barcodeValue
End Sub
$vbLabelText $csharpLabel
Le code ci-dessus lit les codes-barres du fichier image "myBarcode.Jpeg" et imprime leurs valeurs sur la console. La classe BarcodeReader est responsable du décodage des 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. Il appelle la méthode 'BarcodeReader.Read' pour lire les codes-barres du fichier image nommé "myBarcode.Jpeg". Le résultat de cette opération est stocké dans la variable "resultFromBarcode".
La deuxième ligne démarre une boucle qui parcourt chaque valeur de code-barres dans la collection "resultFromBarcode". La boucle foreach nous 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 sur la console. La valeur du code-barres représente le contenu d'un code-barres lu dans l'image.
La valeur du code-barres sera imprimée sur la console comme indiqué ci-dessous.
Sortie
Conclusion
En conclusion, cet article a démontré comment créer un générateur de code-barres Code 128 en C# à l'aide de la fonctionIronBarcode bibliothèque. En exploitant les capacités d'IronBarcode, les développeurs peuvent facilementgénérer, personnaliseretstyle Codes à barres du Code 128 pour diverses applications, notamment la gestion des stocks, l'étiquetage des produits et l'expédition. En suivant ce tutoriel, les développeurs peuvent intégrer une fonctionnalité robuste de code-barres dans leurs projets C#, améliorant ainsi l'efficacité dans la gestion des tâches liées à la génération et au décodage des codes-barres. La polyvalence et l'API intuitive d'IronBarcode en font un outil précieux pour les développeurs qui travaillent sur des applications impliquant la mise en œuvre de codes-barres.
Lors de la génération de codes à barres du Code 128 avec la bibliothèque IronBarcode, les développeurs ont la possibilité de personnaliser les caractères de sélection du jeu de codes, ce qui garantit un codage optimal des données dont les valeurs ASCII varient. Le code de rendu s'adapte de manière transparente aux formats d'image préférés, offrant aux développeurs le choix d'enregistrer les codes-barres en JPEG ou dans d'autres formats. En outre, l'inclusion d'un caractère d'arrêt garantit la fin précise des informations codées dans les codes-barres générés.
IronBarcode offreun essai gratuit d'exploiter pleinement le potentiel de la bibliothèque pour répondre à 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.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Comment lire un code-barres à partir d'un appareil photo dans VB .NET
SUIVANT > Comment créer un générateur de code-barres Code 39 en C#
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier