Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Tutoriel sur le composant .NET de code-barres utilisant IronBarcode

Un composant .NET de code-barres est une bibliothèque de code managé qui vous permet de générer et de lire des codes-barres dans des applications C# avec seulement quelques lignes de code. IronBarcode prend en charge toutes les principales symbologies (Code 128, QR, Data Matrix, EAN, UPC, etc.) et fonctionne sous Windows, Linux et macOS sans dépendances d'exécution supplémentaires.

Installez-le via NuGet et commencez à générer des codes-barres en quelques minutes :

Install-Package BarCode
Install-Package BarCode
SHELL

Qu'est-ce qu'un composant .NET de code-barres ?

Un composant .NET de code-barres est une bibliothèque logicielle conditionnée sous forme de package NuGet qui fournit des fonctionnalités de génération et de lecture de codes-barres via une API claire. Contrairement aux polices de codes-barres, qui nécessitent des calculs manuels de sommes de contrôle et des règles de formatage complexes, un composant dédié gère toute la logique d'encodage en interne.

La bibliothèque IronBarcode expose deux points d'entrée principaux :

  • BarcodeWriter -- crée des images de codes-barres, des PDF et du HTML à partir de données textuelles ou numériques
  • BarcodeReader -- numérise des images, des PDF et des TIFF multi-images pour extraire les valeurs des codes-barres

Cette conception bidirectionnelle vous permet à la fois d'imprimer des codes-barres sur des étiquettes et de les scanner à partir de documents situés dans la même bibliothèque, ce qui est essentiel pour la gestion des stocks, le suivi des documents, l'intégration de Crystal Reports et les flux de travail d'automatisation des données.

Les symbologies prises en charge incluent :

  • Linéaire 1D : Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E
  • Matrice 2D : Code QR, Data Matrix, PDF417, Aztec
  • Variantes GS1 : GS1-128, GS1 DataBar

Les systèmes de fabrication utilisent généralement le code 128 pour le suivi des produits car il encode efficacement les données alphanumériques. Les applications du secteur de la santé utilisent couramment la police Data Matrix pour l'étiquetage des médicaments car elle s'imprime bien même en très petits formats. Les systèmes de point de vente au détail scannent les codes-barres EAN-13 et UPC-A à la caisse. Choisir la symbologie adaptée à votre cas d'utilisation est l'une des premières décisions que vous prendrez lors de l'intégration de la fonctionnalité de code-barres.

Comment installer IronBarcode dans un projet .NET ?

L'installation IronBarcode prend moins de deux minutes en utilisant le gestionnaire de packages NuGet dans Visual Studio ou l'interface de ligne de commande .NET .

Console du gestionnaire de packages (Visual Studio) :

Install-Package BarCode
Install-Package BarCode
SHELL

Interface de ligne de commande .NET :

dotnet add package BarCode
dotnet add package BarCode
SHELL

Comment intégrer un composant .NET de code-barres en C# : Figure 3 - Installation

Une fois le package installé, ajoutez l'espace de noms en haut de chaque fichier utilisant la fonctionnalité de code-barres :

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

IronBarcode cible .NET Framework 4.6.2 et versions ultérieures, .NET Core 3.1 et versions ultérieures, et .NET 5 à .NET 10. Il fonctionne sous Windows, Linux et macOS, de sorte que le même code fonctionne sur des conteneurs hébergés dans le cloud, des serveurs sur site et des postes de travail de développeurs sans configuration spécifique à la plateforme.

Pour les applications ASP.NET Core , aucun enregistrement de middleware n'est requis. Vous pouvez appeler l'API directement depuis les contrôleurs, les services en arrière-plan ou les pages Razor . Les applications Windows Forms et WPF y accèdent de la même manière : ajoutez l'espace de noms et commencez à appeler les méthodes.

Comment intégrer un composant .NET de code-barres en C# : Figure 4 - Générer des codes-barres avec prise en charge multiplateforme

Les étapes d'installation détaillées, y compris la configuration du flux NuGet hors ligne et les paramètres de proxy, sont disponibles dans le guide de démarrage IronBarcode .

Comment générer une image de code-barres en C# ?

Générer un code-barres avec IronBarcode nécessite trois étapes : choisir l'encodage, définir la valeur et enregistrer le résultat. L'exemple suivant crée un code-barres Code 128 et l'enregistre à la fois comme image PNG et comme document PDF :

using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
$vbLabelText   $csharpLabel

La méthode ResizeTo() définit précisément les dimensions en pixels, ce qui est important lorsque vous imprimez des étiquettes à un DPI spécifique. L'appel AddBarcodeValueTextBelowBarcode() ajoute du texte lisible par l'homme sous les barres, facilitant la vérification manuelle dans les environnements d'entrepôt et de vente au détail.

Formats de sortie des codes-barres

Comment intégrer un composant .NET de code-barres en C# : Figure 5 - Sortie PNG

Comment intégrer un composant .NET de code-barres en C# : Figure 6 - Sortie PDF

IronBarcode exporte aux formats PNG, JPEG, GIF, TIFF, BMP, PDF, HTML et chaînes base64. Le format base64 est particulièrement utile pour intégrer des codes-barres dans les réponses d'API qu'un frontend affiche dynamiquement sans écrire de fichiers sur le disque.

Comment générer un code QR en C# ?

Pour les codes QR, IronBarcode fournit la classe QRCodeWriter avec une prise en charge intégrée des niveaux de correction d'erreur et du contrôle de la taille des modules :

using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
$vbLabelText   $csharpLabel

Les codes QR peuvent encoder des URL, du texte brut, des données de contact vCard, des identifiants Wi-Fi et des séquences d'octets arbitraires. La page d'exemples de génération de codes-barres couvre des scénarios d'encodage supplémentaires, notamment Data Matrix et PDF417.

Comment lire les codes-barres sur des images ?

Lire un code-barres à partir d'une image est aussi simple que de l'écrire. La méthode BarcodeReader.Read() accepte un chemin de fichier, Stream, Bitmap ou IronSoftware.Drawing.AnyBitmap, et renvoie une collection BarcodeResults :

using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
$vbLabelText   $csharpLabel

Le lecteur effectue un prétraitement automatique des images afin de corriger les problèmes de numérisation courants : rotation, inclinaison, bruit, faible contraste et distorsion de perspective. Cela signifie que vous pouvez transmettre directement les données brutes du scanner sans les prétraiter vous-même.

Numérisation à partir d'un document réel

Comment intégrer un composant .NET de code-barres en C# : Figure 7 - Code-barres Code128 prêt à être scanné

Sortie de lecture

Comment intégrer un composant .NET de code-barres en C# : Figure 8 - Sortie de code-barres

Comment configurer les options de lecture des codes-barres ?

Pour les scénarios de numérisation à volume élevé ou complexes, BarcodeReaderOptions vous offre un contrôle précis sur l'algorithme de lecture :

using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
$vbLabelText   $csharpLabel

Configurer ExpectBarcodeTypes pour qu'il corresponde aux formats que vous attendez réellement améliore le débit car le lecteur ignore les modèles qui ne peuvent pas correspondre. La propriété Speed varie de Faster (idéale pour les images nettes et de haute qualité) à ExtremeDetail (idéale pour les sources endommagées ou à faible résolution). La documentation relative à la lecture des codes-barres couvre des options supplémentaires, notamment le traitement multithread et la numérisation de zones d'intérêt.

Comment personnaliser l'apparence des codes-barres ?

IronBarcode vous permet de contrôler chaque aspect visuel d'un code-barres généré avant de l'enregistrer. Vous pouvez définir les couleurs, les polices, les marges et le texte des annotations par programmation. Ceci est utile lors de la génération de codes-barres pour les étiquettes de marque ou les secteurs réglementés où la mise en page des étiquettes suit des spécifications strictes.

L'API suit un modèle de style fluide : créer le code-barres, appeler les méthodes de style, puis enregistrer. Toutes les propriétés de style s'appliquent immédiatement au rendu et ne nécessitent pas d'étape de rendu supplémentaire. Consultez les exemples de style et d'annotation pour obtenir la liste complète des propriétés disponibles.

Comment gérer les codes-barres dans les documents PDF ?

IronBarcode lit les codes-barres intégrés aux fichiers PDF de la même manière qu'il lit les fichiers image. Indiquez le chemin d'accès au PDF à BarcodeReader.Read() et la bibliothèque extraira automatiquement les codes-barres de chaque page. Ceci est précieux pour les flux de travail des comptes fournisseurs où les PDF des factures contiennent des codes-barres GS1-128, et pour les systèmes logistiques où les manifestes d'expédition sont distribués sous forme de pièces jointes PDF.

Vous pouvez également insérer directement des codes-barres dans les pages PDF en utilisant IronBarcode conjointement avec IronPDF pour la génération de documents. Il est courant de générer un PDF d'étiquette d'expédition contenant à la fois un bloc d'adresse lisible par l'homme et un code-barres Code 128 scannable pour le numéro de suivi.

Pour en savoir plus sur les flux de travail des codes-barres PDF, la section tutoriels IronBarcode propose des exemples complets couvrant le traitement des factures, l'impression d'étiquettes par lots et l'archivage de documents.

Comment intégrer les codes-barres dans les API ASP.NET Core ?

Le renvoi d'une image de code-barres depuis un point de terminaison de contrôleur ASP.NET Core est une exigence courante pour les portails Web affichant des étiquettes dynamiques. La sortie base64 d'IronBarcode simplifie grandement les choses :

using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
$vbLabelText   $csharpLabel

Cette approche fonctionne avec n'importe quel framework frontend. Le navigateur reçoit une réponse d'image standard et l'affiche dans une balise <img>. Pour les points de terminaison à fort trafic, générez les codes-barres une seule fois et mettez en cache le tableau d'octets, car le même ID de produit produit toujours la même image de code-barres.

La documentation de référence de l'API IronBarcode recense toutes les méthodes disponibles, y compris la sortie en flux continu, ce qui évite d'allouer de grands tableaux d'octets pour les codes-barres à très haute résolution.

Comment IronBarcode gère-t-il la validation des codes-barres et la correction des erreurs ?

Les normes relatives aux codes-barres définissent des règles d'encodage strictes et des exigences en matière de somme de contrôle. Le code 128 utilise une somme de contrôle modulo-103 pondérée. EAN-13 utilise le modulo 10. Les codes QR intègrent une correction d'erreur Reed-Solomon qui permet une récupération partielle des données même lorsque jusqu'à 30 % du code-barres est masqué ou endommagé.

IronBarcode applique ces règles automatiquement. Lorsque vous appelez BarcodeWriter.CreateBarcode(), la bibliothèque vérifie que les données correspondent au jeu de caractères et aux contraintes de longueur de la symbologie, puis calcule et ajoute la somme de contrôle correcte sans aucune étape supplémentaire de votre code. Cela empêche la génération de codes-barres invalides que les scanners rejetteront.

Côté lecture, la bibliothèque applique une correction d'erreurs lors du décodage, ce qui signifie qu'elle peut souvent récupérer la valeur correcte d'un code-barres partiellement déchiré, illisible ou imprimé en basse résolution. Ce comportement est particulièrement important pour la conformité aux normes de codes-barres GS1 dans le commerce de détail et la logistique.

Pour une analyse plus approfondie du fonctionnement de la correction des erreurs de codes-barres au niveau des spécifications, la documentation des normes ISO/IEC relatives aux codes-barres constitue la référence technique faisant autorité.

Quels sont les scénarios d'intégration de codes-barres courants ?

Scénarios d'intégration de codes-barres courants et fonctionnalités recommandées IronBarcode
Scénario Symbologie Fonctionnalité clé IronBarcode
Point de vente au détail EAN-13, UPC-A `BarcodeEncoding.EAN13` , exportation PDF
Inventaire d'entrepôt Code 128, ITF-14 `ExpectMultipleBarcodes = true`
Étiquetage des soins de santé Matrice de données, GS1-128 Impression petit format, exportation haute résolution
Suivi des documents PDF417, Code 39 Lecture de fichiers PDF, prise en charge des pages multiples
Recherche de produits mobiles Code QR `QRCodeWriter.CreateQrCode()`
Étiquettes d'expédition Code 128, GS1-128 Sortie PDF au format étiquette, annotation textuelle

Chaque scénario bénéficie de choix de configuration différents. La galerie d'exemples IronBarcode fournit du code exécutable pour tous les scénarios ci-dessus.

Quelles sont vos prochaines étapes ?

L'intégration d'un composant .NET de code-barres transforme ce qui serait autrement un effort de développement personnalisé de plusieurs semaines en un après-midi de configuration. IronBarcode gère les règles d'encodage, les sommes de contrôle, le prétraitement des images et la correction des erreurs afin que votre équipe puisse se concentrer sur la logique métier qui entoure les flux de travail des codes-barres plutôt que sur les mécanismes des codes-barres eux-mêmes.

Pour aller de l'avant :

  1. Installez le paquet : dotnet add package BarCode ou Install-Package BarCode dans la console du Package Manager
  2. Essayez le guide de démarrage rapide : L' exemple de démarrage rapide des codes-barres explique la génération et la lecture en moins de 20 lignes de code.
  3. Explorez les symbologies : La liste de référence des types de codes-barres pris en charge répertorie tous les formats d'encodage et fournit des conseils d'utilisation.
  4. Consultez les tarifs : Les options de licence IronBarcode couvrent les cas d'utilisation suivants : développeur unique, équipe et redistribution OEM
  5. Démarrez un essai gratuit : Téléchargez une licence d'essai gratuite de 30 jours pour évaluer l'ensemble des fonctionnalités dans votre propre application.

Pour toute question concernant les licences Enterprise , les déploiements à grande échelle ou les défis d'intégration technique, l' équipe d'assistance IronBarcode est à votre disposition.

Références externes pour les normes et spécifications des codes-barres :

Questions Fréquemment Posées

Qu'est-ce qu'un composant .NET de code-barres ?

Un composant .NET de code-barres est une bibliothèque logicielle qui permet aux développeurs d'intégrer la génération et la lecture de codes-barres dans les applications .NET , en gérant automatiquement les règles d'encodage, les sommes de contrôle et le prétraitement des images.

Comment IronBarcode peut-il aider dans les applications .NET ?

IronBarcode fournit un composant .NET permettant de générer et de lire des codes-barres via une API simple, ce qui facilite l'ajout de fonctionnalités de codes-barres aux applications C# sans avoir à implémenter manuellement des algorithmes d'encodage.

Quels types de codes-barres peuvent être générés avec IronBarcode ?

IronBarcode prend en charge les variantes Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E, QR Code, Data Matrix, PDF417, Aztec et GS1.

Pourquoi devrais-je utiliser un composant de code-barres au lieu de créer ma propre solution ?

Un composant de code-barres professionnel gère automatiquement le calcul de la somme de contrôle, la correction des erreurs, le prétraitement des images et la prise en charge multiformat, réduisant ainsi le temps de développement et le risque de générer des codes-barres invalides.

IronBarcode est-il adapté aux tâches d'automatisation des données ?

Oui, IronBarcode est parfaitement adapté à l'automatisation des données. Il lit les codes-barres dans les images et les PDF et s'intègre directement aux services en arrière-plan, aux tâches planifiées et aux API ASP.NET Core .

IronBarcode peut-il être utilisé pour le suivi des documents ?

Oui. IronBarcode lit les codes-barres des fichiers PDF multipages et des fichiers TIFF multi-images, ce qui le rend pratique pour les flux de travail de suivi des documents dans les domaines de la logistique, de la comptabilité fournisseurs et de la gestion des archives.

Quelles versions de .NET sont prises en charge par IronBarcode ?

IronBarcode prend en charge .NET Framework 4.6.2 et versions ultérieures, .NET Core 3.1 et versions ultérieures, et .NET 5 à .NET 10, fonctionnant sous Windows, Linux et macOS.

Comment IronBarcode améliore-t-il les systèmes de gestion des stocks ?

IronBarcode assure une génération fiable de codes-barres et une lecture multi-codes-barres à partir d'images et de fichiers PDF, permettant un suivi rapide et précis des stocks dans les entrepôts et les points de vente.

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