
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.
Comment imprimer des fichiers de codes-barres en C#
- Installer la bibliothèque C# pour imprimer le fichier de code-barres
- Configurer le modèle et le contrôleur
- Utilisez la méthode
CreateBarcodepour créer un code-barres en C#. - Configurez la vue pour afficher le code-barres généré
- 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.
Créer un nouveau projet ASP.NET
Ajouter un modèle
Cliquez avec le bouton droit sur le dossier Models > Ajouter > Classe....
Accéder à la boîte de dialogue pour ajouter une classe
Une nouvelle fenêtre apparaîtra. Nommez votre classe comme 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; }
}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 ClassLe 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 un View et Model 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.
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. Elle est gratuite pour le développement et offre de nombreuses fonctionnalités pour personnaliser les codes-barres, telles que l'ajout d'un logo à une image de code-barres, l'ajout de valeur en dessous ou au-dessus du code-barres, l'ajout d'annotations en dessous ou au-dessus du code-barres, le redimensionnement du code-barres, la sauvegarde du code-barres dans de nombreux formats d'image, etc. Pour plus de détails, veuillez cliquer ici.
Accédez à la Console du gestionnaire de packages. Tapez la commande suivante et appuyez sur Entrée.
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();
}
}
}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 Classtry-catchest utilisé pour attraper toute exception d'exécution.- La fonction
CreateBarcodefournie par la classeBarcodeWriterprend deux arguments : le contenu du code-barres et le schéma de codage. De plus, elle accepte également 11 autres arguments optionnels, tels que hauteur maximale, largeur maximale, etc. - La fonction
Server.MapPathest utilisée pour mapper le chemin où les images de code-barres générées seront enregistrées. La méthodePath.Combinecombinera le chemin et le nom de l'image de code-barres. - La fonction
AddBarcodeValueTextAboveBarcodeajoutera la valeur du code-barres. IronBarcode fournit d'autres paramètres de code-barres tels quemax-height,max-width,barcode,color, et ainsi de suite. Vous pouvez explorer et utiliser les différents paramètres. - La fonction
SaveAsJpegprend le chemin comme argument et enregistre les codes-barres générés dans ce chemin particulier. - La méthode
Directory.GetFilesobtiendra la nouvelle image de code-barres générée. ViewBag.FileNameest utilisé pour envoyer le chemin de l'image de code-barres à la vue pour afficher l'image de 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 de codage 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".
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.
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")
}
Ensuite, cliquez avec le bouton droit à l'intérieur de la vue, et cliquez sur le bouton Exécuter vers le navigateur.
Sortie
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 :
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.
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.

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 et créer des manuels bien structurés et visuellement attrayants.
Articles connexes


