Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Générer des codes-barres dans les applications Web ASP.NET Core

L'intégration de la génération de BarCodes dans une application web ASP.NET ouvre de puissantes possibilités pour la gestion des stocks, le suivi des produits et l'automatisation des documents. Ce tutoriel montre comment générer des codes-barres dans un projet .NET Core à l'aide d' IronBarcode , une bibliothèque de codes-barres qui prend en charge plus de 30 formats, dont QR Code, Data Matrix, Code 128 et UPC A.

L'exemple rapide suivant montre comment créer un code-barres Code 128 et le renvoyer sous forme d'image PNG à partir d'une action de contrôleur MVC :

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public IActionResult GenerateBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    barcode.AddBarcodeValueTextBelowBarcode();
    byte[] barcodeBytes = barcode.ToPngBinaryData();
    return File(barcodeBytes, "image/png");
}
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public IActionResult GenerateBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    barcode.AddBarcodeValueTextBelowBarcode();
    byte[] barcodeBytes = barcode.ToPngBinaryData();
    return File(barcodeBytes, "image/png");
}
$vbLabelText   $csharpLabel

Démarrez votre essai gratuit pour suivre le tutoriel complet avec les exemples de code ci-dessous.

Comment installer une bibliothèque de codes-barres dans un projet .NET Core ?

L'ajout de fonctionnalités de génération de codes-barres à une application web ASP.NET Core nécessite l'installation du package NuGet IronBarcode . Ouvrez Visual Studio et utilisez la console du Package Manager pour installer les dépendances :

Install-Package BarCode

Ce package est compatible avec .NET Core 6, 7, 8, 10 et versions ultérieures, ainsi qu'avec .NET Framework 4.6.2 et versions ultérieures. La bibliothèque gère automatiquement toutes les dépendances, ne nécessitant aucune police de codes-barres supplémentaire ni configuration système. Une fois installé, ajoutez la référence d'espace de noms au fichier du contrôleur ou du service :

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

Quelles versions et plateformes .NET sont prises en charge ?

IronBarcode cible tous les environnements d'exécution .NET modernes :

  • .NET 10, 9, 8, 7, 6 -- versions LTS et STS entièrement prises en charge
  • .NET Framework 4.6.2+ -- prise en charge des applications héritées
  • Plateformes de déploiement : Windows, Linux, macOS, Docker, Azure, AWS
  • Cibles mobiles : Android et iOS via .NET MAUI

Aucune bibliothèque GD externe, aucun codec natif ni aucune installation de police de codes-barres n'est requis. La bibliothèque est entièrement autonome et gère toute la logique d'encodage en interne.

Comment ajouter un espace de noms à un contrôleur ?

Après avoir installé le package NuGet , référencez l'espace de noms IronBarCode en haut de tout contrôleur, service ou modèle de page Razor où la génération de codes-barres est nécessaire :

using IronBarCode;
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using Microsoft.AspNetCore.Mvc;
$vbLabelText   $csharpLabel

Cette unique directive using donne accès à BarcodeWriter, QRCodeWriter, BarcodeReader, et à tous les types de prise en charge pour la génération et la lecture des codes-barres.

Comment générer des codes-barres dans une application Web ASP.NET Core ?

La création de codes-barres dans un contrôleur MVC implique la classe BarcodeWriter d' IronBarcode. L'exemple suivant illustre une action de contrôleur complète qui crée un code-barres Code 128 à partir d'une URL ou d'un texte fourni par un utilisateur :

using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public class BarcodeController : Controller
{
    public IActionResult GenerateBarcode(string data)
    {
        // Generate barcode from input data
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
            data,
            BarcodeWriterEncoding.Code128);
        barcode.ResizeTo(400, 120);
        barcode.AddBarcodeValueTextBelowBarcode();
        // Return as image for display in browser
        byte[] barcodeBytes = barcode.ToPngBinaryData();
        return File(barcodeBytes, "image/png");
    }
}
using IronBarCode;
using Microsoft.AspNetCore.Mvc;

public class BarcodeController : Controller
{
    public IActionResult GenerateBarcode(string data)
    {
        // Generate barcode from input data
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
            data,
            BarcodeWriterEncoding.Code128);
        barcode.ResizeTo(400, 120);
        barcode.AddBarcodeValueTextBelowBarcode();
        // Return as image for display in browser
        byte[] barcodeBytes = barcode.ToPngBinaryData();
        return File(barcodeBytes, "image/png");
    }
}
$vbLabelText   $csharpLabel

Image de Code-barres Sortie

Génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web : Image 1 - Code-barres généré

La méthode BarcodeWriter.CreateBarcode() accepte les données du code-barres comme premier paramètre et le format d'encodage comme second. Cette approche crée des codes-barres dynamiquement en fonction des données saisies par l'utilisateur ou des valeurs de la base de données.

Pour enregistrer les images de codes-barres dans un dossier de projet, utilisez la méthode SaveAsImage() :

barcode.SaveAsImage("wwwroot/images/generated-barcode.png");
barcode.SaveAsImage("wwwroot/images/generated-barcode.png");
$vbLabelText   $csharpLabel

La bibliothèque prend en charge plusieurs formats de sortie, notamment PNG, GIF, BMP, SVG et JPEG. Vous pouvez également exporter les codes-barres au format HTML pour les intégrer directement dans des pages web.

Comment renvoyer un code-barres sous forme de fichier à télécharger ?

Pour renvoyer le code-barres sous forme de fichier téléchargeable plutôt que d'image intégrée, définissez l'en-tête Content-Disposition dans la réponse :

public IActionResult DownloadBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    byte[] pdfBytes = barcode.ToPdfBinaryData();
    return File(pdfBytes, "application/pdf", "barcode.pdf");
}
public IActionResult DownloadBarcode(string data)
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, BarcodeWriterEncoding.Code128);
    barcode.ResizeTo(400, 120);
    byte[] pdfBytes = barcode.ToPdfBinaryData();
    return File(pdfBytes, "application/pdf", "barcode.pdf");
}
$vbLabelText   $csharpLabel

Ce modèle est utile pour la génération d'étiquettes d'expédition, les flux de travail d'étiquetage des produits et tout scénario où l'utilisateur final a besoin d'enregistrer ou d'imprimer directement un document de code-barres.

Quels sont les types de BarCode pris en charge pour les applications Web?

IronBarcode prend en charge plus de 30 formats. Voici les détails de la création des types les plus couramment utilisés :

Génération de codes QR

// Create QR Code with custom size
GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode(
    "https://example.com/product/12345",
    500,
    QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("product-qr.png");
// Create QR Code with custom size
GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode(
    "https://example.com/product/12345",
    500,
    QRCodeWriter.QrErrorCorrectionLevel.Medium);
qrCode.SaveAsPng("product-qr.png");
$vbLabelText   $csharpLabel

Sortie du code QR

Génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web : Image 2 - Image 2 sur 6 relative à la génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web

La génération de codes QR prend en charge les niveaux de correction d'erreur qui déterminent dans quelle mesure le code peut être endommagé tout en restant lisible. Utilisez le niveau moyen ou élevé pour les applications de code QR imprimées où l'on s'attend à une usure physique. Découvrez plus d'informations sur les options de personnalisation des codes QR .

Matrice de données et autres formats 2D

// Create Data Matrix barcode
GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode(
    "DMX-2024-001",
    BarcodeWriterEncoding.DataMatrix);
dataMatrix.SaveAsGif("datamatrix.gif");
// Create Data Matrix barcode
GeneratedBarcode dataMatrix = BarcodeWriter.CreateBarcode(
    "DMX-2024-001",
    BarcodeWriterEncoding.DataMatrix);
dataMatrix.SaveAsGif("datamatrix.gif");
$vbLabelText   $csharpLabel

Matrice de données de sortie

Génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web : Image 3 - Code Data Matrix généré

Les codes-barres Data Matrix excellent dans les scénarios nécessitant un encodage compact et à haute densité. La bibliothèque génère également les formats PDF417, Aztec et MaxiCode . Ces types de BarCode 2D stockent beaucoup plus de données que les formats linéaires tout en conservant une précision de lecture fiable.

Codes-barres linéaires (UPC, EAN, Code 39)

// Create UPC-A barcode for retail products
GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode(
    "012345678905",
    BarcodeWriterEncoding.UPCA);
upcBarcode.SaveAsPng("upc-barcode.png");
// Create UPC-A barcode for retail products
GeneratedBarcode upcBarcode = BarcodeWriter.CreateBarcode(
    "012345678905",
    BarcodeWriterEncoding.UPCA);
upcBarcode.SaveAsPng("upc-barcode.png");
$vbLabelText   $csharpLabel

Sortie

Génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web : Image 4 - Code-barres généré

Les codes-barres UPC A et EAN incluent une validation automatique de la somme de contrôle, empêchant les erreurs d'encodage lors du processus de génération du code-barres. Pour obtenir la liste complète des formats pris en charge, consultez le guide des formats de codes-barres .

Comment personnaliser et styliser les images de codes-barres ?

La mise en forme des codes-barres pour une application web implique le réglage des couleurs, des polices, des marges et des annotations. L'API fluide facilite la personnalisation :

GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode(
    "STYLED-2024",
    BarcodeWriterEncoding.Code128);
// Apply styling
styledBarcode.ResizeTo(450, 150);
styledBarcode.SetMargins(20);
styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
styledBarcode.AddAnnotationTextAboveBarcode("Product ID:");
styledBarcode.AddBarcodeValueTextBelowBarcode();
// Export to multiple formats
styledBarcode.SaveAsPng("styled-barcode.png");
styledBarcode.SaveAsPdf("styled-barcode.pdf");
GeneratedBarcode styledBarcode = BarcodeWriter.CreateBarcode(
    "STYLED-2024",
    BarcodeWriterEncoding.Code128);
// Apply styling
styledBarcode.ResizeTo(450, 150);
styledBarcode.SetMargins(20);
styledBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
styledBarcode.AddAnnotationTextAboveBarcode("Product ID:");
styledBarcode.AddBarcodeValueTextBelowBarcode();
// Export to multiple formats
styledBarcode.SaveAsPng("styled-barcode.png");
styledBarcode.SaveAsPdf("styled-barcode.pdf");
$vbLabelText   $csharpLabel

Image de code-barres stylisée

Génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web : Image 5 - Code-barres stylisé en sortie

La méthode SetMargins() ajoute un espace blanc autour du code-barres pour une meilleure lisibilité par le scanner. Vous pouvez ajuster les paramètres de police du texte d'annotation, modifier la famille et la taille des polices, et personnaliser en profondeur le style des codes-barres . La bibliothèque affiche le texte à l'aide des polices système sans nécessiter de polices de codes-barres externes.

Comment intégrer un code-barres directement dans une vue Razor ?

Pour les vues ASP.NET MVC, générez des codes-barres sous forme de chaînes Base64 pour une intégration HTML directe sans enregistrer de fichiers sur le disque :

public IActionResult DisplayBarcode()
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
        "INV-2024-0042",
        BarcodeWriterEncoding.Code128);
    string base64Image = barcode.ToDataUrl();
    ViewBag.BarcodeImage = base64Image;
    return View();
}
public IActionResult DisplayBarcode()
{
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
        "INV-2024-0042",
        BarcodeWriterEncoding.Code128);
    string base64Image = barcode.ToDataUrl();
    ViewBag.BarcodeImage = base64Image;
    return View();
}
$vbLabelText   $csharpLabel

Code-barres affiché

Génération de codes-barres .NET : Créez un générateur de codes-barres pour votre application Web : Image 6 - Code-barres affiché dans notre navigateur

Dans la vue Razor , affichez-le dans un élément <div> :

<div class="barcode-container">
    <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" />
</div>
<div class="print-actions">
    <button onclick="window.print()">Print Barcode</button>
</div>
<div class="barcode-container">
    <img src="@ViewBag.BarcodeImage" alt="Generated Barcode" />
</div>
<div class="print-actions">
    <button onclick="window.print()">Print Barcode</button>
</div>
HTML

Cette approche élimine la nécessité d'enregistrer les images de codes-barres sur le système de fichiers, ce qui permet de conserver un service Web sans état. La documentation de référence complète de l'API recense toutes les méthodes et propriétés disponibles.

Comment lire et scanner les codes-barres dans ASP.NET Core?

La lecture des codes-barres à partir d'images téléchargées ou de flux de fichiers est gérée par la classe BarcodeReader. Ceci est utile pour les flux de réception, le traitement des retours et tout scénario où un code-barres scanné doit être décodé côté serveur :

using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

public class BarcodeScanController : Controller
{
    public IActionResult ScanBarcode(IFormFile uploadedImage)
    {
        using var stream = uploadedImage.OpenReadStream();
        var results = BarcodeReader.Read(stream);
        if (results.Count > 0)
        {
            string decodedValue = results[0].Value;
            return Ok(new { barcode = decodedValue });
        }
        return BadRequest("No barcode detected in image.");
    }
}
using IronBarCode;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

public class BarcodeScanController : Controller
{
    public IActionResult ScanBarcode(IFormFile uploadedImage)
    {
        using var stream = uploadedImage.OpenReadStream();
        var results = BarcodeReader.Read(stream);
        if (results.Count > 0)
        {
            string decodedValue = results[0].Value;
            return Ok(new { barcode = decodedValue });
        }
        return BadRequest("No barcode detected in image.");
    }
}
$vbLabelText   $csharpLabel

La méthode BarcodeReader.Read() accepte les chemins de fichiers, les flux et les objets System.Drawing.Bitmap. Il détecte automatiquement le format du code-barres et renvoie une collection d'objets BarcodeResult, chacun contenant la valeur décodée, le type de format et la position dans l'image. Lorsque plusieurs codes-barres apparaissent dans une même image (par exemple, sur la photo d'une étagère d'entrepôt), le lecteur renvoie toutes les valeurs détectées dans la collection, et non pas seulement la première.

Les performances sont également un facteur important à prendre en compte pour les applications ASP.NET à haut débit. Le lecteur prend en charge la numérisation de zones d'intérêt, qui recadre l'image à un rectangle de pixels spécifique avant l'analyse. Cela réduit considérablement le temps de traitement, car les codes-barres apparaissent toujours dans une zone connue de l'image.

Pour les scénarios avancés tels que le réglage du contraste pour les images de faible qualité ou le réglage de la sensibilité de détection, reportez-vous à la documentation sur la lecture des codes-barres .

Comment exporter des codes-barres au format PDF en ASP.NET?

L'intégration directe de codes-barres dans les documents PDF est une exigence courante pour les étiquettes d'expédition, les étiquettes d'entrepôt et les documents de conformité. IronBarcode permet d'enregistrer directement au format PDF :

GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
    "SHIP-2024-99471",
    BarcodeWriterEncoding.Code128);
barcode.ResizeTo(500, 150);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPdf("shipping-label.pdf");
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(
    "SHIP-2024-99471",
    BarcodeWriterEncoding.Code128);
barcode.ResizeTo(500, 150);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPdf("shipping-label.pdf");
$vbLabelText   $csharpLabel

Pour les documents PDF à codes-barres multiples (par exemple, une page d'étiquettes de produits), générez chaque code-barres séparément et combinez-les à l'aide d'une bibliothèque PDF. Le guide d'intégration IronPDF explique comment apposer des codes-barres sur des modèles PDF existants, ce qui est utile pour ajouter des codes-barres à des mises en page d'étiquettes prédéfinies.

La méthode SaveAsPdf() accepte également les dimensions de sortie afin que la page PDF rendue corresponde à la taille physique de l'étiquette requise par les imprimantes d'étiquettes.

Comment gérez-vous les erreurs de génération et de validation des codes-barres ?

Les règles d'encodage des codes-barres varient selon le format. Par exemple, le code UPC-A exige exactement 11 ou 12 chiffres, le code EAN-13 en exige exactement 12 ou 13, et le code 128 a une limite pratique de 48 caractères pour une sortie lisible aux tailles standard. La transmission de données invalides génère une erreur IronBarCodeEncoderException.

Gérez explicitement les erreurs d'encodage dans les actions du contrôleur :

public IActionResult SafeGenerate(string data, string format)
{
    try
    {
        var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true);
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding);
        return File(barcode.ToPngBinaryData(), "image/png");
    }
    catch (IronBarCodeEncoderException ex)
    {
        return BadRequest($"Encoding error: {ex.Message}");
    }
    catch (ArgumentException ex)
    {
        return BadRequest($"Unknown format: {ex.Message}");
    }
}
public IActionResult SafeGenerate(string data, string format)
{
    try
    {
        var encoding = Enum.Parse<BarcodeWriterEncoding>(format, true);
        GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(data, encoding);
        return File(barcode.ToPngBinaryData(), "image/png");
    }
    catch (IronBarCodeEncoderException ex)
    {
        return BadRequest($"Encoding error: {ex.Message}");
    }
    catch (ArgumentException ex)
    {
        return BadRequest($"Unknown format: {ex.Message}");
    }
}
$vbLabelText   $csharpLabel

Pour une utilisation en production, validez la longueur des données d'entrée et le jeu de caractères avant d'appeler CreateBarcode(). La documentation IronBarcode fournit des contraintes d'encodage spécifiques au format pour chaque type de code-barres pris en charge.

Quelles sont vos prochaines étapes ?

La création d'un générateur de codes-barres ASP.NET avec IronBarcode offre une solution fiable pour la création, la mise en forme et l'exportation d'images de codes-barres dans les applications web .NET Core . La bibliothèque gère automatiquement les normes d'encodage complexes tout en offrant une personnalisation étendue grâce à une API conviviale pour les développeurs. Qu'il s'agisse de générer des codes QR pour la lecture mobile, des codes-barres Data Matrix pour les applications industrielles ou des codes UPC pour le commerce de détail, IronBarcode s'intègre directement aux contrôleurs ASP.NET MVC et aux pages Razor .

Explorez ces ressources pour aller plus loin :

Vous pouvez tester l'ensemble des fonctionnalités pendant la période d'évaluation gratuite. Pour le déploiement en production et l'utilisation commerciale, consultez les options de licence afin de sélectionner la licence appropriée aux exigences de votre projet. La bibliothèque prend en charge les exportations bitmap et vectorielles, chaque version assurant la compatibilité avec les plateformes de déploiement Windows, Linux, Android et iOS.

Pour toute question, pour des comparaisons avec d'autres bibliothèques de codes-barres for .NET ou pour obtenir de l'aide concernant l'intégration en Enterprise , veuillez consulter le portail d'assistance IronBarcode .

Commencez avec IronBarcode maintenant.
green arrow pointer

Questions Fréquemment Posées

Quels formats de codes-barres IronBarcode prend-il en charge dans ASP.NET Core?

IronBarcode prend en charge plus de 30 formats de codes-barres, dont QR Code, Data Matrix, Code 128, UPC-A, EAN-13, Code 39, PDF417, Aztec, MaxiCode, ITF, et bien d'autres. Les formats linéaires 1D et matriciels 2D sont tous deux compatibles.

Comment renvoyer un code-barres généré sous forme d'image depuis un contrôleur ASP.NET MVC ?

Appelez BarcodeWriter.CreateBarcode() avec les données et le format d'encodage, puis utilisez ToPngBinaryData() pour obtenir le tableau d'octets et renvoyez-le avec File(bytes, 'image/png') depuis l'action du contrôleur.

IronBarcode peut-il lire les codes-barres des images téléchargées dans ASP.NET?

Oui. Utilisez BarcodeReader.Read() avec un flux IFormFile pour décoder les codes-barres des images téléchargées par l'utilisateur. Le lecteur renvoie tous les codes-barres détectés sous forme d'une collection d'objets BarcodeResult.

Comment intégrer un code-barres dans une vue Razor sans enregistrer de fichier ?

Appelez barcode.ToDataUrl() pour obtenir une chaîne URL de données Base64, assignez-la à ViewBag et affichez-la dans la vue Razor en tant qu'attribut src d'un élément img.

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

IronBarcode est compatible avec .NET 6, 7, 8, 9, 10 et .NET Framework 4.6.2+. Il fonctionne sous Windows, Linux, macOS, Docker, Azure, AWS, Android et iOS.

Comment gérer les données de codes-barres invalides dans ASP.NET?

Encapsulez la méthode BarcodeWriter.CreateBarcode() dans un bloc try-catch pour gérer l'exception IronBarCodeEncoderException. Avant l'encodage, vérifiez la longueur et le jeu de caractères des données saisies en fonction des contraintes spécifiques au format afin d'éviter les exceptions.

IronBarcode peut-il exporter les codes-barres au format PDF ?

Oui. Appelez la méthode SaveAsPdf() sur n'importe quel objet GeneratedBarcode pour générer un fichier PDF. Cette méthode accepte un chemin de sortie et des dimensions de page facultatives correspondant aux dimensions physiques des étiquettes.

Une police de caractères spécifique pour les codes-barres est-elle nécessaire pour utiliser IronBarcode?

Non. IronBarcode est autonome et gère l'encodage et le rendu en interne. Aucune police de codes-barres, bibliothèque GD ou configuration système supplémentaire n'est requise.

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