Comment créer des BarCodes 1D et linéaires

This article was translated from English: Does it need improvement?
Translated
View the article in English

Lorsqu'il s'agit de relayer des informations, les BarCodes linéaires restent la norme de l'industrie pour une raison bien précise. Ils sont rapides, fiables et fonctionnent avec presque tous les scanners. De plus, comme ces BarCodes ne nécessitent pas de traitement d'image complexe, ils constituent le meilleur choix pour les environnements à grande vitesse tels que les lignes de caisse des commerces de détail et les tapis roulants.

Le principal défi consiste à choisir le format adéquat pour vos besoins spécifiques. Vous pourriez avoir besoin de la haute densité de données du Code 128 pour une étiquette d'expédition, de la taille compacte de l'EAN-8 pour les petits produits, ou du formatage strict d'un Intelligent Mail BarCode pour les services postaux. Avec IronBarcode, vous pouvez générer tous ces formats en toute confiance, en sachant que votre processus est efficace et fiable.

Dans ce guide pratique, nous aborderons la manière de générer les formats 1D les plus critiques et leurs cas d'utilisation quotidiens à l'aide d'IronBarcode.

Commencez avec IronBarcode

Commencez à utiliser IronBarcode dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Créer des BarCodes 1D et linéaires

Les BarCodes linéaires unidimensionnels sont constitués de lignes et d'espaces de largeur variable qui stockent les données horizontalement. En revanche, les BarCodes bidimensionnels, tels que les codes QR, utilisent une grille de carrés pour contenir des informations en deux dimensions. Alors que les codes bidimensionnels peuvent accueillir beaucoup plus de données, comme des URL ou des cartes de contact, les BarCode unidimensionnels sont limités à de courtes chaînes de caractères alphanumériques.

Cette simplicité permet toutefois de scanner plus rapidement les codes-barres unidimensionnels. Ils sont universellement compatibles avec les scanners laser standard, ce qui en fait le choix privilégié pour les environnements de vente au détail et de logistique à grande vitesse.

Explorons les formats les plus pris en charge et la manière de les créer avec IronBarcode, et passons en revue les valeurs communes et les scénarios permettant de savoir quand utiliser chaque type.

Code-128

Les codes-barres du Code 128 sont couramment utilisés pour la logistique interne et les étiquettes d'expédition. Il prend en charge l'intégralité de la plage ASCII de 128 caractères, ce qui le rend très efficace pour comprimer des chiffres standard et du texte anglais dans un espace réduit.

Cependant, il n'autorise pas nativement l'Unicode ou les caractères non latins sans extensions supplémentaires. Le logiciel ne prend pas en charge les caractères complexes de langues telles que le chinois ou l'arabe et interpréterait mal les données, ce qui entraînerait des résultats incorrects.

Code

IronBarcode rend la génération du Code-128 simple : nous passons BarcodeEncoding.Code128 comme deuxième paramètre lors de l'appel de la méthode Create, puis nous l'exportons sous forme d'image.

:path=/static-assets/barcode/content-code-examples/how-to/create-code-128-barcode.cs
using IronBarCode;

// Specify Code 128 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);

// Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie Code-128

GSI-128

GS1-128 est un format de données supplémentaire appliqué au Code 128. Le principal avantage du GS1-128 est qu'il permet d'interpréter les données de manière cohérente à l'échelle mondiale, éliminant ainsi les erreurs d'interprétation et l'ambiguïté des données.

Cependant, en raison de son formatage strict, le fait d'oublier un caractère de contrôle caché ou de se tromper sur la longueur d'un champ rendra le BarCode non conforme, ce qui compliquera sa création manuelle.

GSI-128 Formatage

Un lecteur de code-barres utilise également l'IA (Application Identifier), un préfixe numérique qui identifie les informations contenues dans le code produit.

Le code GS1-128 suit une structure de données en quatre parties, comme indiqué ci-dessous :

(Préfixe numérique 01) GTIN (Global Trade Item Number) : La première partie de la structure est le Global Trade Item Number. Il s'agit de l'identifiant unique du produit qui permet d'identifier le produit. Elle doit comporter exactement 14 chiffres de données numériques. Si le code produit est plus court, vous devez compléter la valeur par des zéros. Par exemple, si votre code produit est un nombre à 12 chiffres tel que 123456789012, vous devez ajouter deux zéros à l'avant pour satisfaire à l'exigence (par exemple, 00123456789012).

(Préfixe numérique 10) Batch/Lot : Le préfixe numérique 10 identifie le numéro de lot du produit dans le code GS1-128. Le format peut varier de 1 à 20 caractères alphanumériques. Si vous placez le numéro de lot au milieu du code-barres, veillez à placer FNC1 comme caractère de séparation afin que le scanner sache où se termine le numéro de lot et où commence le champ suivant. Si le numéro de lot se trouve à la toute fin du BarCode, le séparateur n'est pas nécessaire.

(Préfixe numérique 17) Date d'expiration : Après le préfixe numérique 17, la date de péremption du produit suit. Le format est fixé à six chiffres. Elle suit strictement la règle YYMMDD ; par exemple, 251231 serait le 31 décembre 2025. Notez qu'il n'utilise pas les années à 4 chiffres et qu'il suppose automatiquement le siècle sur la base d'une fenêtre coulissante.

(Préfixe numérique 21) Numéro de série : Après le préfixe numérique 21, le numéro de série du produit suit. Elle identifie l'unité individuelle unique. Le format est de longueur variable, avec 1 à 20 caractères alphanumériques.

[{i:(Veuillez noter que seule l'ancre (par exemple, GTIN) est toujours nécessaire dans le code du produit ; les attributs de lot, d'expiration et de série nd sont facultatifs pour le code-barres.@@--BRACKET-FERMETURE--@@

[{w:(Bien que seul le GTIN soit requis, certains détaillants peuvent avoir leurs propres directives de conformité pour le code-barres. Veillez à vérifier les informations pertinentes de leur côté lors de la création du BarCode. @@--BRACKET-FERMETURE--@@

Tableau de format GSI

IA Nom Type de données Longueur Fixe ou variable ?
01 GTIN (Global Trade Item Number) Numérique 14 chiffres Fixed
10 Numéro de lot Alphanumérique 1-20 caractères Variable
(Nécessite le délimiteur FNC1 s'il n'est pas à la fin)
17 Date d'expiration Numérique (Date) 6 chiffres
(YYMMDD)
Fixed
21 Numéro de série Alphanumérique 1-20 caractères Variable
(Nécessite le délimiteur FNC1 s'il n'est pas à la fin)

Code

La génération d'un code-barres GS1-128 est relativement facile ; les développeurs n'ont qu'à passer BarcodeEncoding.Code128GS1 comme deuxième paramètre lorsqu'ils appellent Create.

L'exemple ci-dessous montre une valeur complète conforme à la norme GS1-128 avec les quatre attributs, et l'exporte ensuite sous forme d'image.

[{i:(Notez que les parenthèses sont nécessaires pour chaque préfixe numérique comme indiqué ci-dessous, sinon cette section spécifique ne serait pas reconnue comme un attribut valide et serait ignorée lors de la génération du code-barres final.@@--BRACKET-FERMETURE--@@

[{i:(IronBarcode insère automatiquement le séparateur FNC1 pour vous lors de la création de GSI-128.@@--BRACKET-FERMETURE--@@

:path=/static-assets/barcode/content-code-examples/how-to/create-gsi-128-barcode.cs
using IronBarCode;

// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
string gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";

// Create the barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);

// Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie GS1-128

Dépannage

Si votre valeur de chaîne n'est pas conforme aux normes de GS1-128, IronBarcode lèvera une exception lors de l'exécution du code. Veuillez vérifier la valeur de votre chaîne en vous référant au tableau ci-dessus et modifier la valeur de la chaîne en conséquence.

Exception GS1-128

Code 39

Le Code 39 est l'une des premières normes disponibles pour les codes-barres alphanumériques, bien connue pour sa fiabilité. Les cas d'utilisation les plus courants des codes-barres du Code 39 se trouvent dans les secteurs de l'automobile et de la défense.

Cependant, l'ensemble des caractères autorisés pour le Code 39 est relativement restreint. Il n'autorise que les caractères anglais majuscules, les chiffres et certains symboles tels que /, ., -, etc. Il ne prend pas en charge les caractères minuscules dans son mode standard.

Code

Pour générer un code-barres Code39, nous devons passer BarcodeEncoding.Code39 comme deuxième paramètre lorsque nous utilisons la méthode Create.

Voici un exemple.

:path=/static-assets/barcode/content-code-examples/how-to/create-code-39-barcode.cs
using IronBarCode;

// Specify Code39 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code39.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie Code39

Dépannage

Exception Code39

Si la valeur de la chaîne n'est pas conforme à la norme Code39, IronBarcode lèverait cette exception.

[{w:( Bien que le mode étendu du Code39 prenne en charge toute la gamme de caractères ASCII, IronBarcode ne prend actuellement pas en charge la génération de codes-barres à code étendu du Code39 ; seule la lecture est prise en charge pour le moment. Pour lire le Code39 étendu et standard, veuillez vous référer à here@@--BRACKET-FERMETURE--@@.

Code 93

Le code 93 a été conçu comme une version améliorée du code 39, couramment utilisé dans la logistique et l'étiquetage des composants électroniques, où l'espace est limité mais où des données alphanumériques sont nécessaires.

Elle accepte toute la gamme des caractères ASCII ainsi que les lettres anglaises majuscules, les chiffres et les symboles. Il offre une densité plus élevée que le Code 39.

Code

Pour générer un code-barres Code 93, passez BarcodeEncoding.Code93 comme deuxième paramètre lorsque vous utilisez Create. Voici un exemple de code.

:path=/static-assets/barcode/content-code-examples/how-to/create-code-93-barcode.cs
using IronBarCode;

// Valid Input: Uppercase A-Z, 0-9, specific symbols
string code93Value = "ELEC-COMP-99";

// Create Code 93
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code93.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie Code93

Codabar

Le codabar est couramment utilisé dans des scénarios où l'on s'attend à une mauvaise qualité d'impression, car il est assez robuste. Il est donc largement utilisé dans des scénarios tels que les banques de sang et les bibliothèques.

Le format de code-barres BarCode est de longueur variable, mais il prend en charge un jeu de caractères limité. Elle ne peut contenir que des chiffres (0-9) et des symboles tels que (-, $, :, /, ., +). Vous pouvez également utiliser les caractères de début et de fin A, B, C et D pour indiquer quand cela commence ou se termine. Toutefois, vous ne pouvez pas placer ces caractères dans la partie centrale ; ils ne sont autorisés qu'au début ou à la fin.

Code

Pour générer un code-barres Codabar, passez BarcodeEncoding.Codabar comme deuxième paramètre lors de l'utilisation de Create. Voici un exemple de code.

:path=/static-assets/barcode/content-code-examples/how-to/create-codabar-barcode.cs
using IronBarCode;

// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
string codabarValue = "10500200";

// Create Codabar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie Codabar

Dépannage

Si la valeur d'entrée contient des lettres, IronBarcode lèverait une exception indiquant qu'il n'accepte que des valeurs numériques.

Exception Codabar

DataBar

GS1 DataBar (anciennement RSS-14) est une version standard, plus compacte, conçue pour contenir le numéro d'identification du produit.

Tout comme la variante GS1-128, le format d'encodage est strict et les développeurs doivent s'y conformer. La variante Omnidirectionnelle contient uniquement l'attribut code produit.

GS1-Format de la barre de données

(Préfixe numérique-01) GTIN (Global Trade Item Number) : La première et unique partie de la structure est le Global Trade Item Number. Il s'agit de l'identifiant unique du produit. Elle doit comporter exactement 14 chiffres de données numériques.

[{w:(Le standard "GS1 DataBar Omnidirectional" peut uniquement contenir le GTIN (01). Pour inclure les parties supplémentaires ci-dessous, vous devez utiliser GS1 DataBar Expanded.@@--BRACKET-FERMETURE--@@

Code

Pour générer un code-barres GS1 DataBar, passez BarcodeEncoding.DataBar comme deuxième paramètre lorsque vous utilisez Create. Voici un exemple de code.

:path=/static-assets/barcode/content-code-examples/how-to/create-gs1-databar-barcode.cs
using IronBarCode;

// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit.
string databarValue = "0123456789012";

// Create GS1 DataBar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("databar.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie GS1-Databar

EAN-13

EAN-13 est le code-barres de détail standard utilisé dans le monde entier pour identifier les produits de consommation - l'un des formats de code-barres les plus utilisés.

Toutefois, l'EAN-13 est généralement obtenu par le biais d'une licence stricte. Vous ne pouvez pas simplement générer un numéro EAN-13 pour un usage public ; vous devez obtenir une licence pour un préfixe d'entreprise GS1 afin de vous assurer que vos codes-barres sont uniques. Il s'ensuit également qu'il ne peut contenir que 13 chiffres et qu'il est numérique.

En outre, l'EAN-13 possède son propre ensemble de règles de formatage.

Formatage EAN-13

Un code-barres EAN-13 se compose de quatre parties, comme indiqué ci-dessous.

Préfixe GS1 (3 premiers chiffres) : identifie l'organisation membre de GS1, généralement le pays où le fabricant est enregistré. Par exemple, 000-019 (États-Unis/Canada - compatible avec UPC), 500-509 (Royaume-Uni), 450-459 (Japon).

Code fabricant : Code de longueur variable attribué à l'entreprise par GS1.

Code produit : Attribué par le fabricant à un article spécifique.

Chiffre de contrôle (dernier chiffre) : Un chiffre unique calculé à partir des 12 premiers chiffres à l'aide d'un algorithme Modulo 10. Elle permet de s'assurer que le scanner lit correctement le code-barres.

[{w:(Les préfixes commençant par 2 (en particulier 200-299) sont réservés aux numéros à diffusion restreinte. Ainsi, dans un contexte de production, n'utilisez pas ces préfixes lors de la génération d'un code-barres EAN-13.@@--BRACKET-FERMETURE--@@

Code

Pour générer un code-barres EAN-13, passez BarcodeEncoding.EAN13 comme deuxième paramètre lorsque vous utilisez Create. Voici un exemple de code.

:path=/static-assets/barcode/content-code-examples/how-to/create-ean13-barcode.cs
using IronBarCode;

// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
string ean13Value = "4006381333931";

// Create EAN-13
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie EAN-13

Dépannage

IronBarcode lancerait une exception pour les valeurs numériques uniquement s'il y a d'autres caractères.

Dépannage EAN-13

EAN-8

EAN-8 est la version condensée du code-barres standard EAN-13 pour la vente au détail. Le principal cas d'utilisation concerne les petits produits de consommation pour lesquels un code-barres pleine taille prendrait trop de place. Les articles tels que les crayons et les produits cosmétiques sont typiquement ceux où l'on trouve des codes-barres EAN-8.

Contrairement au Code 128 ou au Code 39, l'EAN-8 est généralement associé à un préfixe spécifique et les développeurs n'attribuent pas un numéro de manière arbitraire.

En tant que tel, l'EAN-8 utilise un format strict à 8 chiffres. Il comporte 7 chiffres de données et exactement un chiffre de contrôle, et il est uniquement numérique.

Code

La création d'un code EAN-8 consiste simplement à passer la valeur BarcodeEncoding.EAN8 au deuxième paramètre lors de l'utilisation de Create. Voici un exemple.

:path=/static-assets/barcode/content-code-examples/how-to/create-ean8-barcode.cs
using IronBarCode;

// Valid Input: 7 digits (library calculates 8th check digit).
string ean8Value = "1234567";

// Create EAN-8
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie EAN-8

Dépannage

Si la valeur d'entrée contient 8 caractères numériques ou plus, IronBarcode lèverait une exception indiquant que l'exigence de longueur de l'EAN-8 est de 8 caractères.

Exception EAN-8

Mail intelligent (IMB)

Le Intelligent Mail BarCode (IMB) est la norme de l'USPS pour l'automatisation du tri et du suivi du courrier. Contrairement aux codes-barres traditionnels, dont la largeur des barres varie, le BMI utilise des barres modulées en hauteur pour coder les données. Il est obligatoire de demander des remises sur le prix de l'automatisation pour les lettres et les plats. Le BarCode IMB ne prend en charge qu'un ensemble spécifique de longueurs numériques ; la valeur doit être de 20, 25, 29 ou 31 chiffres.

En outre, elle utilise un ensemble spécifique de préfixes numériques pour définir les informations, comme indiqué ci-dessous.

Formatage intelligent du courrier

(2 premiers chiffres) Barcode ID : la première partie de la structure est l'identifiant du code-barres. Il s'agit de données strictement numériques à 2 chiffres. Pour la plupart des courriers commerciaux standard, cette valeur est 00.

(3 chiffres suivants) Service Type ID (STID) : Les 3 chiffres suivants définissent la classe de courrier (par exemple, première classe, courrier marketing) et les services que vous demandez (par exemple, correction d'adresse, suivi). Ce point est essentiel pour les remises postales.

(6 ou 9 chiffres suivants) Mailer ID (MID) : L'identifiant de l'expéditeur suit le STID. Il s'agit d'un numéro à 6 ou 9 chiffres attribué directement à votre entreprise par l'USPS.

(6 ou 9 chiffres suivants) Numéro de série : Le numéro de série suit l'identifiant de l'expéditeur. Ceci permet d'identifier l'envoi individuel unique.

(Derniers 0, 5, 9 ou 11 chiffres) Code d'acheminement : La dernière partie de la structure est le code d'acheminement, qui est simplement le code postal de livraison.

Code

Pour générer un code-barres IMB, nous passons BarcodeEncoding.IntelligentMail comme deuxième paramètre lorsque nous appelons la méthode Create. Voici un exemple.

:path=/static-assets/barcode/content-code-examples/how-to/create-imb-barcode.cs
using IronBarCode;

// Valid Input: 20, 25, 29, or 31 digits. 
// Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)
string imbValue = "00270123456200800001";

// Create Intelligent Mail
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("imb.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie de courrier intelligent

Dépannage

IronBarcode lèverait une exception indiquant que le format est incorrect s'il n'est pas respecté. Veuillez vérifier la valeur de la chaîne dans le format ci-dessus et réessayer après modification.

Exception de courrier intelligent

Plessey modifié (MSI)

Le BarCode est un code-barres couramment utilisé sur les étiquettes des rayons des magasins de détail et dans le contrôle des stocks des entrepôts, mais on le trouve rarement sur les produits de consommation.

MSI est un code-barres numérique uniquement ; par conséquent, aucune lettre ni aucun symbole n'est autorisé. La longueur de la traduction est variable, mais la norme est d'environ 10 à 15 chiffres.

Code

Pour générer un code-barres MSI, nous passons BarcodeEncoding.MSI comme deuxième paramètre lorsque nous appelons la méthode Create. Voici un exemple.

:path=/static-assets/barcode/content-code-examples/how-to/create-msi-barcode.cs
using IronBarCode;

// Valid Input: Numeric digits only. Variable length.
string msiValue = "1234567890";

// Create MSI
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("msi.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie MSI

UPC-A

UPC-A est le code-barres standard pour la vente au détail utilisé aux États-Unis et au Canada. Il s'agit d'un sous-ensemble de 12 chiffres de la norme EAN-13. On les trouve le plus souvent sur les produits vendus dans les supermarchés nord-américains.

Comme l'EAN-13, il est généralement attribué plutôt que généré.

Le code UPC-A contient exactement 12 chiffres et n'accepte aucune lettre.

Formatage UPC-A

Caractère du système de numérotation (1) : identifie le type de produit (0, 1, 6, 7, 8 généralement pour le commerce de détail standard ; 2 pour le poids aléatoire, 3 pour les médicaments, 5 pour les coupons).

Code fabricant (5) : Attribué par GS1.

Code produit (5) : Attribué par le fabricant.

Chiffre de contrôle (1) : Somme de contrôle calculée modulo 10.

Code

Pour générer un code-barres UPC-A, nous passons le BarcodeEncoding.UPCA comme deuxième paramètre lorsque nous appelons la méthode Create. Voici un exemple.

:path=/static-assets/barcode/content-code-examples/how-to/create-upc-a-barcode.cs
using IronBarCode;

// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits.
string upcaValue = "01234567890";

// Create UPC-A
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG 
barcode.SaveAsJpeg("upca.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie UPC-A

Dépannage

Comme vous pouvez le constater, IronBarcode lance une erreur si la valeur numérique fournie dépasse la longueur de 13.

UPC-A Exception class=

UPC-E

UPC-E est la version compacte du code-barres standard UPC-A. Il est explicitement conçu pour les petits emballages de vente au détail, tels que les canettes de soda, pour lesquels un code-barres UPC-A complet à 12 chiffres serait trop volumineux pour être scanné.

Comme le format UPC-A, il est strictement numérique et n'accepte ni lettres ni symboles.

Code

Pour générer un code-barres UPC-E, nous passons BarcodeEncoding.UPCE comme deuxième paramètre lorsque nous appelons la méthode Create. Voici un exemple.

:path=/static-assets/barcode/content-code-examples/how-to/create-upc-e-barcode.cs
using IronBarCode;

// Valid Input:8 digits or less, which the last digit is a check digit calculated from the first 7 digits. 
// IronBarcode automatically calculates the check digit if only 7 digits are provided.
string upceValue = "0123456";

// Create UPC-E
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("upce.jpg");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie

Exemple de sortie UPC-E

Dépannage

Comme vous pouvez le voir, IronBarcode lance une erreur si le chiffre numérique fourni est supérieur à 8.

Dépannage UPC-E

Aperçu des différents types de BarCodes 1D

Nom Format Utilisation courante Restrictions et pièges
Code 128 Alphanumérique
Tout ASCII 128 pris en charge. Longueur variable. Haute densité.
Logistique interne, étiquettes d'expédition, suivi des actifs, cartes d'identité.
  • Pas d'Unicode: Impossible d'encoder nativement des caractères spéciaux (comme le chinois ou les Emojis) sans rompre la compatibilité avec les scanners.
  • Qualité d'impression: Il faut une haute résolution ; l'impression thermique à faible DPI peut entraîner des problèmes de lisibilité.
GS1-128 Alphanumérique structuré
Code 128 avec FNC1 + identifiants d'application (par exemple, (01)).
Chaîne d'approvisionnement mondiale (Walmart/Amazon), étiquettes de palettes, EDI.
  • Missing FNC1: Doit commencer par le caractère invisible FNC1 ou les scanners le lisent comme du texte brut.
  • Parenthèses: Ne pas coder les () autour des IA ; ils sont destinés à la lisibilité humaine uniquement.
Code 39 Alphanumérique (restreint)
Uppercase A-Z, 0-9, et -. $ / + % espace.
Automobile (IAAG), défense (LOGMARS), identifications industrielles anciennes.
  • Pas de minuscules: Le mode standard échoue si vous saisissez "a". Le mode étendu le prend en charge mais nécessite une configuration spécifique du scanner.
  • Faible densité : Produit des codes-barres très larges, ne convenant pas aux petites étiquettes.
Code 93 Alphanumérique
Similaire au Code 39 mais avec une densité plus élevée.
Électronique (circuits imprimés), Postes Canada et fabrication interne.
  • Chiffres de contrôle : Requiert deux chiffres de contrôle obligatoires (C et K). Ne les calculez pas manuellement ; laissez la bibliothèque s'en charger.
  • Support scanner: Souvent désactivé par défaut sur les scanners pour éviter les conflits avec le Code 39.
Codabar Symboles numériques +
0-9 et - $ : /. +. Départ/Arrêt : A, B, C, D.
Banques de sang, bibliothèques, FedEx Airbills (Legacy).
  • Lectures courtes: Susceptibles de provoquer des erreurs lorsqu'un scanner lit un code partiel (par exemple, lire "123" à partir de "12345").
  • Pas de lettres: Il n'est pas possible d'encoder des lettres de données, seules les lettres A à D servent de délimiteurs.
GS1 DataBar Numérique (14 chiffres)
Encode uniquement les GTIN-14. Extrêmement compact.
Produits en vrac (autocollants de fruits), petits produits cosmétiques et flacons de produits de santé.
  • Pas d'attributs: La version Omnidirectionnelle standard ne peut pas contenir de données d'expiration ou de lot (nécessite la version Expanded).
  • Strict Input: Doit comporter exactement 14 chiffres.
EAN-13 Numérique (13 chiffres)
Pays + fabricant + produit + chiffre de contrôle.
Global Retail Point-of-Sale (Supermarkets).
  • Licence: Nécessite un préfixe d'entreprise GS1 payant.
  • Préfixes restreints: Les préfixes 200-299 sont réservés à un usage en magasin et ne fonctionneront pas dans la chaîne d'approvisionnement globale.
EAN-8 Numérique (8 chiffres)
7 données + 1 chiffre de contrôle.
Petits emballages de vente au détail (chewing-gum, crayons).
  • Disponibilité: Difficile à obtenir ; GS1 ne délivre ces codes que si votre produit est physiquement trop petit pour l'EAN-13.
  • Longueur d'entrée: Doit être exactement de 7 ou 8 chiffres.
Mail intelligent Numérique (20, 25, 29, 31 chiffres)
Barres modulées en hauteur (4 états).
Tri et automatisation du courrier USPS.
  • Longueurs strictes: Les entrées doivent correspondre aux champs USPS exacts (BarCode ID, STID, MID, Serial, Zip).
  • STID "234": N'utilisez pas cet exemple d'identifiant en production ; il pourrait entraîner le rejet du courrier ou la perte de remises.
MSI (Plessey) Numérique uniquement
Longueur de la variable.
Étiquettes d'étagères pour la vente au détail, bacs d'entrepôt.
  • Confusion de la somme de contrôle: Prend en charge les Mod 10, Mod 11, Mod 1010, etc. Vous devez savoir exactement ce que votre scanner attend.
  • Fiabilité: Taux de lecture médiocre par rapport aux codes modernes.
UPC-A Numérique (12 chiffres)
11 données + 1 chiffre de contrôle.
Point de vente au détail en Amérique du Nord.
  • Région: Principalement les États-Unis et le Canada. Les vendeurs internationaux doivent utiliser le code EAN-13.
  • Zéros en tête: Techniquement, un EAN-13 commençant par 0.
UPC-E Numérique (6 chiffres)
Format compressé.
Petits emballages de vente au détail (canettes de soda) aux États-Unis et au Canada.
  • Règles de compression: Vous ne pouvez pas "convertir" n'importe quel code UPC-A. Votre numéro doit présenter un schéma spécifique. Votre numéro doit présenter un modèle spécifique de zéros pour être compressible.
  • Système de numération: Seul le système de numération 0 ou 1 est pris en charge.

Questions Fréquemment Posées

Qu'est-ce qu'un BarCode 1D ?

Un BarCode 1D, également connu sous le nom de code-barres linéaire, est une série de lignes parallèles et d'espaces de largeurs variables qui codent des informations. Ils sont couramment utilisés dans le commerce de détail et la logistique.

Comment puis-je générer des codes-barres 1D à l'aide de C# ?

Vous pouvez générer des codes-barres 1D en C# à l'aide d'IronBarcode, qui fournit une API simple pour créer divers types de codes-barres unidimensionnels pour vos applications.

Quels types de codes-barres 1D puis-je créer avec IronBarcode ?

Avec IronBarcode, vous pouvez créer plusieurs types de codes-barres 1D, notamment le Code 39, le Code 128, l'EAN, l'UPC, etc.

Est-il possible de personnaliser l'apparence des codes-barres 1D dans IronBarcode ?

Oui, IronBarcode vous permet de personnaliser l'apparence des codes-barres 1D, notamment leurs couleurs, leurs tailles et les polices de texte.

IronBarcode peut-il encoder des informations supplémentaires dans un code-barres 1D ?

Oui, IronBarcode peut encoder des informations supplémentaires telles que des détails sur le produit ou des numéros de série dans un code-barres 1D, en fonction du type de code-barres.

Quels sont les avantages de l'utilisation des BarCodes 1D ?

les BarCodes 1D sont simples et rentables, ce qui les rend idéaux pour les applications dans le commerce de détail, la gestion des stocks et la logistique. Ils permettent une saisie rapide et précise des données.

Puis-je lire des codes-barres 1D avec IronBarcode ?

Oui, IronBarcode peut être utilisé pour lire et décoder des codes-barres 1D à partir d'images ou de documents numérisés.

Comment intégrer IronBarcode dans mon projet C# ?

Pour intégrer IronBarcode à votre projet C#, vous pouvez facilement l'installer via le gestionnaire de paquets NuGet et y faire référence dans vos fichiers de projet.

IronBarcode est-il adapté à un usage commercial ?

Oui, IronBarcode est conçu pour un usage commercial, offrant des fonctionnalités et une assistance robustes aux développeurs qui créent des applications de niveau entreprise.

Quelles sont les ressources disponibles pour apprendre à utiliser IronBarcode ?

IronBarcode fournit une documentation complète, des tutoriels et des exemples de code sur son site web pour aider les développeurs à apprendre à utiliser efficacement la bibliothèque.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,979,979 | Version: 2025.11 vient de sortir