Comment générer des codes QR dans ASP.NET MVC
Dans le paysage numérique rapide d'aujourd'hui, la génération de codes QR est devenue un outil essentiel pour le partage efficace d'informations. Ces codes-barres compacts et bidimensionnels, capables de stocker une large gamme de données, y compris des URL, du texte, des informations de contact, des détails de produit et bien plus encore, jouent un rôle crucial dans la communication moderne. Intégrer des capacités de génération de codes QR dans votre application ASP.NET MVC permet d'autonomiser les utilisateurs en générant de manière transparente des codes QR et en améliorant leur expérience, rationalisant les interactions et facilitant l'échange d'informations sans effort.
Si vous développez une application ASP.NET MVC et souhaitez intégrer des capacités de génération de codes QR, IronBarcode est une bibliothèque excellente qui simplifie le processus. Dans cet article, nous explorerons comment générer des codes QR dans ASP.NET MVC en utilisant la bibliothèque Iron Barcode.
IronBarcode
IronBarcode est une bibliothèque puissante et riche en fonctionnalités pour la génération et la reconnaissance des codes QR pour les applications .NET. Avec IronBarcode, les développeurs peuvent facilement intégrer la fonctionnalité de code-barres et de code QR dans leurs projets ASP.NET MVC, y compris la capacité de générer des codes QR. La bibliothèque fournit un ensemble complet d'outils et d'API qui simplifient le processus de création et de personnalisation des codes QR, permettant aux développeurs de les adapter à leurs besoins spécifiques.
IronBarcode offre un support étendu pour divers types de codes-barres, y compris les codes QR, ce qui en fait un choix idéal pour les projets nécessitant des capacités de génération de codes QR. Elle offre aux développeurs la flexibilité de spécifier les données à encoder, de contrôler la taille et la résolution des codes QR générés et même d'ajouter des éléments de style visuel tels que des couleurs et des logos. La bibliothèque assure une génération de codes-barres de haute qualité avec un contrôle précis sur tous les aspects de l'apparence du code QR.
Au-delà de la génération de codes QR, IronBarcode inclut également des fonctionnalités robustes pour la lecture et le décodage des codes-barres. Elle prend en charge la numérisation et l'extraction de données à partir de codes QR, permettant aux applications de traiter les informations qu'ils contiennent. Cette fonctionnalité est bénéfique pour des scénarios où la numérisation de codes-barres et l'extraction de données sont nécessaires, tels que la gestion des stocks, les systèmes de billetterie et les applications mobiles.
Maintenant, créons un projet pour générer un code QR dans l'application Web ASP.NET Core MVC.
Configuration du projet
Avant d'entrer dans les détails de l'implémentation, assurons-nous que votre projet ASP.NET MVC est configuré et prêt à démarrer. Que vous commenciez un nouveau projet ou que vous travailliez avec un existant, les étapes ci-dessous vous guideront dans le processus d'intégration de la bibliothèque Iron Barcode dans votre application. Dans mon cas, j'ai créé un nouveau projet.
Les étapes pour créer un nouveau projet sont les suivantes :
- Ouvrez Microsoft Visual Studio 2022.
- Sur la page d'accueil, cliquez sur "Créer un nouveau projet" ou allez dans "Fichier" > "Nouveau" > "Projet" depuis le menu du haut.
- Dans la fenêtre "Créer un nouveau projet", vous verrez différents modèles de projet à choisir. Choisissez le modèle de projet "Application Web ASP.NET Core (Modèle-vue-contrôleur)" et cliquez sur "Suivant".
- Entrez un nom et un emplacement pour votre projet. Choisissez un emplacement approprié sur votre ordinateur pour enregistrer les fichiers du projet.
- Sélectionnez la version du framework souhaitée. Visual Studio suggère généralement la dernière version stable, mais vous pouvez en choisir une différente si nécessaire. J'ai choisi .NET 7.
- Personnalisez les paramètres de projet supplémentaires, tels que les options d'authentification ou les dossiers du projet, en fonction de vos besoins.
- Cliquez sur "Créer" pour créer le projet.
Visual Studio génèrera alors les fichiers du projet et ouvrira l'explorateur de solutions, où vous pourrez voir la structure du projet et commencer à travailler sur votre code.

Maintenant, nous devons installer la bibliothèque Iron Barcode dans notre application.
Installer Iron Barcode
Pour commencer, ouvrez la Console du Gestionnaire de Packages dans Visual Studio et exécutez la commande suivante :
Install-Package IronBarCode
Cette commande installera la bibliothèque Iron Barcode et ajoutera les références nécessaires à votre projet.

Maintenant, écrivons un peu de code pour créer des codes QR.
Créer QRCodeModel
Créez une classe modèle dans le dossier Models et écrivez le code suivant :
using System.ComponentModel.DataAnnotations;
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText { get; set; }
}
using System.ComponentModel.DataAnnotations;
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText { get; set; }
}
Imports System.ComponentModel.DataAnnotations
Public Class QRCodeModel
<Display(Name := "Enter QR Code Text")>
Public Property QRCodeText() As String
End Class
Créer le contrôleur de codes QR
Dans votre projet ASP.NET MVC, créez un nouveau contrôleur nommé QrCodeController. Pour ce faire, cliquez avec le bouton droit sur le dossier Controllers dans la structure de votre projet, sélectionnez "Ajouter" puis choisissez "Contrôleur". Parmi les options disponibles, sélectionnez "Contrôleur MVC - Vide".
Écrivez le code suivant en QrCodeController :
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateQRCode()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
// Creating QR Code
GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(path, "qrcode.png");
barcode.SaveAsPng(filePath);
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception ex)
{
// Handle exceptions
// Log the exception details here for troubleshooting and debugging.
throw;
}
return View();
}
}
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateQRCode()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
// Creating QR Code
GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(path, "qrcode.png");
barcode.SaveAsPng(filePath);
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception ex)
{
// Handle exceptions
// Log the exception details here for troubleshooting and debugging.
throw;
}
return View();
}
}
Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System.IO
Public Class QrCodeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateQRCode() As IActionResult
Return View()
End Function
<HttpPost>
Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
Try
' Creating QR Code
Dim barcode As GeneratedBarcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText)
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Dim filePath As String = System.IO.Path.Combine(path, "qrcode.png")
barcode.SaveAsPng(filePath)
Dim fileName As String = System.IO.Path.GetFileName(filePath)
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedQRCode/{fileName}"
ViewBag.QrCodeUri = imageUrl
Catch ex As Exception
' Handle exceptions
' Log the exception details here for troubleshooting and debugging.
Throw
End Try
Return View()
End Function
End Class
Ce code configure un contrôleur qui peut générer des codes QR. Lorsque l'action CreateQRCode est appelée, elle prend le texte du code QR, génère l'image du code QR, l'enregistre et fournit l'URL de l'image dans la vue pour affichage. Plus de détails sont les suivants :
- Le contrôleur possède un constructeur qui prend un paramètre
IWebHostEnvironmentpour accéder à l'environnement d'hébergement Web. - L'action
CreateQRCoderenvoie une vue. - L'action
CreateQRCodeavec l'attribut[HttpPost]prend un paramètreQRCodeModel, qui contient le texte du code QR. - À l'intérieur de l'action, un code QR est généré à l'aide de la classe
QRCodeWriterde la bibliothèque Iron Barcode. - Le code QR généré est enregistré sous forme de fichier image PNG dans un dossier appelé
GeneratedQRCodedans le chemin racine du site web. - Si le dossier
GeneratedQRCoden'existe pas, il est créé. - Le chemin de fichier et l'URL de l'image du code QR enregistré sont générés.
- L'URL de l'image du code QR est stockée dans la propriété
ViewBag.QrCodeUripour être utilisée dans la vue. - Toutes les exceptions qui se produisent pendant le processus sont capturées et enregistrées.
Ajouter CreateQRCode Afficher
Maintenant, pour ajouter une nouvelle vue, cliquez avec le bouton droit sur la méthode d'action CreateQRCode dans la classe QrCodeController. Sélectionnez "Ajouter une vue", puis sélectionnez "Vue Razor" et cliquez sur le bouton "Ajouter".

Une nouvelle fenêtre apparaîtra comme montré ci-dessous.

Saisissez le nom de la vue, sélectionnez le modèle " Créer ", puis sélectionnez notre classe de modèle nouvellement créée QRCodeModel. Cliquez sur le bouton Ajouter. La vue sera créée. Remplacez votre vue par le code ci-dessous.
@model QRCodeModel
@{
ViewData["Title"] = "CreateQRCode";
}
<h1>Create QRCode in ASP.NET MVC</h1>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="CreateQRCode">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="QRCodeText" class="control-label"></label>
<input asp-for="QRCodeText" class="form-control" />
<span asp-validation-for="QRCodeText" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
<div class="form-group">
@if (ViewBag.QrCodeUri != null)
{
<img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Generated QR Code" />
}
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}
Passons maintenant à la classe Program.cs et modifions la route du contrôleur par défaut.
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=CreateQRCode}/{id?}")
Cela modifiera l'itinéraire par défaut de HomeController à notre QrCodeController.
Maintenant, compilez et exécutez le projet.
Sortie

Entrez le texte dans la boîte de texte et cliquez sur le bouton créer. Un code QR sera créé et affiché à l'écran comme montré ci-dessous.

Maintenant, ajoutons un style visuel à notre code-barres en ajoutant un texte d'annotation, la valeur du code QR et en changeant la couleur du code QR.
Ajouter un style visuel dans le code QR
Ajoutez la ligne de code suivante à l'intérieur de la méthode d'action CreateQRCode.
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ChangeBackgroundColor(System.Drawing.Color.White)
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed)
Maintenant, exécutez le projet et générez le code QR.

Conclusion
Dans ASP.NET MVC, l'intégration d'IronBarcode est simple. Elle offre une interface conviviale, rendant facile le travail avec les codes QR. En utilisant IronBarcode, vous pouvez améliorer votre application en ajoutant des fonctionnalités de code QR, permettant aux utilisateurs de partager et d'accéder facilement aux informations. IronBarcode est une bibliothèque précieuse qui simplifie le processus de génération et de lecture de codes QR dans ASP.NET MVC. Elle permet aux développeurs de créer des applications dynamiques qui exploitent la puissance des codes QR pour un partage et une récupération efficaces des données.
Iron Barcode est gratuit pour un usage personnel. Cependant, à des fins commerciales, vous devez acheter sa licence commerciale, qui comprend un essai gratuit. Vous pouvez également obtenir une réduction significative si vous obtenez la Iron Suite complète. Iron Suite est une collection complète de composants logiciels .NET conçus pour simplifier les tâches de développement et améliorer la fonctionnalité. Elle propose cinq bibliothèques puissantes, y compris IronBarcode, IronOCR, IronPDF, IronXL, et IronWebScraper qui permettent aux développeurs de travailler avec les codes-barres, la reconnaissance optique de caractères, le traitement des PDF, Excel, et les fichiers CSV de manière fluide. Vous obtiendrez les cinq produits pour le prix de deux si vous choisissez d'acheter la Iron Suite complète.
Questions Fréquemment Posées
Comment créer un code QR dans ASP.NET MVC ?
Vous pouvez créer un code QR dans ASP.NET MVC en configurant un projet dans Visual Studio, en installant la bibliothèque IronBarcode via NuGet avec la commande Install-Package IronBarCode, et en utilisant les classes d'IronBarcode pour générer un code QR dans votre contrôleur et l'afficher dans une vue.
Puis-je personnaliser l'apparence des codes QR dans mon application ?
Oui, IronBarcode vous permet de personnaliser les codes QR en ajustant la taille, la résolution, les couleurs et en ajoutant des logos ou des annotations, ce qui peut améliorer l'attrait visuel et la fonctionnalité de vos codes QR.
Comment afficher un code QR dans une vue ASP.NET MVC ?
Après avoir généré un code QR avec IronBarcode, vous pouvez l'afficher dans une vue ASP.NET MVC en stockant l'URL de l'image dans le ViewBag et en utilisant une balise HTML dans votre vue Razor pour rendre l'image du code QR.
Comment puis-je décoder des codes QR avec une application .NET ?
Vous pouvez décoder des codes QR dans une application .NET en utilisant IronBarcode, qui offre des fonctionnalités pour scanner et extraire des données de divers formats de code-barres, y compris les codes QR, ce qui en fait un outil approprié pour des applications comme la gestion des stocks et la vérification de billets.
Existe-t-il une version gratuite de la bibliothèque IronBarcode ?
IronBarcode est gratuit pour un usage personnel, permettant aux développeurs d'expérimenter et de tester ses fonctionnalités. Pour un usage commercial, une licence est requise, qui peut être achetée et est accompagnée d'un essai gratuit pour évaluation.
Quelles sont les applications des codes QR dans les projets ASP.NET MVC ?
Les codes QR dans les projets ASP.NET MVC peuvent être utilisés pour un accès rapide à des sites web, des paiements sans contact, la billetterie, la gestion des stocks, et l'intégration d'applications mobiles, améliorant l'interaction utilisateur et la diffusion d'informations.
Comment configurer un projet ASP.NET MVC pour la génération de codes QR ?
Pour configurer un projet ASP.NET MVC pour la génération de codes QR, utilisez Visual Studio pour créer une nouvelle application web ASP.NET Core avec le modèle 'Modèle-vue-contrôleur', puis installez la bibliothèque IronBarcode pour commencer à générer des codes QR dans votre application.
Quelles bibliothèques sont incluses dans l'Iron Suite ?
L'Iron Suite inclut diverses bibliothèques .NET telles que Iron Barcode, Iron OCR, Iron PDF, Iron XL, et Iron Webscraper, chacune offrant des fonctionnalités spécialisées pour des tâches telles que la génération de code-barres, la reconnaissance optique de caractères, la manipulation de PDF, le traitement Excel, et le web scraping.



