Passer au contenu du pied de page
UTILISATION DE IRONBARCODE

Utilisation d'un SDK de lecteur de code-barres pour .NET

Le balayage de codes-barres est une fonctionnalité essentielle pour de nombreuses applications, de la gestion des stocks au commerce de détail et à la logistique. En intégrant la lecture de codes-barres dans vos applications .NET, vous pouvez rationaliser la capture de données, automatiser les flux de travail et améliorer l'efficacité.

IronBarcode est une puissante bibliothèque .NET qui simplifie le travail avec les codes-barres. Avec cet outil, vous pouvez lire des codes-barres à partir d'images, de flux et de fichiers PDF, ainsi que générer des codes QR. Cet article vous montrera comment intégrer le balayage de codes-barres dans votre application .NET, en vous concentrant sur la création d'une intégration API ou d'une application Web pour exposer la fonctionnalité de balayage de codes-barres.

Meilleurs cas d'utilisation pour l'intégration d'IronBarcode

IronBarcode est idéal pour :

  • Systèmes de gestion des stocks – Automatisez le balayage des codes-barres pour suivre les produits et les niveaux de stock.
  • Applications logistiques – Traitez les images de codes-barres scannées pour l'expédition, la réception et le suivi des colis.
  • Systèmes de point de vente au détail – Validez les balayages de codes-barres pour les transactions de vente et les recherches de prix.
  • Traitement de documents – Extrait des données de codes-barres à partir de factures PDF, de reçus ou de cartes d'identité.

Comment créer un SDK de lecteur de codes-barres dans .NET

Pour créer un lecteur de codes-barres pouvant être exposé en tant que service dans votre application, vous intégrerez IronBarcode dans une API REST ou une application Web. Voici un exemple de comment faire cela en utilisant ASP.NET Core.

  1. Installez la bibliothèque .NET pour lire les codes-barres en C#
  2. Créez une classe de balayage de codes-barres réutilisable.
  3. Développez des méthodes pour lire les codes-barres à partir de différentes sources.
  4. Intégrez la lecture d'images de codes-barres dans votre application.
  5. Testez et optimisez la performance.

Avant de commencer

Si vous ne l'avez pas déjà fait, téléchargez IronBarcode pour votre projet. Assurez-vous d'avoir la clé de licence appropriée pour votre utilisation prévue. Notez qu'exposer la fonctionnalité d'IronBarcode via une API publique ou la revendre en tant que service autonome nécessite une licence supplémentaire (SDK, OEM ou SaaS). Assurez-vous de comprendre les considérations relatives aux licences avant de continuer.

Créer une classe de scanner de codes-barres

Une fois que vous avez configuré IronBarcode et l'avez installé dans votre projet, vous pouvez créer une classe de scanner de codes-barres réutilisable qui intègre la fonctionnalité d'IronBarcode et l'expose en tant que point de terminaison API.

using IronBarCode;
using System.IO;

namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }

        // Method to read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                // Try to read the barcode from the given image path
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found
            }
            catch (Exception ex)
            {
                // Return an error message if an exception occurs
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                // Try to read the barcode from the given stream
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                // Try to read the barcode from the given PDF file path
                var barcode = BarcodeReader.ReadPdf(filePath);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
    }
}
using IronBarCode;
using System.IO;

namespace BarcodeIntegration
{
    public class BarcodeScanner
    {
        static BarcodeScanner()
        {
            // Set the license key
            IronBarCode.License.LicenseKey = "Your-License-Key";
        }

        // Method to read a barcode from an image file
        public string ReadBarcodeFromImage(string imagePath)
        {
            try
            {
                // Try to read the barcode from the given image path
                var barcode = BarcodeReader.Read(imagePath);
                return barcode?.ToString() ?? "No Barcode Found"; // Return the barcode string or indicate no barcode was found
            }
            catch (Exception ex)
            {
                // Return an error message if an exception occurs
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a stream (e.g., file upload or memory stream)
        public string ReadBarcodeFromStream(Stream inputStream)
        {
            try
            {
                // Try to read the barcode from the given stream
                var barcode = BarcodeReader.Read(inputStream);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }

        // Method to read a barcode from a PDF file
        public string ReadBarcodeFromPdf(string filePath)
        {
            try
            {
                // Try to read the barcode from the given PDF file path
                var barcode = BarcodeReader.ReadPdf(filePath);
                return barcode?.ToString() ?? "No barcode found";
            }
            catch (Exception ex)
            {
                return $"Error reading barcode: {ex.Message}";
            }
        }
    }
}
Imports IronBarCode
Imports System.IO

Namespace BarcodeIntegration
	Public Class BarcodeScanner
		Shared Sub New()
			' Set the license key
			IronBarCode.License.LicenseKey = "Your-License-Key"
		End Sub

		' Method to read a barcode from an image file
		Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
			Try
				' Try to read the barcode from the given image path
				Dim barcode = BarcodeReader.Read(imagePath)
				Return If(barcode?.ToString(), "No Barcode Found") ' Return the barcode string or indicate no barcode was found
			Catch ex As Exception
				' Return an error message if an exception occurs
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function

		' Method to read a barcode from a stream (e.g., file upload or memory stream)
		Public Function ReadBarcodeFromStream(ByVal inputStream As Stream) As String
			Try
				' Try to read the barcode from the given stream
				Dim barcode = BarcodeReader.Read(inputStream)
				Return If(barcode?.ToString(), "No barcode found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function

		' Method to read a barcode from a PDF file
		Public Function ReadBarcodeFromPdf(ByVal filePath As String) As String
			Try
				' Try to read the barcode from the given PDF file path
				Dim barcode = BarcodeReader.ReadPdf(filePath)
				Return If(barcode?.ToString(), "No barcode found")
			Catch ex As Exception
				Return $"Error reading barcode: {ex.Message}"
			End Try
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Cette classe BarcodeScanner abstrait la fonctionnalité d'IronBarcode, la rendant facile à intégrer dans toute application .NET. Voyons une répartition des différentes méthodes incluses ici :

Méthodes pour lire les codes-barres

Chacune des méthodes suivantes tente de lire un code-barres à partir de différents types d'entrée :

  • ReadBarcodeFromImage(string imagePath): Lit un code-barres à partir d'un fichier image.
  • ReadBarcodeFromStream(Stream inputStream): Lit un code-barres à partir d'un flux d'entrée (par exemple, téléchargement de fichier ou flux de mémoire).
  • ReadBarcodeFromPdf(string filePath): Lit un code-barres à partir d'un fichier PDF.

Chaque méthode tente de lire les données du code-barres et renvoie la chaîne du code-barres ou un message d'erreur si aucun code-barres n'est trouvé ou si une exception se produit.

Exposer la lecture de codes-barres via une API REST

Pour permettre à des applications externes d'utiliser votre fonctionnalité de balayage de codes-barres, vous pouvez l'exposer en tant qu'API REST en utilisant ASP.NET Core. Voici un exemple de comment vous pourriez le faire :

using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcodeIntegration;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;

    public BarcodeController()
    {
        // Initialize the BarcodeScanner class
        _barcodeScanner = new BarcodeScanner();
    }

    // POST endpoint to read barcode from an uploaded image
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result }); // Return the barcode reading result
    }
}
using Microsoft.AspNetCore.Mvc;
using System.IO;
using Microsoft.AspNetCore.Http;
using BarcodeIntegration;

[ApiController]
[Route("api/barcode")]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeScanner _barcodeScanner;

    public BarcodeController()
    {
        // Initialize the BarcodeScanner class
        _barcodeScanner = new BarcodeScanner();
    }

    // POST endpoint to read barcode from an uploaded image
    [HttpPost("read-from-image")]
    public IActionResult ReadFromImage(IFormFile file)
    {
        using var stream = file.OpenReadStream();
        var result = _barcodeScanner.ReadBarcodeFromStream(stream);
        return Ok(new { Barcode = result }); // Return the barcode reading result
    }
}
Imports Microsoft.AspNetCore.Mvc
Imports System.IO
Imports Microsoft.AspNetCore.Http
Imports BarcodeIntegration

<ApiController>
<Route("api/barcode")>
Public Class BarcodeController
	Inherits ControllerBase

	Private ReadOnly _barcodeScanner As BarcodeScanner

	Public Sub New()
		' Initialize the BarcodeScanner class
		_barcodeScanner = New BarcodeScanner()
	End Sub

	' POST endpoint to read barcode from an uploaded image
	<HttpPost("read-from-image")>
	Public Function ReadFromImage(ByVal file As IFormFile) As IActionResult
		Dim stream = file.OpenReadStream()
		Dim result = _barcodeScanner.ReadBarcodeFromStream(stream)
		Return Ok(New With {Key .Barcode = result}) ' Return the barcode reading result
	End Function
End Class
$vbLabelText   $csharpLabel

Swagger UI

Utilisation d'un SDK de lecteur de codes-barres pour .NET : figure 1

Sortie

Utilisation d'un SDK de lecteur de codes-barres pour .NET : figure 2

Cette API expose un point de terminaison POST où des images de codes-barres peuvent être téléchargées, et l'API renverra les données du code-barres. Cela permet à d'autres systèmes ou applications frontales d'interagir avec votre scanner de codes-barres en tant que service.

Fonctionnalités avancées

Pour améliorer encore le SDK, envisagez d'ajouter :

  1. Prise en charge de plusieurs types de codes-barres : IronBarcode prend en charge la lecture de plusieurs codes-barres. Vous pouvez ajouter des options pour configurer votre SDK pour accepter plusieurs codes-barres à la fois. Par exemple :

    public string ReadBarcodeFromImage(string imagePath)
    {
        try
        {
            BarcodeReaderOptions options = new BarcodeReaderOptions()
            {
                ExpectMultipleBarcodes = true,
                ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
            };
            foreach (var barcode in BarcodeReader.Read(imagePath, options))
            {
                return barcode.ToString();
            }
            return "No barcode found";
        }
        catch (Exception ex)
        {
            return $"Error reading barcode: {ex.Message}";
        }
    }
    public string ReadBarcodeFromImage(string imagePath)
    {
        try
        {
            BarcodeReaderOptions options = new BarcodeReaderOptions()
            {
                ExpectMultipleBarcodes = true,
                ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
            };
            foreach (var barcode in BarcodeReader.Read(imagePath, options))
            {
                return barcode.ToString();
            }
            return "No barcode found";
        }
        catch (Exception ex)
        {
            return $"Error reading barcode: {ex.Message}";
        }
    }
    Public Function ReadBarcodeFromImage(ByVal imagePath As String) As String
    	Try
    		Dim options As New BarcodeReaderOptions() With {
    			.ExpectMultipleBarcodes = True,
    			.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
    		}
    		For Each barcode In BarcodeReader.Read(imagePath, options)
    			Return barcode.ToString()
    		Next barcode
    		Return "No barcode found"
    	Catch ex As Exception
    		Return $"Error reading barcode: {ex.Message}"
    	End Try
    End Function
    $vbLabelText   $csharpLabel
  2. Gestion des erreurs : Élargissez la gestion des erreurs et les journaux pour fournir un meilleur diagnostic à vos utilisateurs SDK.
  3. Traitement par lots : Si vous voulez traiter plusieurs codes-barres à partir d'une collection d'images, vous pouvez créer des méthodes qui prennent une matrice d'images ou de flux.
  4. Personnalisation : Offrez des options de configuration pour les paramètres de détection des codes-barres, tels que la précision, la vitesse et les types de codes-barres pris en charge.

Considérations relatives aux licences

Comme mentionné précédemment, le SDK IronBarcode est destiné à être intégré à vos applications internes, et l'exposer via une API nécessite une licence supplémentaire. Vous devez obtenir la licence nécessaire (SDK, OEM ou SaaS) avant d'exposer IronBarcode dans le cadre d'un service, tel qu'une API publique.

Ne revendez pas IronBarcode en tant que SDK autonome ou ne l'exposez pas via une API publique sans vous assurer que votre licence couvre cet usage.

Essayez IronBarcode gratuitement dès aujourd'hui

Découvrez la puissance innovante d'IronBarcode. Essayez notre essai gratuit et découvrez la génération, la lecture et l'édition de codes-barres parfaitement intégrées pour vos applications .NET. Avec des fonctionnalités avancées, des performances exceptionnelles et une interface conviviale, IronBarcode est la solution ultime pour tous vos besoins en matière de codes-barres. Commencez votre essai gratuit aujourd'hui et élevez vos projets.

Questions Fréquemment Posées

Comment puis-je intégrer un lecteur de code-barres dans une application .NET ?

Vous pouvez intégrer un lecteur de code-barres dans une application .NET en utilisant la bibliothèque IronBarcode. Tout d'abord, installez IronBarcode, puis créez une classe pour la numérisation de code-barres et implémentez des méthodes pour lire les codes-barres à partir d'images, de flux et de PDF. Enfin, testez et optimisez votre configuration.

Comment exposer la fonctionnalité de lecture de code-barres en tant qu'API REST ?

Pour exposer la fonctionnalité de lecture de code-barres en tant qu'API REST, utilisez ASP.NET Core pour créer une application web. Incorporez la bibliothèque IronBarcode, développez une classe BarcodeScanner et définissez les points de terminaison de l'API qui lisent les codes-barres en utilisant des méthodes comme ReadBarcodeFromImage et ReadBarcodeFromStream.

Quels types de codes-barres peuvent être lus en utilisant une bibliothèque de codes-barres .NET ?

Une bibliothèque de codes-barres .NET comme IronBarcode peut lire divers types de codes-barres, y compris les codes QR, Code 128, UPC et EAN. Vous pouvez configurer la bibliothèque pour détecter simultanément plusieurs types de codes-barres en définissant des paramètres de détection.

Comment puis-je gérer les erreurs lors de la lecture de codes-barres en .NET ?

La gestion des erreurs lors de la lecture de codes-barres peut être réalisée en implémentant une gestion robuste des erreurs au sein de vos méthodes de numérisation de codes-barres en utilisant IronBarcode. Assurez-vous de capturer les exceptions et de fournir un retour d'information significatif ou des mécanismes de réessai pour améliorer la fiabilité du processus de lecture des codes-barres.

Quelles sont les exigences de licence pour utiliser une bibliothèque de codes-barres .NET dans une API publique ?

Lorsque vous utilisez IronBarcode dans une API publique, assurez-vous d'avoir une licence appropriée. Cela inclut l'obtention de licences SDK, OEM ou SaaS, car exposer la fonctionnalité de la bibliothèque en tant que service autonome ou API publique nécessite des autorisations supplémentaires.

Puis-je traiter par lots plusieurs numérisations de codes-barres en utilisant une bibliothèque .NET ?

Oui, vous pouvez traiter par lots plusieurs numérisations de codes-barres en utilisant IronBarcode. La bibliothèque vous permet de lire plusieurs codes-barres en une seule opération, ce qui peut être particulièrement utile pour traiter efficacement de grands ensembles d'images ou de documents.

Existe-t-il une version d'essai disponible pour une bibliothèque de codes-barres .NET ?

Oui, IronBarcode offre une version d'essai gratuite vous permettant d'explorer ses capacités en matière de génération, de lecture et d'édition de codes-barres dans les applications .NET. Cet essai peut vous aider à évaluer la bibliothèque avant de prendre une décision d'achat.

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