IRONSOFTWAREHOME

Lecteur de code-barres ASP.NET Core

Curtis Chau
Curtis Chau
Updated: 2 mars 2026

Introduction

ASP.NET Core est un framework multiplateforme pour créer des applications web modernes. Son modèle Razor Pages propose une approche basée sur les pages pour gérer les requêtes HTTP, ce qui le rend bien adapté au traitement des codes-barres côté serveur. Avec IronBarcode, les images téléchargées peuvent être reçues comme objets IFormFile, converties en tableaux d'octets et passées directement au lecteur de codes-barres sans écrire de fichiers temporaires sur le disque.

Cet article explique comment intégrer IronBarcode dans une application ASP.NET Core Razor Pages pour scanner des codes-barres et des QR codes à partir d'images téléchargées, ainsi que pour générer des codes-barres depuis le serveur.

IronBarcode : Bibliothèque de codes-barres C#

IronBarcode offre une API robuste pour lire et écrire des codes-barres dans les applications .NET. La bibliothèque gère le traitement des images en interne, donc les développeurs peuvent passer des octets bruts, des chemins de fichiers, ou des flux directement à la méthode BarcodeReader.Read sans avoir besoin de bibliothèques de traitement d'images séparées. Elle prend en charge une large gamme de formats de code-barres, y compris le QR Code, le Code 128, le Code 39, le PDF417, l'EAN, et bien d'autres.

Pour les applications web, IronBarcode est particulièrement utile car il traite les images entièrement en mémoire. Les fichiers téléchargés n'ont jamais besoin d'être enregistrés sur le disque, ce qui simplifie le déploiement et réduit les charges de nettoyage. La même bibliothèque génère également des codes-barres avec BarcodeWriter.CreateBarcode, ce qui en fait une seule dépendance pour la lecture et l'écriture.

Étapes pour construire un lecteur de code-barres dans ASP.NET Core

Suivez ces étapes pour créer un lecteur de code-barres basé sur le web en utilisant ASP.NET Core Razor Pages et IronBarcode.

Prérequis

  1. Visual Studio 2022 ou plus récent (ou tout IDE avec support .NET)
  2. SDK .NET 6.0 ou plus récent

Créer le projet

Créez un nouveau projet ASP.NET Core Web App (Razor Pages). Cela peut être fait via l'assistant de projet de Visual Studio ou depuis la ligne de commande :

dotnet new webapp -n BarcodeWebApp
SHELL

Installer la bibliothèque IronBarcode

Installez la bibliothèque IronBarcode en utilisant la console du Package Manager NuGet. Naviguez vers Tools > NuGet Package Manager > Package Manager Console dans Visual Studio et exécutez :

PM > Install-Package BarCode

Alternativement, installez-le depuis la ligne de commande avec dotnet add package BarCode. La dernière version est disponible sur le site de NuGet.

Frontend

Le frontend se compose d'un formulaire de téléchargement de fichiers et d'une zone d'affichage des résultats. Le formulaire utilise enctype="multipart/form-data" pour gérer les téléchargements de fichiers binaires. Lorsqu'un code-barres est détecté, le résultat apparaît dans une alerte de succès sous l'image téléchargée.

Remplacez le contenu du fichier Index.cshtml par ce qui suit :

@page
@model IndexModel
@{
    ViewData["Title"] = "Barcode Scanner";
}

<div class="container mt-4">
    <h1 class="mb-4">Barcode Scanner</h1>

    <div class="card mb-4">
        <div class="card-header"><h5>Upload & Read Barcode</h5></div>
        <div class="card-body">
            <form method="post" asp-page-handler="Upload" enctype="multipart/form-data">
                <div class="mb-3">
                    <label for="file" class="form-label">Select a barcode image:</label>
                    <input type="file" class="form-control" id="file"
                           name="UploadedFile" accept="image/*" />
                </div>
                <button type="submit" class="btn btn-primary">Scan Barcode</button>
            </form>

            @if (Model.ImageDataUrl != null)
            {
                <div class="mt-3">
                    <h6>Uploaded Image:</h6>
                    <img src="@Model.ImageDataUrl" alt="Uploaded barcode"
                         style="max-width: 300px;" class="img-thumbnail" />
                </div>
            }

            @if (Model.BarcodeResult != null)
            {
                <div class="alert alert-success mt-3">
                    <strong>Barcode Value:</strong> @Model.BarcodeResult
                </div>
            }

            @if (Model.ErrorMessage != null)
            {
                <div class="alert alert-warning mt-3">@Model.ErrorMessage</div>
            }
        </div>
    </div>
</div>
HTML

La disposition utilise les classes Bootstrap déjà incluses dans le modèle ASP.NET Core par défaut. Le formulaire soumet au gestionnaire de page Upload, et les blocs conditionnels affichent l'aperçu de l'image téléchargée, le résultat décodé, ou un message d'erreur.

Exemples de codes-barres d'entrée

Les exemples de codes-barres suivants peuvent être utilisés pour tester le scanner. Chaque image encode un format et une valeur différents :

Scanner de code-barres ASP.NET Core - Exemple de QR code en entrée encodant une URL

QR Code encodant "https://ironsoftware.com"

ASP.NET Core Barcode Scanner - Sample Code 128 barcode input

Encodage de code-barres Code 128 "IronBarcode-2026"

ASP.NET Core Barcode Scanner - Sample Code 39 barcode input

Code 39 code-barres encodant "HELLO123"

Scanner des codes-barres avec IronBarcode

La logique côté serveur gère le fichier téléchargé dans la méthode OnPostUploadAsync. Le IFormFile téléchargé est lu dans un tableau d'octets, qui est passé directement à BarcodeReader.Read. Cela évite de sauvegarder des fichiers temporaires et garde le traitement entièrement en mémoire.

Remplacez le contenu dans Index.cshtml.cs par :

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronBarCode;

public class IndexModel : PageModel
{
    [BindProperty]
    public IFormFile? UploadedFile { get; set; }

    public string? BarcodeResult { get; set; }
    public string? ErrorMessage { get; set; }
    public string? ImageDataUrl { get; set; }

    public void OnGet()
    {
    }

    public async Task<IActionResult> OnPostUploadAsync()
    {
        if (UploadedFile == null || UploadedFile.Length == 0)
        {
            ErrorMessage = "Please select an image file.";
            return Page();
        }

        try
        {
            using var ms = new MemoryStream();
            await UploadedFile.CopyToAsync(ms);
            byte[] imageBytes = ms.ToArray();

            // Store image as base64 for preview display
            string base64 = Convert.ToBase64String(imageBytes);
            ImageDataUrl = $"data:{UploadedFile.ContentType};base64,{base64}";

            // Read barcode from uploaded image bytes
            var results = BarcodeReader.Read(imageBytes);

            if (results != null && results.Count() > 0)
            {
                BarcodeResult = string.Join("\n",
                    results.Select(r => r.Value));
            }
            else
            {
                ErrorMessage = "No barcode detected in the uploaded image.";
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = $"Error processing image: {ex.Message}";
        }

        return Page();
    }
}

Les étapes clés dans le code ci-dessus :

  1. Recevoir le téléchargement - Le IFormFile est lié via [BindProperty] et reçu dans le gestionnaire POST.
  2. Convertir en octets - Le fichier est copié vers un MemoryStream et converti en tableau d'octets. C'est la même approche utilisée dans l'exemple du scanner web, adaptée pour IFormFile d'ASP.NET Core au lieu des chaînes base64.
  3. Lire le code-barres - BarcodeReader.Read(imageBytes) traite l'image et renvoie tous les codes-barres détectés.
  4. Afficher le résultat - Toutes les valeurs de code-barres détectées sont jointes et affichées dans l'interface utilisateur.

Le GIF suivant démontre le lecteur de code-barres en action, téléchargeant une image de code-barres et affichant le résultat décodé :

Scanner de code-barres ASP.NET Core - Démonstration du téléversement et de la lecture d'un code-barres

Lecteur de codes-barres scannant une image téléchargée dans l'application ASP.NET Core

Traitement des données d'images Base64

Pour les applications qui reçoivent des données d'image sous forme de chaînes base64 (par exemple, depuis les captures de webcam ou le canvas JavaScript), la même méthode BarcodeReader.Read fonctionne avec des tableaux d'octets décodés depuis base64. Ce modèle est courant dans les applications monopage qui envoient les données d'image via AJAX :

public string ReadBarCode(string imageDataBase64)
{
    // Decode the base64 image data
    var splitObject = imageDataBase64.Split(',');
    byte[] imageByteData = Convert.FromBase64String(
        (splitObject.Length > 1) ? splitObject[1] : splitObject[0]);

    // Read barcode directly from byte array
    var results = BarcodeReader.Read(imageByteData);

    return $"{DateTime.Now}: Barcode is ({results.First().Value})";
}

Cette approche gère à la fois le base64 brut et les formats de données URI (par exemple, data:image/png;base64,...) en scindant sur la virgule et en prenant la charge utile base64 réelle. Pour une implémentation complète avec Blazor utilisant ce modèle, consultez le guide d'intégration Blazor.

Générer des codes-barres sur le serveur

IronBarcode peut également générer des codes-barres côté serveur. Ajouter un point de terminaison de génération à la même application est simple avec BarcodeWriter.CreateBarcode :

public IActionResult OnPostGenerate()
{
    var barcode = BarcodeWriter.CreateBarcode(
        "https://ironsoftware.com", BarcodeEncoding.QRCode);
    byte[] barcodeBytes = barcode.ToPngBinaryData();

    return File(barcodeBytes, "image/png", "generated-barcode.png");
}

Le code-barres généré est renvoyé sous forme de téléchargement de fichier. L'image suivante montre la sortie du code QR produite par le gestionnaire OnPostGenerate :

Scanner de code-barres ASP.NET Core - QR code généré par le serveur en sortie

QR code généré côté serveur avec BarcodeWriter.CreateBarcode

Pour plus d'options de génération de codes-barres, consultez le tutoriel de génération d'images de codes-barres et le guide de style de codes-barres.

Exécution de l'application

Exécutez le projet à partir de Visual Studio ou de la ligne de commande :

dotnet run
SHELL

L'application démarre sur le port spécifié dans launchSettings.json (généralement https://localhost:5001 ou similaire). Naviguez vers la page d'accueil pour voir l'interface du scanner de codes-barres.

Conclusion

Cet article a démontré comment construire un lecteur de code-barres côté serveur en utilisant ASP.NET Core Razor Pages et IronBarcode. La même approche fonctionne avec les contrôleurs MVC ASP.NET Core, les points d'extrémité de l'API Web et les applications Blazor Server en adaptant la façon dont les données d'image sont reçues. IronBarcode gère le traitement des images en interne, donc l'intégration nécessite un minimum de code quel que soit le framework web.

Pour lire des codes-barres sur d'autres plateformes .NET, consultez le tutoriel de scanner de codes-barres .NET MAUI et les guides de lecture de codes-barres. Obtenez plus de tutoriels sur IronBarcode à partir du tutoriel de lecture de codes-barres.

Pour commencer rapidement, téléchargez le projet complet BarcodeWebApp et exécutez-le avec dotnet run.

IronBarcode doit être licencié pour le développement et l'utilisation commerciale. Les détails sur les licences sont disponibles ici.

Questions Fréquemment Posées

Comment puis-je implémenter un scanner de codes-barres dans ASP.NET Core en utilisant Razor Pages ?

Vous pouvez utiliser IronBarcode dans votre projet ASP.NET Core Razor Pages pour implémenter un scanner de codes-barres. La bibliothèque vous permet de lire divers formats de codes-barres, tels que des QR Codes, des Code 128 et des Code 39, en téléversant des images et en les traitant avec BarcodeReader.Read.

Quels types de codes-barres peuvent être lus avec IronBarcode ?

IronBarcode prend en charge la lecture de plusieurs formats de codes-barres, y compris les QR Codes, les Code 128 et les Code 39, ce qui le rend polyvalent pour diverses applications.

Comment puis-je téléverser des images pour la lecture de codes-barres dans un projet ASP.NET Core ?

Dans un projet ASP.NET Core, vous pouvez téléverser des images en utilisant IFormFile. IronBarcode traite ces images pour lire les codes-barres qu'elles contiennent.

IronBarcode peut-il générer des codes-barres côté serveur dans ASP.NET Core ?

Oui, IronBarcode peut générer des codes-barres côté serveur dans ASP.NET Core en utilisant la méthode BarcodeWriter.CreateBarcode, vous permettant de créer et afficher dynamiquement des codes-barres.

À quoi sert la méthode BarcodeReader.Read ?

La méthode BarcodeReader.Read dans IronBarcode est utilisée pour décoder les codes-barres à partir d'images, ce qui en fait une partie essentielle de l'implémentation d'un scanner de codes-barres dans ASP.NET Core.

Est-il possible de scanner à la fois des QR Codes et des codes-barres en utilisant la même bibliothèque dans ASP.NET Core ?

Oui, IronBarcode vous permet de scanner à la fois des QR Codes et divers autres formats de codes-barres dans la même application ASP.NET Core, offrant une solution unifiée.

Quels sont les avantages d'utiliser IronBarcode pour la lecture de codes-barres en C# ?

IronBarcode offre une intégration facile, une prise en charge de plusieurs formats de codes-barres, et des capacités robustes de génération de codes-barres côté serveur, ce qui en fait un choix efficace pour la lecture de codes-barres dans des applications C#.

What method does IronBarcode provide to read barcodes from byte arrays?

IronBarcode provides the BarcodeReader.Read method to process images and read barcodes directly from byte arrays.

Curtis Chau
Rédacteur technique

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.

...
Lire la suite

Prêt à commencer?

Nuget Downloads 2,422,100Version :2026.9vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez "IronBarcode"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

  1. Téléchargez et décompressez IronBarCode à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans Visual Studio Solution Explorer, faites un clic droit sur Références. Sélectionnez Parcourir, "IronBarcode.dll"

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise