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
Générez facilement des codes-barres conformes GS1 avec IronBarcode
Jordi Bardia
mars 27, 2025
Partager:
En intégrant des formats de données structurés, les code-barres GS1 standardisent l'identification des produits et la traçabilité à travers les chaînes d'approvisionnement. Les développeurs peuvent utiliser IronBarcode pour générer des codes-barres conformes GS1-128, DataMatrix ou autres, en tirant parti des identifiants d'application prédéfinis (AIs) et des règles de syntaxe strictes.
Ce guide décrit le processus étape par étape pour créer des codes-barres de manière programmatique, y compris comment intégrer des caractères de contrôle FNC1 et valider les sommes de contrôle pour répondre aux spécifications ISO/IEC. Les entreprises qui mettent en œuvre les normes GS1 dans les flux de travail de la vente au détail, de la fabrication ou de la distribution bénéficient d'une meilleure intégration des systèmes, de moins d'erreurs manuelles de données et d'une rotation des stocks plus rapide.
Qu'est-ce qu'un code-barres GS1 ?
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
Les codes-barres GS1 sont des systèmes d'identification normalisés qui attribuent des numéros globaux d'article commercial (GTIN) uniques aux produits, y compris le code produit universel (UPC). Ces codes permettent de suivre sans interruption les chaînes d'approvisionnement mondiales. Les codes-barres GS1 automatisent la gestion des stocks, réduisent les erreurs manuelles et améliorent la traçabilité des produits dans la vente au détail, la fabrication et la distribution. Chaque variante de produit de consommation reçoit un GTIN unique pour assurer un suivi précis.
Ils prennent en charge des symbologies comme GS1-128 et DataMatrix, qui s'intègrent aux systèmes d'entreprise pour rationaliser la logistique et les transactions au point de vente. Les codes-barres GS1 augmentent la précision des données en encodant des champs de données structurés tels que les numéros de lot et les dates d'expiration. Ils assurent également la conformité avec les règlements de l'industrie, ce qui les rend indispensables pour l'infrastructure du commerce moderne.
Ci-dessous se trouve un tableau de comparaison concis mettant en évidence différents types de codes-barres pris en charge par GS1 et leurs applications typiques.
Type de code-barres
Utilisation typique
Capacité de Données
Caractéristiques clés
EAN/UPC
Variantes de produits de consommation au point de vente (POS) de détail
Jusqu'à 14 chiffres (principalement le GTIN)
Largement reconnu ; le code-barres le plus courant sur les articles de détail
GS1-128
Chaîne d'approvisionnement et logistique
Variable (peut inclure le lot, la série et la date d'expiration)
Format flexible; encode souvent des détails de produit supplémentaires
GS1 DataMatrix
Santé, électronique, articles de grande valeur
Haute capacité (peut stocker le GTIN plus des champs supplémentaires)
Très compact ; idéal pour les petits produits ; excellent pour la traçabilité
GS1 QR Code
Marketing et engagement des consommateurs
Haute capacité (peut contenir GTIN + URL, etc.)
Peut transporter des informations promotionnelles; facilement scanné par les smartphones
Les codes-barres GS1 font progresser les initiatives de transformation numérique en facilitant la capture et l'analyse des données en temps réel, renforçant ainsi la visibilité de la chaîne d'approvisionnement et la prise de décision. Leur intégration avec des technologies innovantes telles que l'Internet des objets (IoT) et la blockchain améliore la sécurité et la traçabilité tout au long du cycle de vie du produit. Cette connectivité stimule l'efficacité opérationnelle et les réductions de coûts, tout en fournissant des informations précieuses sur le comportement des consommateurs et les tendances du marché. Il permet aux entreprises d'innover et de maintenir un avantage concurrentiel dans un marché mondial en évolution rapide.
Pourquoi utiliser IronBarcode pour la génération de codes-barres GS1 ?
IronBarcode fournit des outils robustes pour générer des codes-barres conformes au GS1, y compris des formats tels que GS1-128, DataMatrix et codes QR. La bibliothèque applique une validation stricte des qualificatifs clés comme les identifiants d'application (AIs) et calcule automatiquement les sommes de contrôle pour répondre aux exigences ISO/IEC. Les développeurs peuvent l'intégrer dans des applications .NET pour produire et personnaliser des images de codes-barres ou de QR Codes de manière programmatique.
Les encodages de données structurées incluent des qualificatifs clés tels que les numéros de lot, les dates d'expiration et les numéros de série. Ces fonctionnalités améliorent la précision dans les flux de travail de suivi des stocks et des produits. Les secteurs de la vente au détail, de la santé et de la logistique utilisent ces fonctionnalités pour réduire les erreurs manuelles. Ils améliorent également l'interopérabilité avec les systèmes de point de vente et de gestion d'entrepôt. L'utilisation d'un générateur de code-barres en ligne simplifie le processus de création de codes-barres conformes à la norme GS1. Pour la génération programmatique, IronBarcode offre les meilleurs résultats absolus.
Guide étape par étape pour générer des codes-barres conformes GS1 avec IronBarcode
Ce guide offre un aperçu détaillé pour la génération de codes-barres conformes à la norme GS1 (par exemple, GS1-128) en utilisant la bibliothèque IronBarcode dans .NET. Le processus comprend l'installation, la création de codes-barres, la personnalisation, la validation et les meilleures pratiques.
1. Installer la bibliothèque IronBarcode
Pour commencer avec la génération de codes-barres GS1, installez IronBarcode dans votre projet .NET en utilisant le gestionnaire de packages NuGet :
Install-Package BarCode
Install-Package BarCode
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package BarCode
$vbLabelText $csharpLabel
Alternativement, vous pouvez le télécharger depuis le site officiel et ajouter manuellement la référence à votre projet.
2. Créer un code-barres
Pour générer un code-barres GS1, vous devez définir correctement le GTIN et suivre les normes de formatage GS1. Les codes-barres GS1-128 nécessitent des données structurées, y compris des identifiants d'application (AIs) entre parenthèses. Voici la méthode correcte pour générer un code-barres GS1-128 en utilisant IronBarcode :
using IronBarCode;
// Define GS1 barcode content with AI (01) for GTIN
var barcode = BarcodeWriter.CreateBarcode("(01)12345678901231", BarcodeEncoding.Code128GS1);
// Customize barcode settings
barcode.SetMargins(20);
barcode.AddAnnotationTextBelowBarcode("GS1-128 Barcode");
// Save barcode as an image
barcode.SaveAsPng("gs1_barcode.png");
using IronBarCode;
// Define GS1 barcode content with AI (01) for GTIN
var barcode = BarcodeWriter.CreateBarcode("(01)12345678901231", BarcodeEncoding.Code128GS1);
// Customize barcode settings
barcode.SetMargins(20);
barcode.AddAnnotationTextBelowBarcode("GS1-128 Barcode");
// Save barcode as an image
barcode.SaveAsPng("gs1_barcode.png");
Imports IronBarCode
' Define GS1 barcode content with AI (01) for GTIN
Private barcode = BarcodeWriter.CreateBarcode("(01)12345678901231", BarcodeEncoding.Code128GS1)
' Customize barcode settings
barcode.SetMargins(20)
barcode.AddAnnotationTextBelowBarcode("GS1-128 Barcode")
' Save barcode as an image
barcode.SaveAsPng("gs1_barcode.png")
$vbLabelText $csharpLabel
Cette mise en œuvre aboutit à un code-barres conforme aux normes GS1, adapté à l'emballage des produits, à la gestion d'entrepôt et à la logistique de la chaîne d'approvisionnement. Toujours valider le GTIN et tester le code-barres avec des scanners pour s'assurer qu'il est scanné correctement et confirmer la compatibilité avec les systèmes d'inventaire et de point de vente.
3. Personnalisez l'image du code-barres
IronBarcode offre de nombreuses options de personnalisation pour modifier les dimensions, les couleurs, les marges et les annotations des codes-barres, tout en maintenant la clarté et la cohérence de la marque. Utiliser un format de code-barres unique sur tous les systèmes réduit la complexité, et la personnalisation améliore la lisibilité des codes-barres sur différents scanners et appareils.
Voici comment vous pouvez personnaliser un code-barres GS1 efficacement :
// Adjust barcode size for better scanning
barcode.ResizeTo(500, 250);
// Change barcode color to match branding requirements
barcode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);
// Set margins to ensure clear spacing around the barcode
barcode.SetMargins(20);
// Add annotation text below the barcode for better identification
barcode.AddAnnotationTextBelowBarcode("GS1-128 Barcode");
// Save barcode in different formats as needed
barcode.SaveAsJpeg("custom_barcode.jpg");
barcode.SaveAsPng("custom_barcode.png");
// Adjust barcode size for better scanning
barcode.ResizeTo(500, 250);
// Change barcode color to match branding requirements
barcode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue);
// Set margins to ensure clear spacing around the barcode
barcode.SetMargins(20);
// Add annotation text below the barcode for better identification
barcode.AddAnnotationTextBelowBarcode("GS1-128 Barcode");
// Save barcode in different formats as needed
barcode.SaveAsJpeg("custom_barcode.jpg");
barcode.SaveAsPng("custom_barcode.png");
' Adjust barcode size for better scanning
barcode.ResizeTo(500, 250)
' Change barcode color to match branding requirements
barcode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue)
' Set margins to ensure clear spacing around the barcode
barcode.SetMargins(20)
' Add annotation text below the barcode for better identification
barcode.AddAnnotationTextBelowBarcode("GS1-128 Barcode")
' Save barcode in different formats as needed
barcode.SaveAsJpeg("custom_barcode.jpg")
barcode.SaveAsPng("custom_barcode.png")
$vbLabelText $csharpLabel
En personnalisant ces éléments, les entreprises optimisent les performances des codes-barres pour l'impression et la numérisation, atteignant la conformité avec les normes GS1 et améliorant l'efficacité opérationnelle.
4. Enregistrez et validez le code-barres
Après avoir généré le code-barres, il doit être conservé dans des formats compatibles à la fois avec les impressions et les applications numériques. Les formats haute résolution tels que PNG, JPEG et PDF sont recommandés pour maintenir la scannabilité lors du redimensionnement ou de l'impression physique. Voici comment enregistrer le code-barres dans différents formats :
// Save barcode as PNG for digital use
barcode.SaveAsPng("final_barcode.png");
// Save barcode as JPEG for printing
barcode.SaveAsJpeg("final_barcode.jpg");
// Save barcode as a PDF for documentation purposes
barcode.SaveAsPdf("final_barcode.pdf");
// Save barcode as PNG for digital use
barcode.SaveAsPng("final_barcode.png");
// Save barcode as JPEG for printing
barcode.SaveAsJpeg("final_barcode.jpg");
// Save barcode as a PDF for documentation purposes
barcode.SaveAsPdf("final_barcode.pdf");
' Save barcode as PNG for digital use
barcode.SaveAsPng("final_barcode.png")
' Save barcode as JPEG for printing
barcode.SaveAsJpeg("final_barcode.jpg")
' Save barcode as a PDF for documentation purposes
barcode.SaveAsPdf("final_barcode.pdf")
$vbLabelText $csharpLabel
Après l'enregistrement, le code-barres doit subir une validation pour vérifier sa lisibilité par machine sur divers systèmes de numérisation. Ce processus confirme la conformité aux spécifications GS1 et réduit les erreurs de numérisation dans les environnements de production. La routine de validation implique généralement des tentatives de décodage à l'aide de bibliothèques de lecteurs de codes-barres standard :
// Validate the barcode by attempting to read it
bool isValid = BarcodeReader.Read("final_barcode.png").Any();
Console.WriteLine($"Barcode is valid: {isValid}");
// Validate the barcode by attempting to read it
bool isValid = BarcodeReader.Read("final_barcode.png").Any();
Console.WriteLine($"Barcode is valid: {isValid}");
' Validate the barcode by attempting to read it
Dim isValid As Boolean = BarcodeReader.Read("final_barcode.png").Any()
Console.WriteLine($"Barcode is valid: {isValid}")
$vbLabelText $csharpLabel
La validation systématique prévient les perturbations opérationnelles causées par des codes non scannables dans les systèmes de gestion de la chaîne d'approvisionnement, les interfaces de point de vente et les bases de données d'inventaire. C'est une mesure de contrôle qualité cruciale, en particulier pour les opérations d'impression à grand volume, où les coûts de correction des erreurs augmentent de manière exponentielle.
Conclusion
Générer des codes-barres GS1 à l'aide d'IronBarcode est un moyen simple et efficace d'améliorer l'identification des produits et de rationaliser la gestion de la chaîne d'approvisionnement. Avec ses fonctionnalités puissantes, les entreprises peuvent créer des codes-barres conformes aux normes internationales, garantissant un suivi fluide de la production jusqu'au point de vente et des produits en ligne.
IronBarcode offre aux développeurs une version d'essai gratuite pour explorer ses fonctionnalités avant de s'engager à un achat. Les licences commencent à partir de 749 $, offrant une solution rentable et évolutive pour les entreprises cherchant à mettre en œuvre efficacement la génération de codes-barres.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
SUIVANT > Guide étape par étape pour utiliser le générateur QR Code Chimp
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. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier