Barcodes & QRs in C# & VB.NET Applications
Lire et écrire des codes-barres en C# et dans toutes les autres langues .NET est un processus facile avec notre bibliothèque logicielle IronBarcode.
Installer IronBarcode
La première étape du parcours consistera à installer IronBarcode, ce qui peut être fait en téléchargeant depuis NuGet ou en téléchargeant le DLL.
Pour installer le package NuGet IronBarcode, vous pouvez utiliser le gestionnaire de packages NuGet pour Visual Studio :
Install-Package BarCode
Alternativement, vous pouvez également installer avec l'interface de ligne de commande dotnet :
dotnet add package IronBarCode
Lire un code-barres ou un code QR
Lire un code-barres ne prend qu'une 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
Avec cette seule ligne de code, vous avez la capacité de détecter et de scanner tous les types de codes-barres à partir du document d'entrée avec une performance exceptionnelle—tout ce dont vous avez besoin en une étape ! Cette méthode prend en charge une large gamme de formats d'image, tels que JPEG, PNG et BMP, ainsi que les PDFs et les formats multi-images comme GIF et TIFF. Pour des performances améliorées, des options de configuration personnalisables sont disponibles.
Pour améliorer la vitesse de lecture, vous pouvez créer un objet BarcodeReaderOptions avec le paramètre Speed configuré pour de meilleures performances. La valeur par défaut est Balanced, mais l'option Faster est disponible pour ignorer certains contrôles.
:path=/static-assets/barcode/content-code-examples/get-started/get-started-2.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
Vous pouvez également définir ScanMode sur OnlyBasicScan pour optimiser le processus de lecture.
:path=/static-assets/barcode/content-code-examples/get-started/get-started-3.cs
using IronBarCode;
BarcodeResults results = BarcodeReader.Read("MultipleBarcodes.png");
// Loop through the results
foreach (BarcodeResult result in results)
{
string value = result.Value;
Bitmap img = result.BarcodeImage;
BarcodeEncoding barcodeType = result.BarcodeType;
byte[] binary = result.BinaryValue;
Console.WriteLine(result.Value);
}
Imports IronBarCode
Private results As BarcodeResults = BarcodeReader.Read("MultipleBarcodes.png")
' Loop through the results
For Each result As BarcodeResult In results
Dim value As String = result.Value
Dim img As Bitmap = result.BarcodeImage
Dim barcodeType As BarcodeEncoding = result.BarcodeType
Dim binary() As Byte = result.BinaryValue
Console.WriteLine(result.Value)
Next result
D'autres configurations incluent la spécification des formats de codes-barres à scanner, ce qui peut contribuer à accélérer le traitement en réduisant les analyses inutiles.
:path=/static-assets/barcode/content-code-examples/get-started/get-started-4.cs
using IronBarCode;
BarcodeResults pagedResults = BarcodeReader.Read("MultipleBarcodes.pdf");
// Loop through the results
foreach (BarcodeResult result in pagedResults)
{
int pageNumber = result.PageNumber;
string value = result.Value;
Bitmap img = result.BarcodeImage;
BarcodeEncoding barcodeType = result.BarcodeType;
byte[] binary = result.BinaryValue;
Console.WriteLine(result.Value);
}
// or from a multi-page TIFF scan with image correction:
BarcodeResults multiFrameResults = BarcodeReader.Read(inputImage: "Multiframe.tiff", new BarcodeReaderOptions
{
Speed = ReadingSpeed.Detailed,
ExpectMultipleBarcodes = true,
ExpectBarcodeTypes = BarcodeEncoding.Code128,
Multithreaded = false,
RemoveFalsePositive = false,
ImageFilters = null
});
Imports IronBarCode
Private pagedResults As BarcodeResults = BarcodeReader.Read("MultipleBarcodes.pdf")
' Loop through the results
For Each result As BarcodeResult In pagedResults
Dim pageNumber As Integer = result.PageNumber
Dim value As String = result.Value
Dim img As Bitmap = result.BarcodeImage
Dim barcodeType As BarcodeEncoding = result.BarcodeType
Dim binary() As Byte = result.BinaryValue
Console.WriteLine(result.Value)
Next result
' or from a multi-page TIFF scan with image correction:
Dim multiFrameResults As BarcodeResults = BarcodeReader.Read(inputImage:= "Multiframe.tiff", New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Detailed,
.ExpectMultipleBarcodes = True,
.ExpectBarcodeTypes = BarcodeEncoding.Code128,
.Multithreaded = False,
.RemoveFalsePositive = False,
.ImageFilters = Nothing
})
Écrire des codes-barres
Pour écrire des codes-barres en utilisant IronBarcode, nous utilisons la classe BarcodeWriter.
: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")
Styliser les codes-barres
IronBarcode offre plusieurs options pour manipuler la représentation visuelle d'un code-barres.
: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")
Exporter des codes-barres en HTML
IronBarcode peut exporter des codes-barres sous forme de documents HTML ou dans le cadre de contenu HTML.
:path=/static-assets/barcode/content-code-examples/get-started/get-started-8.cs
using IronBarCode;
QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPdf("MyQR.pdf");
Imports IronBarCode
QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPdf("MyQR.pdf")
Générer des codes QR
Pour les codes QR, utilisez la classe QRCodeWriter qui fournit une configuration supplémentaire pour les fonctionnalités spécifiques aux QR telles que la correction d'erreurs.
: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")
Formats de codes-barres pris en charge
IronBarcode prend en charge une grande variété de formats de codes-barres couramment utilisés pour la lecture et l'écriture :
- Codes QR, Micro QR et Rectangular Micro QR (rMQR).
- Autres codes-barres bidimensionnels tels que Aztec, Data Matrix, MaxiCode, et PDF417.
- Codes-barres linéaires empilés tels que Databar.
- Formats de codes-barres conventionnels unidimensionnels 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 for .NET, optimisée pour la précision, l'exactitude et la vitesse dans des cas d'utilisation concrets.
La classe BarcodeWriter, par exemple, valide et corrige automatiquement les " sommes de contrôle " des codes-barres UPCA et UPCE, et gère les contraintes de format numérique. IronBarcode aide les développeurs à choisir le format de code-barres le mieux adapté à leurs données.
La bibliothèque est robuste, avec des techniques de prétraitement d'image comme la rotation automatique et la réduction du bruit de l'image pour maximiser les taux de réussite de détection des codes-barres.
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 sur GitHub.

