Codes-barres et QR dans les applications C# et VB.NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

La lecture et l'écriture de codes-barres en C# et dans tous les autres langages .NET est un processus facile avec notre bibliothèque logicielle IronBarcode.

Installer IronBarcode

La première étape du processus consiste à installer IronBarcode, ce qui peut être fait en téléchargeant depuis NuGet ou en téléchargement de la DLL.

Pour installer le package NuGet IronBarcode, vous pouvez utiliser le gestionnaire de packages NuGet pour Visual Studio :

Install-Package BarCode

Vous pouvez également installer avec le CLI dotnet :

dotnet add package BarCode

Vous pouvez trouver plus d'informations sur le package NuGet sur le Site web de NuGet.

Lecture d'un code-barres ou d'un code QR

La lecture d'un code-barres ne nécessite qu'une seule ligne de code avec IronBarcode.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-1.cs
using IronBarCode;

BarcodeResults results = BarcodeReader.Read("QuickStart.jpg");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine(result.Text);
    }
}
Imports IronBarCode

Private results As BarcodeResults = BarcodeReader.Read("QuickStart.jpg")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine(result.Text)
	Next result
End If
VB   C#

Avec cette simple ligne de code, vous avez la capacité de détecter et scanner tous types de codes-barres à partir du document d'entrée avec des performances exceptionnelles—tout ce dont vous avez besoin en une étape.!Cette méthode prend en charge une large gamme de formats d'image, y compris les images telles que JPEG, PNG et BMP, ainsi que les PDF et les formats multi-cadres tels que GIF et TIFF. Pour ceux qui ont besoin de plus de vitesse, d'une utilisation optimisée de la mémoire ou d'une précision de lecture améliorée, des options de configuration personnalisables sont disponibles pour affiner les performances selon vos besoins spécifiques.

D'une part, pour améliorer la vitesse de lecture, vous pourriez ajouter un objet BarcodeReaderOptions avec le paramètre Speed défini. Par défaut, il est réglé sur Balanced, mais il existe également une option Faster qui saute certaines vérifications de lecture de code-barres, telles que la vérification des couleurs inversées ou la rotation du code-barres.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-2.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    Speed = ReadingSpeed.Faster
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
Imports IronBarCode

Private myOptionsExample As New BarcodeReaderOptions() With {.Speed = ReadingSpeed.Faster}

Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Text)
End If
VB   C#

Vous pouvez également définir le ScanMode sur OnlyBasicScan pour éviter que notre algorithme de détection de codes-barres n'analyse le document.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-3.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    ScanMode = BarcodeScanMode.OnlyBasicScan
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
Imports IronBarCode

Private myOptionsExample As New BarcodeReaderOptions() With {.ScanMode = BarcodeScanMode.OnlyBasicScan}

Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Text)
End If
VB   C#

D'autres configurations à essayer consistent à spécifier les formats de code-barres à scanner, afin qu'IronBarcode n'ait pas à scanner tous les types de codes-barres, et à recadrer des régions spécifiques de l'image, de sorte qu'IronBarcode ait moins de données d'image à traiter. Il existe également une option pour prévoir plusieurs codes-barres, permettant à IronBarcode d'ignorer certains processus de détection et de décodage de plusieurs codes-barres si un seul est attendu.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-4.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    CropArea = new System.Drawing.Rectangle(100, 200, 300, 400),
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
Imports IronBarCode

Private myOptionsExample As New BarcodeReaderOptions() With {
	.ExpectMultipleBarcodes = False,
	.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128,
	.CropArea = New System.Drawing.Rectangle(100, 200, 300, 400)
}

Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Text)
End If
VB   C#

Écriture de codes-barres

Pour écrire des codes-barres avec IronBarcode, nous utilisons la classe BarcodeWriter. Avec BarcodeWriter, écrire des codes-barres est aussi simple qu’une seule ligne de code : il suffit d’entrer les données d’entrée et le format du code-barres, et c’est tout.! Vous pouvez ensuite enregistrer les données de l'image du code-barres en mémoire ou sous forme de fichier.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-5.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
myBarcode.SaveAsImage("myBarcode.png");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128)
myBarcode.SaveAsImage("myBarcode.png")
VB   C#

Styliser les codes-barres

IronBarcode offre plusieurs options pour manipuler la représentation visuelle d'un code-barres. Les fonctionnalités prises en charge pour le style des codes-barres incluent le redimensionnement, la définition des marges dans l'image de sortie, la modification des couleurs de premier plan et d'arrière-plan, ainsi que l'ajout d'annotations.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-7.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
myBarcode.AddAnnotationTextAboveBarcode("Product URL:");
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(100);
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple);

// All major image formats supported as well as PDF and HTML
myBarcode.SaveAsPng("myBarcode.png");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128)
myBarcode.AddAnnotationTextAboveBarcode("Product URL:")
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.SetMargins(100)
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple)

' All major image formats supported as well as PDF and HTML
myBarcode.SaveAsPng("myBarcode.png")
VB   C#

Exportation de codes-barres en HTML

Il existe également la fonctionnalité pratique d'exporter du HTML à partir d'un code-barres généré. Il peut exporter un code-barres en tant que document HTML autonome sans ressources externes, en tant que balise HTML autonome ou en tant qu'URI de données.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-8.cs
using IronBarcode;

myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
myBarcode.SaveAsHtmlFile("myBarcode.html");
Imports IronBarcode

myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
myBarcode.SaveAsHtmlFile("myBarcode.html")
VB   C#

Générer des codes QR

Lors de la génération de codes QR avec IronBarcode, nous pouvons choisir d'utiliser la classe QRCodeWriter à la place. Cette classe offre des configurations de personnalisation supplémentaires exclusives aux codes QR, telles que la définition du niveau de correction d'erreur et l'ajout d'une image au centre du QR.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-9.cs
using IronBarCode;
using IronSoftware.Drawing;

QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo)
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf")
VB   C#

Formats de codes-barres pris en charge

IronBarcode prend en charge une large variété de formats de codes-barres couramment utilisés pour la lecture et l'écriture :

  • QR, Micro QR, et Micro QR Rectangulaire(rMQR)** codes.
  • Autres codes-barres bidimensionnels tels que Aztec, Data Matrix, MaxiCode, et PDF417.
  • Codes-barres linéaires empilés tels que Databar.
  • Les formats de codes-barres unidimensionnels conventionnels tels que UPC-A, UPC-E, EAN-8, EAN-13, Codabar, ITF, MSI et Plessey.

Pourquoi choisir IronBarcode ?

IronBarcode offre une API conviviale et facile à utiliser pour les développeurs afin de lire et écrire des codes-barres pour .NET, optimisée pour l'exactitude, la précision et la rapidité dans des cas d'utilisation réels.

La classe BarcodeWriter, par exemple, validera et corrigera automatiquement les 'somme de contrôle' sur les codes-barres UPCA et UPCE. Il met également à zéro les numéros qui sont trop courts pour un format numérique spécifique. Si vos données ne sont pas adaptées au format de données spécifié, IronBarcode indiquera au développeur un format de code-barres plus approprié qu'il pourrait utiliser.

IronBarcode excelle à la fois dans les domaines de la lecture des codes-barres à partir de documents et de la lecture des codes-barres à partir d'images prises dans le monde réel. La bibliothèque comprend un certain nombre de techniques de prétraitement d'image pour maximiser la probabilité de lecture des codes-barres, telles que la rotation automatique et la réduction du bruit de l'image.

Aller de l'avant

Pour tirer le meilleur parti d'IronBarcode, nous vous encourageons à lire les tutoriels dans cette section de documentation et à nous rendre visite surGitHub.