Écrire des codes QR en C

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

Introduction

Avec IronQR, les développeurs peuvent créer des codes QR pour les formats d'image populaires et les personnaliser avec des couleurs de fond, des marges, des logos, et même les ajouter à des PDF. Pour une utilisation avancée, il offre également un contrôle sur la correction des erreurs et les versions.

Cet article explorera les principales fonctionnalités d'IronQR à l'aide d'exemples, vous aidant ainsi à comprendre comment l'utiliser pour écrire des codes QR en C# et l'appliquer efficacement dans vos projets.

Table des matières

Commencez à utiliser IronQR dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Données d'entrée

Texte, URL, nombres

IronQR peut convertir une large gamme de types de données, notamment du texte, des URL et des nombres, en codes QR. Que vous créiez des liens ou du texte sous forme de code QR pour le marketing et la communication, des codes numériques pour la gestion des stocks, ou que vous encodiez des données ou des flux binaires en codes QR lisibles, IronQR vous fournit tout le support dont vous avez besoin.

De plus, l'API est simple d'utilisation. La classe QrWriter offre plusieurs surcharges, permettant différents types de données en entrée, réduisant ainsi la complexité et rationalisant le processus.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-1.cs
using IronQr;
using IronSoftware.Drawing;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/qr/";
string alphanumeric = "WATERSKU-12356";

// Create QR code
QrCode textQr = QrWriter.Write(text);
// Save QR code as a bitmap
AnyBitmap textQrImage = textQr.Save();
// Save QR code as file
textQrImage.SaveAs("textQr.png");

QrCode urlQr = QrWriter.Write(url);
AnyBitmap urlQrImage = urlQr.Save();
urlQrImage.SaveAs("urlQr.png");

QrCode alphanumericQr = QrWriter.Write(alphanumeric);
AnyBitmap alphanumericQrImage = alphanumericQr.Save();
alphanumericQrImage.SaveAs("alphanumericQr.png");
Imports IronQr
Imports IronSoftware.Drawing

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/qr/"
Private alphanumeric As String = "WATERSKU-12356"

' Create QR code
Private textQr As QrCode = QrWriter.Write(text)
' Save QR code as a bitmap
Private textQrImage As AnyBitmap = textQr.Save()
' Save QR code as file
textQrImage.SaveAs("textQr.png")

Dim urlQr As QrCode = QrWriter.Write(url)
Dim urlQrImage As AnyBitmap = urlQr.Save()
urlQrImage.SaveAs("urlQr.png")

Dim alphanumericQr As QrCode = QrWriter.Write(alphanumeric)
Dim alphanumericQrImage As AnyBitmap = alphanumericQr.Save()
alphanumericQrImage.SaveAs("alphanumericQr.png")
$vbLabelText   $csharpLabel

Binaire et flux

De même, nous pouvons convertir des données binaires et des flux en codes QR en utilisant la même méthode Write que celle mentionnée précédemment.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-2.cs
using IronQr;
using IronSoftware.Drawing;
using System.Text;

byte[] bytes = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/");

// Create QR code
QrCode bytesQr = QrWriter.Write(bytes);

// Save QR code as a bitmap
AnyBitmap qrImage = bytesQr.Save();

// Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Text

Private bytes() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/")

' Create QR code
Private bytesQr As QrCode = QrWriter.Write(bytes)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = bytesQr.Save()

' Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png")
$vbLabelText   $csharpLabel

Programme de classe { statique void Main() { // Créer une instance de générateur de code QR QrWriter writer = QrWriter.CreateQrCode();

    // Exemple de données binaires
    byte[] données = { 0x01, 0x02, 0x03, 0x04 };

    // Écrire des données binaires dans un code QR
    écrivain.Écrire(données)
          .EnregistrerSous("binaire-qr.png");

    // Exemple utilisant un flux de mémoire
    en utilisant (MemoryStream stream = new MemoryStream(data))
    {
        écrivain.Écrire(flux)
              .EnregistrerSous("stream-qr.png");
    }
}

}


La méthode `Write` possède des surcharges qui acceptent à la fois des tableaux d'octets et des flux comme entrées. Pour les flux, nous pouvons créer un `MemoryStream` à partir du tableau d'octets, puis le convertir en code QR. Ceci est utile lorsque les utilisateurs ont besoin d'un contrôle plus précis sur les blocs de données, car les flux peuvent être plus efficaces en termes de mémoire.

```cs
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-3.cs

Exporter les codes QR

IronQR est flexible et adaptable à divers cas d'utilisation nécessitant différents formats de fichiers. Vous pouvez enregistrer les codes QR dans plusieurs formats tels que JPG, PNG, GIF et TIFF en utilisant la méthode SaveAs .

Enregistrer comme Image

La méthode SaveAs d' AnyBitmap détecte automatiquement le format du fichier en fonction du chemin d'accès fourni. Dans cet exemple, j'ai spécifié un chemin de fichier se terminant par .png .

Veuillez noterLorsque vous utilisez la méthode SaveAs , veuillez noter qu'il n'existe pas de format d'image par défaut. Si vous saisissez une extension non reconnue ou si vous faites une faute de frappe dans le chemin d'accès au fichier, l'image sera enregistrée avec l'extension incorrecte.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-4.cs
using IronQr;
using IronSoftware.Drawing;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qr.png");
Imports IronQr
Imports IronSoftware.Drawing

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qr.png")
$vbLabelText   $csharpLabel

Système.Dessin.Images

La conversion d'images en objet System.Drawing.Images de Microsoft vous permet d'utiliser la classe Bitmap pour enregistrer le code QR dans un fichier. Dans cet exemple, la méthode Save enregistre le code QR sous forme de fichier PNG dans le chemin qrBitmap.png .

Veuillez noter System.Drawing.Common est uniquement pris en charge sur la plateforme Windows.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-5.cs
using IronQr;
using System.Drawing;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

// Save QR code as a bitmap
Bitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.Save("qrBitmap.png");
Imports IronQr
Imports System.Drawing

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

' Save QR code as a bitmap
Private qrImage As Bitmap = qr.Save()

' Save QR code bitmap as file
qrImage.Save("qrBitmap.png")
$vbLabelText   $csharpLabel

Iron Software.Dessin

En raison du manque de compatibilité multiplateforme de System.Drawing.Common , les développeurs peuvent rencontrer des problèmes lors de la maintenance d'applications multiplateformes. IronQR peut utiliser à la fois System.Drawing.Common et Iron Software.Drawing .

IronQR utilise la classe AnyBitmap d' Iron Software.Drawing , une classe Bitmap universellement compatible qui effectue une conversion implicite vers le type suivant :

  • System.Drawing.Bitmap
  • System.Drawing.Image
  • SkiaSharp.SKBitmap
  • SixLabors.ImageSharp
  • Microsoft.Maui.Graphics.Platform.PlatformImage

Grâce à cette puissante bibliothèque open source, IronQR assure une prise en charge multiplateforme et une compatibilité avec .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard et .NET Framework 4.6.2+. Pour en savoir plus sur la bibliothèque, veuillez consulter le site web d'IronSoftware.Drawing .

Tampon sur PDF

IronQR permet aux développeurs d'intégrer des codes QR aux documents PDF existants, facilitant ainsi l'accès rapide à des liens ou à des ressources supplémentaires. L'impression de codes QR sur une seule page ou sur plusieurs pages est prise en charge.

Timbre sur une seule page

Après avoir créé le code QR, appelez la méthode StampToExistingPdfPage à partir de l'objet QrCode . Cette méthode nécessite le chemin d'accès au fichier, les coordonnées (x et y), le numéro de page et un mot de passe facultatif si le PDF est protégé par un mot de passe. Une fois les arguments fournis, la méthode imprime le code QR et enregistre le PDF.

Veuillez noterCette méthode est basée sur les pages PDF, la numérotation des pages commençant à 1 au lieu de 0.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-6.cs
using IronQr;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

string filepath = "example.pdf";
int x = 100;
int y = 150;
int page = 1;

// Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page);
Imports IronQr

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private page As Integer = 1

' Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page)
$vbLabelText   $csharpLabel

Tampon pour plusieurs pages

Comme dans l'exemple ci-dessus, la principale différence est que la méthode StampToExistingPdfPages prend une liste de numéros de page au lieu d'un seul.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-7.cs
using IronQr;
using System.Collections.Generic;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

string filepath = "example.pdf";
int x = 100;
int y = 150;
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
pages.Add(4);

// Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages);
Imports IronQr
Imports System.Collections.Generic

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
pages.Add(4)

' Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages)
$vbLabelText   $csharpLabel

Résultat des deux exemples

alt text


Options de code QR

IronQR offre de nombreuses options de personnalisation pour optimiser le comportement et les fonctionnalités des codes QR. La classe QrOptions fournit plusieurs paramètres, tels que le contrôle de version, le type d'encodage, l'encodage des caractères et les niveaux de correction d'erreurs. Examinons ces options plus en détail.

Codage

IronQR prend en charge plusieurs types de codes QR, aussi bien pour la création que pour la lecture. Voici les types pris en charge :

  • QRCode : Il s'agit du code QR standard, couramment utilisé aujourd'hui. Il peut stocker jusqu'à 7 089 caractères numériques ou 4 296 caractères alphanumériques.
  • MicroQRCode : Version plus petite du code QR standard, il peut stocker jusqu'à 35 caractères numériques ou 21 caractères alphanumériques.
  • RMQRCode : Le micro QR Code rectangulaire est une version compacte du QR Code, offrant une grande flexibilité au niveau de son format.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-8.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change encoding to micro QR code
    Encoding = IronQr.Enum.QrEncoding.MicroQRCode,
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.Encoding = IronQr.Enum.QrEncoding.MicroQRCode}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

Correction d'erreurs

IronQR utilise une correction d'erreurs QR standard pour garantir que tous les codes QR produits sont tolérants aux pannes et fiables, même dans des conditions difficiles. De plus, IronQR vous permet un contrôle total sur le niveau de correction d'erreur pour un réglage encore plus précis.

Quatre niveaux de correction d'erreurs sont disponibles, fournis par QrErrorCorrectionLevel :

  • Highest : correction d'erreur de 30 %
  • High : correction d'erreur de 25 %
  • Medium : correction d'erreur de 15 %
  • Low : correction d'erreur de 7 %
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-9.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change error correction level to medium
    ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium,
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

Un niveau de correction d'erreur plus élevé offre une plus grande tolérance aux pannes lors de la lecture du code QR, ce qui augmente la probabilité qu'il soit scanné à des résolutions inférieures par rapport à un code avec un faible niveau de correction d'erreur. Vous pouvez effectuer des tests en fonction de vos cas d'utilisation.

alt text

Version avec code QR

Vous pouvez adapter la version du code QR pour stocker davantage de données. Les versions supérieures sont idéales pour la gestion des stocks ou la logistique, tandis que les versions inférieures conviennent parfaitement aux données plus petites, comme les URL courtes. Il suffit de modifier la propriété Version dans l'objet QrOptions et de la transmettre à la méthode Write pour générer le code QR nécessaire.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-10.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change QR code version to 40
    Version = 40,
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.Version = 40}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

alt text

Comme vous pouvez le constater sur le résultat, la version 40 du code QR est beaucoup plus complexe et dense que la version 5.

Les versions inférieures nécessitent une numérisation plus précise et peuvent être difficiles à numériser sans scanners à haute résolution. Cependant, les versions supérieures sont plus faciles à numériser, même avec des appareils photo à plus faible résolution. Pour un guide plus détaillé sur le choix de la version QR en fonction de la capacité, veuillez consulter la liste des versions QR .

Encodage de caractères

Cette option détermine le mode d'encodage du code QR. Dans notre exemple, nous l'avons changé en " UTF-32 ", alors que l'encodage de caractères par défaut est " ISO-8859-1 ".

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-11.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change character encoding to UTF-32
    CharacterEncoding = "UTF-32"
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.CharacterEncoding = "UTF-32"}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

Style de code QR

Outre sa simplicité d'utilisation et sa flexibilité dans le traitement des données d'entrée, IronQR offre de nombreuses options de personnalisation et de mise en forme des codes QR pour les rendre uniques. La classe QrStyleOptions fournit différents paramètres permettant de personnaliser tous les aspects d'un code QR. Explorons les options disponibles.

Redimensionner

Pour redimensionner le code QR, vous pouvez définir la propriété Dimensions de l'objet QrStyleOptions , puis la transmettre à la méthode Save . Par défaut, le code QR est enregistré à 300 px. Dans cet exemple, nous avons enregistré le code QR à 600px au lieu de 300px.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-12.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change the dimensions to 600px
    Dimensions = 600,
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {.Dimensions = 600}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png")
$vbLabelText   $csharpLabel

alt text

Marges et bordures

Pour ajuster les marges et les bordures, nous pouvons utiliser la propriété Margins de la classe QrStyleOptions . Cette propriété contrôle les marges du code QR sur tous les côtés, avec une valeur par défaut de 10px. Dans notre exemple, nous avons défini la marge à 20px.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-13.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change margins to 20px
    Margins = 20
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {.Margins = 20}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
$vbLabelText   $csharpLabel

alt text

Modifiez les marges de chaque côté

IronQR permet également aux utilisateurs de spécifier des marges différentes pour chaque côté, offrant ainsi un contrôle plus précis.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-14.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change margins
    MarginBottom = 30,
    MarginTop = 100,
    MarginRight = 40,
    MarginLeft = 20,
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {
	.MarginBottom = 30,
	.MarginTop = 100,
	.MarginRight = 40,
	.MarginLeft = 20
}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
$vbLabelText   $csharpLabel

Recolor

Nous pouvons ajouter des couleurs au code QR et à son arrière-plan grâce à la classe QrStyleOptions . La personnalisation des couleurs rend le code QR plus unique et attrayant. Vous pouvez modifier la couleur à l'aide des propriétés Color et BackgroundColor . Veillez à importer Iron Software.Drawing pour obtenir la liste des couleurs disponibles.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;

// Load new logo image
AnyBitmap logo = AnyBitmap.FromFile("sample.png");

// Add new logo to QR code style options
QrStyleOptions styleOptions = new QrStyleOptions()
{
    Logo = new QrLogo(logo, 50, 50, 10),
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

alt text

Outre les couleurs et les dimensions, vous pouvez également apposer le logo de votre entreprise sur le code QR. Cela permet aux utilisateurs de reconnaître et d'associer immédiatement le code QR à votre marque. La propriété Logo permet de personnaliser facilement un code QR en y ajoutant le logo de votre entreprise.

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;

// Load new logo image
AnyBitmap logo = AnyBitmap.FromFile("sample.png");

// Add new logo to QR code style options
QrStyleOptions styleOptions = new QrStyleOptions()
{
    Logo = new QrLogo(logo, 50, 50, 10),
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

alt text

La classe QrLogo permet une personnalisation plus poussée de l'apparence du logo. Ci-dessous les propriétés disponibles :

  • Bitmap : Représente l'image que vous souhaitez utiliser comme logo.
  • Width : Représente la largeur du logo. La valeur par défaut est 0.
  • Height : Représente la hauteur du logo. La valeur par défaut est 0.
  • CornerRadius : Représente le rayon d'arrondi des angles du logo. Par défaut, cette valeur est fixée à 0, ce qui signifie que le logo aura des coins carrés.
using IronQRCode;
using IronSoftware.Drawing;

Programme de classe
{
    statique void Main()
    {
        QrStyleOptions styleOptions = new QrStyleOptions
        {
            Logo = new QrLogo
            {
                Bitmap = AnyBitmap.FromBitmap("path/to/logo.png"),
                Width = 50,
                Height = 50,
                CornerRadius = 5
            }
        };

        QrCode qr = QrWriter.CreateQrCode()
                               .Write("Customized Logo Example");

        qr.SaveAs("example-customized-logo-qr.png", styleOptions);
    }
}
using IronQRCode;
using IronSoftware.Drawing;

Programme de classe
{
    statique void Main()
    {
        QrStyleOptions styleOptions = new QrStyleOptions
        {
            Logo = new QrLogo
            {
                Bitmap = AnyBitmap.FromBitmap("path/to/logo.png"),
                Width = 50,
                Height = 50,
                CornerRadius = 5
            }
        };

        QrCode qr = QrWriter.CreateQrCode()
                               .Write("Customized Logo Example");

        qr.SaveAs("example-customized-logo-qr.png", styleOptions);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Vérification de la tolérance aux pannes

Outre une grande flexibilité en matière de formats de fichiers et de personnalisations, cette flexibilité s'étend aux aspects de débogage et de gestion des erreurs. IronQR fournit divers outils aux développeurs pour gérer les exceptions et écrire des tests unitaires afin de vérifier les applications.

Sommes de contrôle

Les codes QR peuvent parfois être endommagés, mais IronQR intègre des sommes de contrôle et une correction des données pour garantir leur bon fonctionnement. Il utilise l' algorithme de correction d'erreurs Reed-Solomon , garantissant ainsi la tolérance aux pannes des codes QR.

Messages d'erreur détaillés

IronQR fournit des messages d'erreur détaillés qui aident les utilisateurs à identifier rapidement les problèmes. Ces messages contiennent une liste d'exceptions spécifiques, ce qui simplifie le débogage et la résolution des problèmes. Vous trouverez ci-dessous la liste des IronQrException utilisées par la bibliothèque.

  • IronQrEncodingException : Sous-classe de IronQrException , cette erreur se produit en cas de problème lors de l'écriture du code QR. Par exemple, ce message apparaîtra si un utilisateur tente de créer un code QR à partir d'une chaîne vide.

alt text

  • IronQrFileException : Sous-classe de IronQrException , cette erreur se produit lorsqu'un problème lié à un fichier survient.

  • IronQrPdfPasswordExcception : Sous-classe de IronQrException , cette erreur se produit lorsque le PDF qu'un utilisateur tente d'apposer est protégé par un mot de passe et qu'aucun mot de passe ou un mot de passe incorrect est fourni. Il couvre également d'autres erreurs liées aux fichiers PDF, comme par exemple l'impossibilité d'ouvrir le PDF, comme illustré dans l'exemple.

alt text

Conclusion

IronQR propose un ensemble complet de méthodes pour générer et personnaliser des codes QR au sein d'applications .NET. Grâce à ses fonctionnalités robustes, les développeurs peuvent facilement créer des codes QR avec différents encodages de données, styles visuels et niveaux de correction d'erreurs. La prise en charge de divers formats de sortie et l'intégration transparente aux documents existants font de cette bibliothèque un outil polyvalent pour tout projet de code QR. Que vous ayez besoin de codes QR basiques ou de solutions avancées et personnalisées, IronQR offre la flexibilité et les fonctionnalités nécessaires pour répondre efficacement à vos besoins.

Pour en savoir plus, consultez la documentation d'IronQR , commencez par un essai gratuit et examinez les options de licence pour voir quel forfait correspond le mieux à vos besoins.

Questions Fréquemment Posées

Comment générer un code QR en C# ?

Vous pouvez générer un code QR en C# en utilisant la classe QrWriter disponible dans IronQR. Cette classe vous permet d'écrire des données dans un code QR et de le sauvegarder dans divers formats d'image. Utilisez simplement la méthode Write pour encoder vos données et SaveAs pour produire le code QR.

Quels types de personnalisation puis-je appliquer aux codes QR?

IronQR vous permet de personnaliser les codes QR en modifiant leurs couleurs, en ajoutant des logos, en redimensionnant et en ajustant les marges. Utilisez la classe QrStyleOptions pour appliquer ces personnalisations.

Puis-je intégrer un code QR dans un PDF en utilisant C#?

Oui, vous pouvez intégrer un code QR dans un PDF en utilisant IronQR grâce aux méthodes StampToExistingPdfPage ou StampToExistingPdfPages. Cela vous permet de spécifier l'emplacement et les pages où le code QR doit apparaître.

Comment puis-je gérer les erreurs lors de la création des codes QR?

IronQR dispose de fonctionnalités de gestion des erreurs robustes, fournissant des messages d'erreur tels que IronQrEncodingException, IronQrFileException, et IronQrPdfPasswordException pour aider au débogage et à la résolution des problèmes.

Quels formats puis-je exporter des codes QR?

En utilisant IronQR, vous pouvez exporter des codes QR vers divers formats, y compris JPG, PNG, GIF, et TIFF. La méthode SaveAs vous permet de spécifier le format désiré pour votre sortie de code QR.

Cette bibliothèque supporte-t-elle le développement multiplateforme?

Oui, IronQR prend en charge le développement multiplateforme via la bibliothèque Iron Software.Drawing, le rendant compatible avec différentes versions et plateformes .NET.

Est-il possible d'ajouter un logo à un code QR pour le branding?

Vous pouvez ajouter un logo à un code QR en utilisant IronQR en configurant la propriété Logo dans la classe QrStyleOptions, permettant des codes QR de marque avec des apparences de logo personnalisées.

Quel est le but de la correction d'erreur dans les codes QR?

La correction d'erreur dans les codes QR, prise en charge par IronQR, garantit que les codes QR restent lisibles même s'ils sont partiellement endommagés. Cette fonctionnalité offre quatre niveaux de correction : Élevé, Haut, Moyen et Bas, pour s'adapter à différents cas d'utilisation.

Quels types de données peuvent être encodés dans des codes QR?

IronQR peut encoder une variété de types de données dans les codes QR, y compris du texte, des URL, des numéros, des données binaires, et des flux, offrant une flexibilité dans les données que vous pouvez représenter.

Comment puis-je créer un code QR avec une URL en C#?

Pour créer un code QR avec une URL en C#, utilisez la classe QrWriter dans IronQR. Utilisez la méthode Write pour encoder l'URL et SaveAs pour stocker le code QR sous forme d'image.

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

Lire la suite
Prêt à commencer?
Nuget Téléchargements 51,390 | Version: 2025.11 vient de sortir