C&num ; Générateur de code QR pour .NET
Comme vous l'avez peut-être lu dans le tutoriel d'introduction sur la création d'un code-barres, la création, le style et l'exportation de codes-barres sous forme d'images avec IronBarcode sont incroyablement simples et peuvent souvent être réalisés en une seule ligne de code.
Dans cet exemple, nous examinerons plus en détail les codes QR, qui sont de plus en plus populaires dans les applications industrielles et dans le commerce de détail.
Comment lire et générer un code QR en C#
- Télécharger QR code Generator Library
- Créer un code QR en ajoutant une ligne de code
- Ajoutez votre logo à un code QR
- Vérifiez que votre code QR est lisible
- Lire et écrire des QR avec des données binaires
Installer la bibliothèque du générateur de code QR dans C&num ;
Installer avec NuGet
Install-Package BarCode
Télécharger DLL
Installation manuelle dans votre projet
Installer avec NuGet
Install-Package BarCode
Télécharger DLL
Installation manuelle dans votre projet
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Découvrez IronBarcode sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme avec C#.
Install-Package BarCode
Envisagez d'installer le IronBarcode DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}
Installation manuelle dans votre projet
Télécharger la DLLAvant de commencer, nous devons installer le programme Code à barres Paquet NuGet.
Install-Package BarCode
https://www.nuget.org/packages/BarCode/ En guise d'alternative, le IronBarcode.Dll peut être téléchargé et ajouté à votre projet en tant que référence à partir de [.NET Barcode DLL].
Importation de NameSpaces
Pour ce tutoriel, nous devons nous assurer que nos fichiers de classe font référence à IronBarcode ainsi qu'à certains assemblages normaux du système.
using IronBarCode;
using System;
using System.Drawing;
using System.Linq;
using IronBarCode;
using System;
using System.Drawing;
using System.Linq;
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.Linq
Créer un code QR avec 1 ligne de code
Notre premier exemple montre comment créer un code-barres standardisé avec un texte simple, un diamètre carré de 500 pixels, avec une correction d'erreur moyenne.
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-1.cs
using IronBarCode;
// Generate a Simple BarCode image and save as PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png");
Imports IronBarCode
' Generate a Simple BarCode image and save as PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png")
La correction d'erreur nous permet de définir la facilité avec laquelle un code QR sera lu dans des circonstances réelles. Des niveaux de correction d'erreur plus élevés créent des codes QR plus grands, avec plus de pixels et plus de complexité.
Ajout d'un logo
Dans le deuxième exemple, nous examinerons un cas d'utilisation dans lequel une entreprise souhaite ajouter un logo à son code QR, ce qui est très courant de nos jours. En utilisant la méthode QRCodeWriter.CreateQRCodeWithLogo, dans l'exemple de code ci-dessous, vous pouvez voir à quel point c'est facile.
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-2.cs
using IronBarCode;
using IronSoftware.Drawing;
// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen);
// Logo will automatically be sized appropriately and snapped to the QR grid.
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png");
Imports IronBarCode
Imports IronSoftware.Drawing
' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen)
' Logo will automatically be sized appropriately and snapped to the QR grid.
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png")
Cet exemple ajoute le logo Visual Studio au code-barres. Il le dimensionne automatiquement à une taille appropriée où le code pur est encore lisible et aligne ce logo sur la grille carrée du code QR, de manière à ce qu'il ait l'air approprié. La ligne de code suivante colore le code-barres en vert foncé. Cependant, il ne décolore pas le logo.
Enregistrer en tant qu'image PDF ou HTML
Enfin, nous enregistrons ce QR au format PDF. La dernière ligne de code ouvre le PDF dans votre navigateur PDF par défaut.
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-3.cs
using IronBarCode;
// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
// Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf");
// Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");
Imports IronBarCode
' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
' Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf")
' Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html")
Vérification des codes QR
Lorsque nous ajoutons des logos aux codes QR et que nous changeons de couleur, nous voulons nous assurer que notre code QR reste lisible.
En utilisant l'option GeneratedBarcode.Verify()
, nous pouvons tester si notre code-barres est toujours lisible.
Dans l'exemple de code suivant, nous verrons que le fait de passer un code QR en bleu clair le rend en fait illisible. Nous détectons ce problème dans le code et préférons le bleu foncé.
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-4.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;
// Verifying QR Codes
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode MyVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue);
if (!MyVerifiedQR.Verify())
{
Console.WriteLine("\t LightBlue is not dark enough to be read accurately. Lets try DarkBlue");
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");
// open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html");
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
' Verifying QR Codes
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private MyVerifiedQR As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue)
If Not MyVerifiedQR.Verify() Then
Console.WriteLine(vbTab & " LightBlue is not dark enough to be read accurately. Lets try DarkBlue")
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)
End If
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")
' open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html")
Les dernières lignes de code exportent le code QR sous la forme d'un fichier HTML autonome sans aucun actif, puis ouvrent ce fichier HTML dans votre navigateur par défaut.
Lecture et écriture de données binaires
Les codes QR sont un excellent format pour traiter les données binaires. Parfois, les données binaires sont simplement plus efficaces en termes d'espace ou plus appropriées que le texte.
Dans cet exemple, nous allons encoder des données binaires à partir d'une chaîne, les écrire dans un code-barres au format QR, puis les relire sous la forme d'un tableau de bits de données binaires. Vous noterez que cette caractéristique n'est pas commune à de nombreuses bibliothèques de codes-barres, ce qui rend IronBarcode unique en son genre.
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-5.cs
using IronBarCode;
using System;
using System.Linq;
// Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
byte[] BinaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png");
// READ QR with Binary Content
var MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
if (BinaryData.SequenceEqual(MyReturnedData.BinaryValue))
{
Console.WriteLine("\t Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Corrupted Data");
}
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports System
Imports System.Linq
' Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
Private BinaryData() As Byte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
' WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png")
' READ QR with Binary Content
Dim MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
If BinaryData.SequenceEqual(MyReturnedData.BinaryValue) Then
Console.WriteLine(vbTab & " Binary Data Read and Written Perfectly")
Else
Throw New Exception("Corrupted Data")
End If
En résumé, le Bibliothèque C# pour les codes-barres est spécialement conçu pour l'utilisation des codes QR dans le monde réel. Non seulement il lit les codes QR rapidement et avec précision, mais il nous permet de les styliser, d'ajouter des logos, de vérifier les codes-barres et de les encoder avec des données binaires.
Lire les codes QR
Pour vous éviter de sauter d'un tutoriel à l'autre, j'ajouterai un exemple de code pour ma méthode préférée de lecture des codes QR en utilisant IronBarcode.
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-6.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { ExpectBarcodeTypes = BarcodeEncoding.QRCode });
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
Il existe également un formulaire plus avancé qui permet au développeur d'exercer un plus grand contrôle :
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-7.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = false,
ExpectBarcodeTypes = BarcodeEncoding.All,
Multithreaded = false,
MaxParallelThreads = 0,
CropArea = null,
UseCode39ExtendedMode = false,
RemoveFalsePositive = false,
ImageFilters = null
};
BarcodeResults result = BarcodeReader.Read("QR.png", options);
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False,
.ExpectBarcodeTypes = BarcodeEncoding.All,
.Multithreaded = False,
.MaxParallelThreads = 0,
.CropArea = Nothing,
.UseCode39ExtendedMode = False,
.RemoveFalsePositive = False,
.ImageFilters = Nothing
}
Private result As BarcodeResults = BarcodeReader.Read("QR.png", options)
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
Aller de l'avant
Pour en savoir plus sur cet exemple et sur le travail avec Codes QR en C#nous vous encourageons à le forker sur notre page GitHub ou à télécharger le code source depuis notre site.
Téléchargement du code source
Téléchargez ce tutoriel et cette DLL de génération de code QR.
Documentation complémentaire
Vous pouvez également trouver le QRCodeWriter et BarcodeReader dans la référence API qui nous intéresse.
Ils documentent l'ensemble des fonctionnalités d'IronBarcode, un système d'information sur la santé VB.NET Barcode Generator (Générateur de codes-barres)qui ne peuvent pas être regroupés dans un seul tutoriel.