
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 :
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; }
}Imports System.ComponentModel.DataAnnotations
Public Class QRCodeModel
<Display(Name := "Enter QR Code Text")>
Public Property QRCodeText() As String
End ClassCré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();
}
}Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System.IO
Public Class QrCodeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateQRCode() As IActionResult
Return View()
End Function
<HttpPost>
Public Function CreateQRCode(generateQRCode As QRCodeModel) As IActionResult
Try
' Creating QR Code
Dim barcode As GeneratedBarcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText)
Dim path As String = Path.Combine(_environment.WebRootPath, "GeneratedQRCode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Dim filePath As String = Path.Combine(path, "qrcode.png")
barcode.SaveAsPng(filePath)
Dim fileName As String = 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 ClassCe 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?}")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)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.

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


