Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Cet article explique comment imprimer des images de codes-barres dans les applications Web ASP.NET à l'aide de C#. Le Framework MVC sera utilisé pour cet exemple, mais vous pouvez également utiliser ASP.NET Web Forms, Windows Forms ou Web API selon vos besoins.
Une connaissance de base du Framework .NET MVC vous permettra de mieux comprendre cet article.
Créer un code-barres
méthode pour créer un code-barres en C#Ouvrez Microsoft Visual Studio. Cliquez sur Créer un nouveau projet > Sélectionnez ASP.NET Web Application dans 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
Cliquez avec le bouton droit de la souris sur le dossier Models > Add > Class....
Naviguer vers la boîte de dialogue d'ajout de classe
Une nouvelle fenêtre apparaît. Nommez votre classe BarcodeModel
.
Ecrivez le code suivant dans la classe de modèle.
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
Public Class BarcodeModel
<Display(Name :="Barcode File Name")>
Public Property FileName() As String
<Display(Name := "Barcode Content")>
Public Property BarcodeContent() As String
End Class
Le FileName
sera utilisé pour obtenir le nom de l'image du code-barres de la part de l'utilisateur. Le BarcodeContent
est utilisé pour prendre le contenu du code-barres.
Ensuite, un Controller
est ajouté au projet. Il communiquera avec une Vue
et un Modèle
en utilisant le modèle MVC. Le code permettant de générer des codes-barres ne comporte que deux ou trois lignes. Il n'est donc pas nécessaire de créer une classe distincte ; au lieu de cela, le code est ajouté à l'intérieur du contrôleur.
Pour ajouter le contrôleur, cliquez avec le bouton droit de la souris sur le dossier Controllers > Add > Controller. Une nouvelle fenêtre apparaît. Sélectionnez MVC 5 Controller Empty. Cliquez sur le bouton Ajouter. Une nouvelle boîte apparaît.
Dialogue d'ajout de contrôleur
Inscrivez 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.
La bibliothèque IronBarcode est recommandée comme bibliothèque tierce pour générer des codes-barres. Il est gratuit pour le développement et offre de nombreuses fonctionnalités pour personnaliser les codes-barres, telles que l'ajout deun logo sur une image de code-barresen ajoutant une valeur au-dessous ou au-dessus du code-barres,ajouter des annotations au-dessous ou au-dessus du code-barresle code-barres peut être modifié, redimensionné, sauvegardé enplusieurs formats d'imageetc. Pour plus de détails, cliquez ici.
Allez dans la console du gestionnaire de paquets. Tapez la commande suivante et appuyez sur Entrée.
Install-Package BarCode
Cette commande installera la bibliothèque IronBarcode dans le projet.
Ensuite, ajoutez l'exemple de code suivant au contrôleur.
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
MyBarCode.AddBarcodeValueTextAboveBarcode();
MyBarCode.SaveAsJpeg(filepath);
string image = Directory.GetFiles(path).FirstOrDefault();
ViewBag.fileName = image;
return View();
}
catch
{
return View();
}
}
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
MyBarCode.AddBarcodeValueTextAboveBarcode();
MyBarCode.SaveAsJpeg(filepath);
string image = Directory.GetFiles(path).FirstOrDefault();
ViewBag.fileName = image;
return View();
}
catch
{
return View();
}
}
<HttpPost>
Public Function CreateBarcode(ByVal model As BarcodeModel) As ActionResult
Try
Dim MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128)
Dim path As String = Server.MapPath("~/Files/")
Dim filepath As String = System.IO.Path.Combine(path, model.FileName)
MyBarCode.AddBarcodeValueTextAboveBarcode()
MyBarCode.SaveAsJpeg(filepath)
Dim image As String = Directory.GetFiles(path).FirstOrDefault()
ViewBag.fileName = image
Return View()
Catch
Return View()
End Try
End Function
try-catch
est utilisé pour rattraper toute exception d'exécution.
La fonction CreateBarcode
fournie par le programmeBarcodeWriter
prend deux arguments : le contenu du code-barres et le schéma d'encodage. En outre, il accepte également 11 autres arguments facultatifs, dont la hauteur maximale, la largeur maximale, etc.
La fonction Server.MapPath
est utilisée pour définir le chemin où les images de codes-barres générées seront sauvegardées. La méthode Path.Combine
combine le chemin et le nom de l'image du code-barres.
LesAddBarcodeValueTextAboveBarcode
ajoutera la valeur du code-barres. IronBarcode fournit d'autres paramètres de code-barres tels que max-height
, max-width
, barcode
, color
, et ainsi de suite. Vous pouvez explorer et utiliser les différents paramètres.
LesSaveAsJpeg
(enregistrer sous forme de Jpeg) prend le chemin comme argument et enregistre les codes-barres générés dans ce chemin particulier.
La méthode Directory.GetFile
récupère l'image du 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
.
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 de la souris sur le nom de la méthode du contrôleur et cliquez sur le bouton "Ajouter une vue".
Naviguer vers l'ajout d'un dialogue de visualisation
Une nouvelle fenêtre apparaît. Sélectionnez MVC 5 View et cliquez sur le bouton Add.
Une nouvelle invite apparaît, comme indiqué ci-dessous.
Ajouter un dialogue de vue
Nommez votre vue et cliquez sur le bouton Add. Un nouveau fichier .cshtml
sera créé.
Ajoutez le code suivant dans la 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")
}
model ReadOnly Property () As GenerateBarcodeMVC.Models.BarcodeModel
ViewBag.DisplayBarcode = False
End Property
'INSTANT VB TODO TASK: The following line could not be converted:
(Of h2) Create</h2> [using](Html.BeginForm())
If True Then
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Html.AntiForgeryToken() <div class="form-horizontal"> (Of h4) GenerateBarcode</h4> <hr /> Html.ValidationSummary(True, "", New With {Key .class = "text-danger"}) <div class="form-group"> Html.LabelFor(Function(model) model.FileName, htmlAttributes:= New With {Key .class = "control-label col-md-2"}) <div class="col-md-10"> Html.EditorFor(Function(model) model.FileName, New With {
Key .htmlAttributes = New With {Key .class = "form-control"}
}) Html.ValidationMessageFor(Function(model) model.FileName, "", New With {Key .class = "text-danger"}) </div> </div> <div class="form-group"> Html.LabelFor(Function(model) model.BarcodeContent, htmlAttributes:= New With {Key .class = "control-label col-md-2"}) <div class="col-md-10"> Html.EditorFor(Function(model) model.BarcodeContent, New With {
Key .htmlAttributes = New With {Key .class = "form-control"}
}) Html.ValidationMessageFor(Function(model) model.BarcodeContent, "", New With {Key .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>
End If
Dim Scripts As section
If True Then
Scripts.Render("~/bundles/jqueryval")
End If
Ensuite, cliquez avec le bouton droit de la souris dans la vue et cliquez sur le bouton Exécuter dans le navigateur.
Exécuter l'application Web pour afficher le formulaire de création
Saisissez le nom de l'image du code-barres et le contenu du code-barres comme indiqué ci-dessous :
Insérez le contenu de votre 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
Ce tutoriel a démontré comment générer des codes-barres en utilisant ASP.NET en C#, combiné avec le Framework MVC. Microsoft Visual Studio est utilisé comme IDE. IronPDF est une bibliothèque tierce, gratuite pour le développement et compatible avec toutes les versions du Framework .NET, y compris la nouvelle version. IronBarcode est rapide et offre de nombreuses fonctionnalités pour travailler avec des codes-barres. Il peut égalementgénérer des codes QR en spécifiant différents types.
Il existe d'autres bibliothèques utiles telles que 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 deux seulement en achetant la Suite Iron complète. Visitez le sitenotre page sur les licences pour plus de détails.
9 produits de l'API .NET pour vos documents de bureau