Passer au contenu du pied de page
UTILISATION DE IRONBARCODE
Comment imprimer un code-barres dans ASP.NET

Comment imprimer un code-barres en ASP.NET en C#

Cet article démontrera comment imprimer des images de code-barres dans des applications Web ASP.NET à l'aide de C#. Le cadre MVC sera utilisé pour cet exemple, mais vous pouvez également utiliser les formulaires Web ASP.NET, Windows Forms ou l'API Web selon vos besoins.

Une connaissance de base du cadre MVC ASP.NET vous donnera une meilleure compréhension de cet article.

class="hsg-featured-snippet"> ## Comment imprimer des fichiers de codes-barres en C#
  1. Installez la bibliothèque C# pour imprimer un fichier de code-barres
  2. Configurez le modèle et le contrôleur
  3. Utilisez la méthode CreateBarcode pour créer un code-barres en C#
  4. Configurez la vue pour afficher le code-barres généré
  5. Imprimez la page Web contenant l'image du code-barres à l'aide d'une imprimante ou d'un logiciel d'impression en PDF

Créer un projet MVC

Ouvrez Microsoft Visual Studio. Cliquez sur Créer un nouveau projet > Sélectionnez Application Web ASP.NET parmi les modèles > Appuyez sur Suivant > Nommez votre projet > Appuyez sur Suivant > Sélectionnez MVC > Cliquez sur le bouton Créer. Le projet sera créé comme indiqué ci-dessous.

Comment imprimer un code-barres dans ASP.NET en C#, Figure 1 : Créer un nouveau projet ASP.NET Créer un nouveau projet ASP.NET

Ajouter un modèle

Cliquez avec le bouton droit sur le dossier Models > Ajouter > Classe....

Comment imprimer un code-barres dans ASP.NET en C#, Figure 2 : Accéder à la boîte de dialogue pour ajouter une classe Accéder à la boîte de dialogue pour ajouter une classe

Une nouvelle fenêtre apparaîtra. Nommez votre classe BarcodeModel.

Écrivez le code suivant dans la classe du modèle.

using System.ComponentModel.DataAnnotations;

public class BarcodeModel
{
    [Display(Name ="Barcode File Name")]
    public string FileName { get; set; }

    [Display(Name = "Barcode Content")]
    public string BarcodeContent { get; set; }
}
using System.ComponentModel.DataAnnotations;

public class BarcodeModel
{
    [Display(Name ="Barcode File Name")]
    public string FileName { get; set; }

    [Display(Name = "Barcode Content")]
    public string BarcodeContent { get; set; }
}
Imports System.ComponentModel.DataAnnotations

Public Class BarcodeModel
	<Display(Name :="Barcode File Name")>
	Public Property FileName() As String

	<Display(Name := "Barcode Content")>
	Public Property BarcodeContent() As String
End Class
$vbLabelText   $csharpLabel

Le FileName sera utilisé pour obtenir le nom de l'image du code-barres de l'utilisateur. Le BarcodeContent est utilisé pour prendre le contenu du code-barres.

Ajouter un contrôleur

Ensuite, un Controller est ajouté au projet. Il communiquera avec une Vue et un Modèle en utilisant le modèle MVC. Le code pour générer des codes-barres se compose de seulement deux ou trois lignes. Par conséquent, il n'est pas nécessaire d'avoir une classe séparée ; au lieu de cela, le code est ajouté à l'intérieur du contrôleur.

Pour ajouter le contrôleur, cliquez avec le bouton droit sur le dossier Controllers > Ajouter > Contrôleur. Une nouvelle fenêtre apparaîtra. Sélectionnez Contrôleur MVC 5 vide. Cliquez sur le bouton Ajouter. Une nouvelle boîte apparaîtra.

Comment imprimer un code-barres dans ASP.NET en C#, Figure 3 : Boîte de dialogue pour ajouter un contrôleur Boîte de dialogue pour ajouter un contrôleur

Écrivez le nom de votre contrôleur, par exemple, BarcodeController. Cliquez sur le bouton Ajouter. Un nouveau contrôleur sera généré.

L'étape suivante consiste à installer la bibliothèque de codes-barres.

Installer la bibliothèque de codes-barres

La bibliothèque IronBarcode est recommandée en tant que bibliothèque tierce pour générer des codes-barres. It is free for development and provides multiple features to customize barcodes, such as adding a logo to a barcode image, adding value below or above the barcode, adding annotations below or above the barcode, resizing the barcode, saving the barcode in multiple image formats, etc. For more details, please click here.

Accédez à la Console du gestionnaire de packages. Tapez la commande suivante et appuyez sur Entrée.

Install-Package BarCode

Cette commande installera la bibliothèque IronBarcode dans le projet.

Générer le code-barres

Ensuite, ajoutez le code exemple suivant au contrôleur.

using System.IO;
using System.Linq;
using System.Web.Mvc;
using IronBarCode;

public class BarcodeController : Controller
{
    [HttpPost]
    public ActionResult CreateBarcode(BarcodeModel model)
    {
        try
        {
            // Create a barcode with the specified content and encoding
            var MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);

            // Define the path where the barcode image will be saved
            string path = Server.MapPath("~/Files/");
            string filepath = Path.Combine(path, model.FileName);

            // Add the barcode value text above the barcode
            MyBarCode.AddBarcodeValueTextAboveBarcode();

            // Save the generated barcode as a JPEG file
            MyBarCode.SaveAsJpeg(filepath);

            // Retrieve the first file from the directory as a sample image
            string image = Directory.GetFiles(path).FirstOrDefault();

            // Pass the image path to the view
            ViewBag.FileName = image;
            return View();
        }
        catch
        {
            // Handle any exceptions that occur
            return View();
        }
    }
}
using System.IO;
using System.Linq;
using System.Web.Mvc;
using IronBarCode;

public class BarcodeController : Controller
{
    [HttpPost]
    public ActionResult CreateBarcode(BarcodeModel model)
    {
        try
        {
            // Create a barcode with the specified content and encoding
            var MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);

            // Define the path where the barcode image will be saved
            string path = Server.MapPath("~/Files/");
            string filepath = Path.Combine(path, model.FileName);

            // Add the barcode value text above the barcode
            MyBarCode.AddBarcodeValueTextAboveBarcode();

            // Save the generated barcode as a JPEG file
            MyBarCode.SaveAsJpeg(filepath);

            // Retrieve the first file from the directory as a sample image
            string image = Directory.GetFiles(path).FirstOrDefault();

            // Pass the image path to the view
            ViewBag.FileName = image;
            return View();
        }
        catch
        {
            // Handle any exceptions that occur
            return View();
        }
    }
}
Imports System.IO
Imports System.Linq
Imports System.Web.Mvc
Imports IronBarCode

Public Class BarcodeController
	Inherits Controller

	<HttpPost>
	Public Function CreateBarcode(ByVal model As BarcodeModel) As ActionResult
		Try
			' Create a barcode with the specified content and encoding
			Dim MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128)

			' Define the path where the barcode image will be saved
			Dim path As String = Server.MapPath("~/Files/")
			Dim filepath As String = System.IO.Path.Combine(path, model.FileName)

			' Add the barcode value text above the barcode
			MyBarCode.AddBarcodeValueTextAboveBarcode()

			' Save the generated barcode as a JPEG file
			MyBarCode.SaveAsJpeg(filepath)

			' Retrieve the first file from the directory as a sample image
			Dim image As String = Directory.GetFiles(path).FirstOrDefault()

			' Pass the image path to the view
			ViewBag.FileName = image
			Return View()
		Catch
			' Handle any exceptions that occur
			Return View()
		End Try
	End Function
End Class
$vbLabelText   $csharpLabel
  • try-catch est utilisé pour capturer toute exception à l'exécution.
  • La fonction CreateBarcode fournie par la classe BarcodeWriter prend deux arguments : le contenu du code-barres et le schéma d'encodage. De plus, elle accepte également 11 autres arguments optionnels, tels que hauteur maximale, largeur maximale, etc.
  • La fonction Server.MapPath est utilisée pour mapper le chemin où les images de code-barres générées seront enregistrées. La méthode Path.Combine combinera le chemin et le nom de l'image de code-barres.
  • La fonction AddBarcodeValueTextAboveBarcode ajoutera la valeur du code-barres. IronBarcode fournit d'autres paramètres de code-barres tels que max-height, max-width, barcode, color, etc. Vous pouvez explorer et utiliser les différents paramètres.
  • La fonction SaveAsJpeg prend le chemin comme argument et enregistre les codes-barres générés dans ce chemin particulier.
  • La méthode Directory.GetFiles obtiendra l'image de code-barres nouvellement générée.
  • ViewBag.FileName est utilisé pour envoyer le chemin de l'image du code-barres à la vue pour afficher l'image du code-barres générée.

Les codes QR peuvent également être générés de la même manière en changeant le schéma d'encodage de Code128 à QRCode.

Ajouter la vue

L'étape suivante consiste à fournir le côté client de cette application Web ASP.NET en ajoutant une nouvelle vue. Cliquez avec le bouton droit sur le nom de la méthode du contrôleur et cliquez sur le bouton "Ajouter une vue".

Comment imprimer un code-barres dans ASP.NET en C#, Figure 4 : Accéder au dialogue pour ajouter une vue Accéder au dialogue pour ajouter une vue

Une nouvelle fenêtre apparaîtra. Sélectionnez Vue MVC 5, et cliquez sur le bouton Ajouter.

Une nouvelle invite apparaîtra comme indiqué ci-dessous.

Comment imprimer un code-barres dans ASP.NET en C#, Figure 5 : Boîte de dialogue pour ajouter une vue Boîte de dialogue pour ajouter une vue

Nommez votre vue et cliquez sur le bouton Ajouter. Un nouveau fichier .cshtml sera créé.

Ajoutez le code suivant à l'intérieur de votre vue nouvellement générée.

@model GenerateBarcodeMVC.Models.BarcodeModel

@{
    ViewBag.DisplayBarcode = false;
}

<h2>Create</h2>

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>GenerateBarcode</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <img src="~/Files/@Path.GetFileName(ViewBag.FileName)" alt="Barcode" />
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </div>
    </div>
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
@model GenerateBarcodeMVC.Models.BarcodeModel

@{
    ViewBag.DisplayBarcode = false;
}

<h2>Create</h2>

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>GenerateBarcode</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            @Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <img src="~/Files/@Path.GetFileName(ViewBag.FileName)" alt="Barcode" />
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </div>
    </div>
}

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
HTML

Ensuite, cliquez avec le bouton droit à l'intérieur de la vue, et cliquez sur le bouton Exécuter vers le navigateur.

Sortie

Comment imprimer un code-barres dans ASP.NET en C#, Figure 6 : Exécuter l'application Web pour afficher le formulaire de création Exécuter l'application Web pour afficher le formulaire de création

Saisissez le nom de votre image de code-barres et le contenu du code-barres comme indiqué ci-dessous :

Comment imprimer un code-barres dans ASP.NET en C#, Figure 7 : Saisissez votre contenu de code-barres Saisissez votre contenu de code-barres

Cliquez sur le bouton Créer. L'image du code-barres sera générée et affichée à l'écran comme indiqué ci-dessous.

Comment imprimer un code-barres dans ASP.NET en C#, Figure 8 : Générer un code-barres à partir d'une URL Générer un code-barres à partir d'une URL

Résumé

Ce tutoriel a démontré comment générer des codes-barres en utilisant ASP.NET en C#, combiné avec le cadre MVC. Microsoft Visual Studio est utilisé comme IDE. IronPDF est une bibliothèque tierce qui est gratuite pour le développement et compatible avec toutes les versions du .NET Framework, y compris la version récemment publiée. IronBarcode est rapide et offre de nombreuses fonctionnalités pour travailler avec les codes-barres. Il peut également générer des codes QR en spécifiant différents types.

Il existe d'autres nombreuses bibliothèques utiles telles qu'IronPDF pour travailler avec des documents PDF, IronXL pour travailler avec des documents Excel, et IronOCR pour travailler avec l'OCR. Actuellement, vous pouvez obtenir les cinq bibliothèques pour le prix de seulement deux en achetant l'ensemble Iron Suite. Visitez notre page de licences pour plus de détails.

Questions Fréquemment Posées

Comment puis-je générer et imprimer des images de code-barres dans ASP.NET MVC en utilisant C# ?

Vous pouvez utiliser la bibliothèque IronBarcode pour générer et imprimer des images de code-barres dans des applications ASP.NET MVC. Cela implique de créer un projet MVC, d'installer IronBarcode via la Console du Gestionnaire de Packages, et d'utiliser la méthode `BarcodeWriter.CreateBarcode` pour générer des codes-barres.

Quelles étapes sont impliquées dans la création d'un nouveau projet MVC pour l'impression de code-barres ?

Pour créer un nouveau projet MVC pour l'impression de code-barres, ouvrez Microsoft Visual Studio, sélectionnez 'Créer un nouveau projet', choisissez 'Application Web ASP.NET' et sélectionnez 'MVC' parmi les modèles disponibles.

Comment puis-je installer la bibliothèque IronBarcode pour la génération de code-barres en C# ?

Installez la bibliothèque IronBarcode en ouvrant la Console du Gestionnaire de Packages dans Visual Studio et en exécutant la commande : Install-Package IronBarcode.

Comment puis-je enregistrer une image de code-barres générée en C# ?

Vous pouvez enregistrer une image de code-barres générée en utilisant la méthode `SaveAsJpeg` fournie par IronBarcode, en spécifiant le chemin d'accès où l'image doit être enregistrée.

Puis-je personnaliser les images de code-barres dans les applications ASP.NET ?

Oui, IronBarcode permet la personnalisation des images de code-barres, y compris l'ajout de logos, d'annotations et la modification de la taille et des dimensions pour répondre à vos besoins.

Comment puis-je afficher un code-barres généré dans une vue MVC ?

Pour afficher un code-barres généré dans une vue MVC, créez une vue dans votre projet et passez le chemin de l'image du code-barres à la vue en utilisant `ViewBag`. Cela permet l'affichage côté client du code-barres.

Que dois-je faire si je rencontre des erreurs lors de la génération de code-barres ?

Utilisez un bloc try-catch dans votre code C# pour gérer toutes les exceptions d'exécution pouvant survenir lors du processus de génération de code-barres, garantissant une gestion robuste des erreurs.

Est-il possible de générer des codes QR en utilisant la même méthode que les codes-barres ?

Oui, en utilisant IronBarcode, vous pouvez générer des codes QR en définissant le schéma de codage sur `QRCode` dans la méthode `BarcodeWriter.CreateBarcode`.

Quelles autres bibliothèques de logiciels Iron sont recommandées pour la gestion de documents ?

En plus de IronBarcode, Iron Software propose d'autres bibliothèques telles que IronPDF, IronXL et IronOCR. Ces bibliothèques offrent des solutions complètes pour les tâches de gestion de documents.

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