Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Comment générer et afficher dynamiquement un code-barres dans ASP.NET MVC

ASP.NET MVC est un cadre de développement web populaire qui permet aux développeurs de créer des applications web robustes et dynamiques. Une exigence fréquente dans les applications web est la possibilité de générer et d'afficher des images de code-barres. Les images de code-barres sont utilisées pour représenter des données dans un format lisible par machine et peuvent être lues par un lecteur de code-barres.

La génération et l'affichage dynamiques d'images de code-barres dans ASP.NET MVC peuvent être réalisés en utilisant la bibliothèque leader du marché C#, IronBarcode. Cette bibliothèque fournit des APIs qui permettent aux développeurs de générer facilement des images de code-barres sur différentes plateformes dans divers formats tels que Code 39, Code 128, et QR Code. Sans s'appuyer sur System.Drawing.Common et l'API Graphics .NET, qui sont spécifiques à Windows depuis .NET 6, IronBarcode permet des fonctionnalités multiplateformes et favorise une meilleure compatibilité des sources.

IronBarcode

IronBarcode est une bibliothèque .NET populaire pour les codes-barres qui offre une large gamme de fonctionnalités pour créer, lire et manipuler des images de codes-barres dans les applications .NET. La bibliothèque est développée et maintenue par Iron Software, une société de développement de logiciels spécialisée dans les composants et bibliothèques .NET. IronBarcode prend en charge une large gamme de formats de codes-barres, y compris Code 128, Code 39, QR Code, Data Matrix et PDF417. La bibliothèque offre également des fonctionnalités pour générer des codes-barres avec des dimensions, couleurs et polices personnalisées, et pour ajouter du texte et des logos aux images de codes-barres.

En plus de la génération de codes-barres, IronBarcode inclut également des fonctionnalités pour la lecture et le décodage des images de codes-barres. La bibliothèque peut lire et décoder des codes-barres à partir d'images, de documents PDF et de flux de caméras en direct. Elle prend en charge les formats de codes-barres 1D et 2D et peut même reconnaître les codes-barres partiellement masqués ou endommagés.

Prérequis

Avant de travailler avec IronBarcode dans une application .NET, il y a quelques prérequis à satisfaire.

  1. .NET Framework ou .NET Core : IronBarcode est conçu pour fonctionner avec .NET Framework et .NET Core. Assurez-vous que votre environnement de développement a la version appropriée de .NET installée.
  2. Visual Studio : IronBarcode peut être intégré avec Visual Studio pour un développement et des tests faciles. Les éditions Visual Studio Community, Professional ou Enterprise peuvent être utilisées. Il peut être téléchargé depuis le site Web de Visual Studio.
  3. Bibliothèque IronBarcode : Téléchargez et installez la bibliothèque IronBarcode depuis le site web de Iron Software ou via le gestionnaire de packages NuGet. La bibliothèque peut être installée en utilisant la console du gestionnaire de packages NuGet en exécutant la commande suivante : Install-Package BarCode.

IronBarcode est gratuit pour le développement mais doit être licencié à des fins commerciales et de déploiement. Vous pouvez essayer la version d'essai gratuite pour tester toute sa fonctionnalité.

Création d'un nouveau projet ASP.NET MVC

Ouvrez Visual Studio et cliquez sur Créer un nouveau projet.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 1

Dans la nouvelle fenêtre, trouvez et sélectionnez "ASP.NET MVC (Web App) Model View Controller" et cliquez sur le bouton Suivant.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 2

Entrez le nom du nouveau projet et son emplacement puis cliquez sur Suivant.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 3

Sélectionnez la version de .NET que vous souhaitez utiliser, laissez toutes les autres options telles quelles et cliquez sur Créer.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 4

Un projet .NET est créé.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 5

Installer IronBarcode

1. Utilisation du gestionnaire de packages NuGet

Cette option est disponible dans Visual Studio et installera le package IronBarcode directement dans votre solution. Allez dans outils et cliquez sur Gestionnaire de packages NuGet comme indiqué.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 6

Recherchez la bibliothèque IronBarcode en utilisant la zone de recherche du gestionnaire de packages NuGet. Sélectionnez l'option IronBarcode dans la liste des packages disponibles.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 7

2. Utilisation de la ligne de commande Visual Studio

Dans le menu de Visual Studio, allez dans Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 8

Entrez la ligne suivante dans l'onglet de la console du gestionnaire de packages : Install-Package BarCode.

Le package sera téléchargé/installé dans le projet actuel et sera prêt à l'utilisation.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 9

Génération et affichage d'images de code-barres à l'aide d'IronBarcode

Maintenant que notre environnement est configuré, nous pouvons commencer à écrire du code pour générer une image de code-barres dans ASP.NET MVC dynamiquement.

Tout d'abord, créez une classe dans le dossier modèle nommée GenerateBarcodeModel.cs

using System.ComponentModel.DataAnnotations;

namespace GenerateBarcodeMVCCore6_Demo.Models
{
    public class GenerateBarcodeModel
    {
        [Display(Name = "Enter Barcode Text")]
        public string Barcode { get; set; }
    }
}
using System.ComponentModel.DataAnnotations;

namespace GenerateBarcodeMVCCore6_Demo.Models
{
    public class GenerateBarcodeModel
    {
        [Display(Name = "Enter Barcode Text")]
        public string Barcode { get; set; }
    }
}
Imports System.ComponentModel.DataAnnotations

Namespace GenerateBarcodeMVCCore6_Demo.Models
	Public Class GenerateBarcodeModel
		<Display(Name := "Enter Barcode Text")>
		Public Property Barcode() As String
	End Class
End Namespace
$vbLabelText   $csharpLabel

Créez un dossier nommé "GeneratedBarcode" dans le dossier wwwroot pour stocker les images de code-barres générées.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 10

Ajoutez la méthode d'action suivante dans votre classe HomeController.cs dans le dossier "controllers".

using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;

namespace YourNamespace.Controllers
{
    public class HomeController : Controller
    {
        private readonly IWebHostEnvironment _environment;

        public HomeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }

        public IActionResult CreateBarcode()
        {
            return View();
        }

        // Handling POST operation inside this Action method
        [HttpPost]
        public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
        {
            try
            {
                // Create a barcode using the input text
                GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);

                // Adding annotation text to barcode
                barcode.AddBarcodeValueTextBelowBarcode();

                // Styling the Barcode
                barcode.ResizeTo(400, 120);
                barcode.ChangeBarCodeColor(Color.Red);
                barcode.SetMargins(10);

                // Define path to save the barcode image
                string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                // Save the generated barcode as a PNG file
                string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
                barcode.SaveAsPng(filePath);

                // Get the file name and URL for the generated barcode image
                string fileName = Path.GetFileName(filePath);
                string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedBarcode/{fileName}";
                ViewBag.QrCodeUri = imageUrl;
            }
            catch (Exception)
            {
                throw;
            }
            return View();
        }
    }
}
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;

namespace YourNamespace.Controllers
{
    public class HomeController : Controller
    {
        private readonly IWebHostEnvironment _environment;

        public HomeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }

        public IActionResult CreateBarcode()
        {
            return View();
        }

        // Handling POST operation inside this Action method
        [HttpPost]
        public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
        {
            try
            {
                // Create a barcode using the input text
                GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);

                // Adding annotation text to barcode
                barcode.AddBarcodeValueTextBelowBarcode();

                // Styling the Barcode
                barcode.ResizeTo(400, 120);
                barcode.ChangeBarCodeColor(Color.Red);
                barcode.SetMargins(10);

                // Define path to save the barcode image
                string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                // Save the generated barcode as a PNG file
                string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
                barcode.SaveAsPng(filePath);

                // Get the file name and URL for the generated barcode image
                string fileName = Path.GetFileName(filePath);
                string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedBarcode/{fileName}";
                ViewBag.QrCodeUri = imageUrl;
            }
            catch (Exception)
            {
                throw;
            }
            return View();
        }
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.IO

Namespace YourNamespace.Controllers
	Public Class HomeController
		Inherits Controller

		Private ReadOnly _environment As IWebHostEnvironment

		Public Sub New(ByVal environment As IWebHostEnvironment)
			_environment = environment
		End Sub

		Public Function CreateBarcode() As IActionResult
			Return View()
		End Function

		' Handling POST operation inside this Action method
		<HttpPost>
		Public Function CreateBarcode(ByVal generateBarcode As GenerateBarcodeModel) As IActionResult
			Try
				' Create a barcode using the input text
				Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128)

				' Adding annotation text to barcode
				barcode.AddBarcodeValueTextBelowBarcode()

				' Styling the Barcode
				barcode.ResizeTo(400, 120)
				barcode.ChangeBarCodeColor(Color.Red)
				barcode.SetMargins(10)

				' Define path to save the barcode image
				Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
				If Not Directory.Exists(path) Then
					Directory.CreateDirectory(path)
				End If

				' Save the generated barcode as a PNG file
				Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")
				barcode.SaveAsPng(filePath)

				' Get the file name and URL for the generated barcode image
				Dim fileName As String = System.IO.Path.GetFileName(filePath)
				Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedBarcode/{fileName}"
				ViewBag.QrCodeUri = imageUrl
			Catch e1 As Exception
				Throw
			End Try
			Return View()
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

La méthode d'action dans le code ci-dessus traitera la requête de soumission générée à partir de la Vue que nous créerons plus tard. Avec IronBarcode, vous pouvez personnaliser le format du code-barres, l'élément d'image, la police du code-barres et l'élément d'image HTML. Des bibliothèques supplémentaires pourraient être nécessaires pour plus de personnalisation, telles que Iron Drawing pour installer la police de code-barres. Une documentation API plus détaillée peut être trouvée ici.

Maintenant, nous pouvons créer une vue pour notre méthode de générateur de code-barres.

Dans le fichier HomeController.cs, faites un clic droit sur la méthode CreateBarcode et cliquez sur Ajouter une vue.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 11

Sélectionnez Razor View et cliquez sur ajouter.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 12

Sélectionnez les paramètres comme indiqué ci-dessous et cliquez sur Ajouter. Cela ajoutera automatiquement une vue pour cette méthode.

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 13

Vous pouvez modifier le code généré pour modifier l'interface comme vous le souhaitez.

@model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel

@{
    ViewData["Title"] = "CreateBarcode";
}

<h1>CreateBarcode</h1>

<form asp-action="CreateBarcode" method="post">
    <div>
        <label asp-for="Barcode"></label>
        <input asp-for="Barcode" />
        <span asp-validation-for="Barcode"></span>
    </div>
    <button type="submit">Generate Barcode</button>
</form>

@if (ViewBag.QrCodeUri != null)
{
    <div>
        <img src="@ViewBag.QrCodeUri" alt="Barcode Image" />
    </div>
}

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

Maintenant, tout est configuré, ouvrez simplement le fichier _Layout.cshtml et ajoutez le code pour ajouter l'option CreateBarcode dans la navbar.

<li class="nav-item">
    <a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
<li class="nav-item">
    <a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
HTML

Maintenant exécutez l'application, écrivez du texte dans le champ de texte et cliquez sur le bouton Générer le code-barres, et cela créera et affichera l'image du code-barres dynamiquement.

5.1. Résultat

Comment générer dynamiquement et afficher un code-barres dans ASP.NET MVC : Figure 14

6. Conclusion

Générer et afficher dynamiquement des images de code-barres dans des applications ASP.NET MVC peut être réalisé en utilisant la bibliothèque IronBarcode - une bibliothèque de code-barres .NET puissante qui offre une large gamme de fonctionnalités pour créer, lire et manipuler des images de codes-barres dans les applications .NET. En satisfaisant les prérequis tels que l'installation du .NET framework, de Visual Studio et de la bibliothèque IronBarcode, les développeurs peuvent facilement créer des projets ASP.NET MVC et générer et afficher des images de codes-barres dans divers formats tels que Code 39, Code 128, et QR Code. La bibliothèque IronBarcode offre aux développeurs des fonctionnalités pour générer des codes-barres avec des dimensions, couleurs et polices personnalisées, et pour ajouter du texte et des logos aux images de codes-barres. En plus de la génération de codes-barres, IronBarcode inclut également des fonctionnalités pour la lecture et le décodage des images de codes-barres. Avec IronBarcode, les développeurs peuvent facilement créer des applications web puissantes et dynamiques qui répondent à leurs besoins commerciaux. Pour un tutoriel connexe sur ce sujet, visitez le lien suivant. Pour un tutoriel pas à pas sur la génération de codes-barres et de codes QR, veuillez vous référer au lien suivant.

Questions Fréquemment Posées

Comment puis-je générer dynamiquement des images de codes-barres dans ASP.NET MVC ?

Vous pouvez utiliser la bibliothèque IronBarcode pour générer dynamiquement des images de codes-barres dans ASP.NET MVC en intégrant son API dans votre projet. Cette bibliothèque C# prend en charge divers formats de codes-barres et permet la personnalisation en termes de dimensions, de couleurs et de texte.

Quels sont les avantages d'utiliser IronBarcode dans les applications ASP.NET MVC ?

IronBarcode offre une fonctionnalité multiplateforme sans dépendre des API graphiques spécifiques à Windows .NET. Il prend en charge plusieurs formats de codes-barres, offre des options de personnalisation et peut lire et décoder des codes-barres à partir d'images, de fichiers PDF et de flux de caméra en direct.

Comment intégrer IronBarcode dans un projet ASP.NET MVC ?

Pour intégrer IronBarcode dans un projet ASP.NET MVC, vous devez installer la bibliothèque via le gestionnaire de packages NuGet dans Visual Studio, configurer un modèle pour les données des codes-barres, créer un contrôleur pour gérer la génération de codes-barres, et concevoir une vue pour l'interaction utilisateur et l'affichage des codes-barres.

Quels formats de codes-barres sont pris en charge pour la génération dans ASP.NET MVC en utilisant IronBarcode ?

IronBarcode prend en charge la génération d'une large gamme de formats de codes-barres dans ASP.NET MVC, y compris Code 39, Code 128, QR Code, Data Matrix, et PDF417.

Puis-je personnaliser l'apparence des images de codes-barres générées avec IronBarcode ?

Oui, IronBarcode permet la personnalisation des images de codes-barres, y compris l'ajustement du format, des couleurs, des dimensions, des polices et l'ajout de texte ou de logos au code-barres.

Comment puis-je dépanner les problèmes lors de la génération de codes-barres dans ASP.NET MVC ?

Si vous rencontrez des problèmes lors de la génération de codes-barres dans ASP.NET MVC, assurez-vous que la bibliothèque IronBarcode est correctement installée, que toutes les dépendances sont satisfaites, et que le modèle de données de code-barres et la configuration du contrôleur sont correctement implémentés. Consultez la documentation d'IronBarcode pour des conseils supplémentaires.

Est-il possible de décoder des codes-barres dans une application ASP.NET MVC en utilisant IronBarcode ?

Oui, IronBarcode comprend une fonctionnalité pour décoder des codes-barres à partir de diverses sources telles que des images, des documents PDF et des flux de caméra en direct, même si ceux-ci sont partiellement endommagés.

Quels sont les prérequis pour configurer un projet ASP.NET MVC avec IronBarcode ?

Vous devez disposer du .NET Framework ou .NET Core installé, de Visual Studio et de la bibliothèque IronBarcode, qui peut être téléchargée sur le site web de Iron Software ou installée via le gestionnaire de packages NuGet.

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