Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

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 :

  1. Ouvrez Microsoft Visual Studio 2022.
  2. Sur la page d'accueil, cliquez sur "Créer un nouveau projet" ou allez dans "Fichier" > "Nouveau" > "Projet" depuis le menu du haut.
  3. 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".
  4. Entrez un nom et un emplacement pour votre projet. Choisissez un emplacement approprié sur votre ordinateur pour enregistrer les fichiers du projet.
  5. 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.
  6. Personnalisez les paramètres de projet supplémentaires, tels que les options d'authentification ou les dossiers du projet, en fonction de vos besoins.
  7. 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.

Comment générer des codes QR dans ASP.NET MVC : Figure 1

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.

Comment générer des codes QR dans ASP.NET MVC : Figure 2

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
$vbLabelText   $csharpLabel

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 dans 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
$vbLabelText   $csharpLabel

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 pour le code QR, génère l'image du code QR, l'enregistre et fournit l'URL de l'image dans la vue pour l'affichage. Plus de détails sont les suivants :

  • Le contrôleur a un constructeur qui prend un paramètre IWebHostEnvironment pour accéder à l'environnement d'hébergement web.
  • L'action CreateQRCode renvoie une vue.
  • L'action CreateQRCode avec l'attribut [HttpPost] prend un paramètre QRCodeModel, qui contient le texte du code QR.
  • À l'intérieur de l'action, un code QR est généré en utilisant la classe QRCodeWriter de la bibliothèque Iron Barcode.
  • Le code QR généré est enregistré en tant que fichier image PNG dans un dossier appelé GeneratedQRCode dans le chemin racine du web.
  • Si le dossier GeneratedQRCode n'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.QrCodeUri pour être utilisée dans la vue.
  • Toutes les exceptions qui se produisent pendant le processus sont capturées et enregistrées.

Ajouter la vue CreateQRCode

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".

Comment générer des codes QR dans ASP.NET MVC : Figure 3

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

Comment générer des codes QR dans ASP.NET MVC : Figure 4

Écrivez le nom de la vue, sélectionnez le modèle "Créer" et sélectionnez notre nouvelle classe de modèle 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"); }
}

Maintenant, passons à la classe Program.cs et changeons la route par défaut du contrôleur.

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?}")
$vbLabelText   $csharpLabel

Ceci changera la route par défaut de HomeController à notre QrCodeController.

Maintenant, compilez et exécutez le projet.

Sortie

Comment générer des codes QR dans ASP.NET MVC : Figure 5

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.

Comment générer des codes QR dans ASP.NET MVC : Figure 6 - Code QR dans ASP.NET

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)
$vbLabelText   $csharpLabel

Maintenant, exécutez le projet et générez le code QR.

Comment générer des codes QR dans ASP.NET MVC : Figure 7 - Générer un 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. However, for commercial purposes, you need to buy its commercial license, which comes with a free trial. 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é. It offers five powerful libraries, including Iron Barcode, IronOCR, IronPDF, IronXL, and Iron Webscraper that enable developers to work with barcodes, optical character recognition, PDF processing, Excel, and CSV files seamlessly. 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 <img> 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.

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