Comment générer des formats de données de code-barres en C#

Comment sortir des formats de données en C# ; avec IronBarcode

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

IronBarcode fournit plusieurs formats de sortie à partir de lectures de codes-barres, notamment BarcodeImage, BarcodeType, BinaryValue, des coordonnées, des dimensions, des numéros de page, une orientation, du texte et des propriétés de valeur. Ces formats permettent de traiter les données de codes-barres de manière programmatique pour divers cas d'utilisation.

Au lieu de se contenter de lire le code-barres et d'imprimer les valeurs dans la console, IronBarcode offre bien plus. Le logiciel propose plusieurs formats de sortie qui permettent aux utilisateurs de traiter les résultats de la lecture. Ces formats incluent des propriétés telles que l'image du code-barres, le type de code-barres, BinaryValue, les coordonnées, la hauteur, la largeur, le numéro de page, le code-barres, l'orientation de la page, le texte et la valeur.

Les utilisateurs peuvent manipuler ces propriétés davantage dans le programme. Voyons comment utiliser ces propriétés et les cas d'utilisation où elles peuvent être utiles.

comme-titre:2(Démarrage rapide : Lire la valeur et le type du code-barres en une ligne)

Cet exemple montre comment lire un code-barres à partir d'une image à l'aide d'IronBarcode - une ligne pour charger, puis immédiatement imprimer la valeur et le type du code-barres. Parfait pour démarrer rapidement. Pour des exemples plus complets, consultez le Guide de démarrage rapide du BarCode.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronBarcode avec le gestionnaire de packages NuGet

    PM > Install-Package BarCode

  2. Copiez et exécutez cet extrait de code.

    var result = IronBarCode.BarcodeReader.Read("input.png");
    Console.WriteLine($"Value: {result[0].Value}, Type: {result[0].BarcodeType}");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Quels sont les formats de sortie disponibles et leurs cas d'utilisation ?

<TODO : Ajouter une image ici -->

BarcodeResult stocke diverses propriétés utiles. Ces propriétés sont listées ci-dessous :

  • BarcodeImage
  • BarcodeType
  • BinaryValue
  • Coordonnées, Hauteur et Largeur
  • PageNumber
  • Barcode et PageOrientation
  • Texte et Valeur

Chaque propriété sert des objectifs spécifiques dans les flux de travail de traitement des codes-barres. Qu'il s'agisse de construire un système de gestion des stocks, un pipeline de traitement des documents ou une application de contrôle de la qualité, ces formats de données offrent la flexibilité nécessaire pour lire des BarCodes provenant de diverses sources.

Comment extraire et sauvegarder des images de BarCodes?

Une fois qu'IronBarcode lit une image, les codes-barres trouvés dans l'image sont stockés dans BarcodeResult en tant que propriété BarcodeImage de type AnyBitmap. La propriété BarcodeImage stocke les images de code-barres trouvées. Les utilisateurs peuvent récupérer cet objet pour traiter l'image de manière plus approfondie ou l'enregistrer en tant que copie permanente. Cela permet de gagner en efficacité et en facilité d'utilisation en éliminant le code supplémentaire pour extraire les codes-barres d'une image.

L'extrait de code ci-dessous illustre un cas d'utilisation possible de ce format de sortie :

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BarcodeImage.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Collections.Generic;

// Read barcode from PDF file
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");

// Create list for barcodes
List<AnyBitmap> barcodeList = new List<AnyBitmap>();

foreach (BarcodeResult barcode in result)
{
    barcodeList.Add(barcode.BarcodeImage);
}

// Create multi-page TIFF
AnyBitmap.CreateMultiFrameTiff(barcodeList).SaveAs("barcodeImages.tif");
$vbLabelText   $csharpLabel

L'extrait de code ci-dessus illustre un cas d'utilisation de ce format de sortie. Plus précisément, il s'agit de créer une image TIFF multipage à partir de codes-barres détectés dans un document PDF. Premièrement, nous scannons ou détectons les codes-barres dans le PDF d'exemple. Ensuite, nous créons une liste de AnyBitmap où nous stockons les informations à partir de la propriété BarcodeImage. Enfin, nous utilisons cette liste pour générer un fichier TIFF multipage à l'aide de la méthode CreateMultiFrameTiff. Cette technique est particulièrement utile pour le traitement des fichiers multipage GIF et TIFF.

La propriété BarcodeImage de BarcodeResult ne stocke que les images des codes-barres trouvés lors de la lecture, et non l'image d'entrée complète.

Comment identifier les différents types de BarCode de manière programmatique?

Cette propriété permet de déterminer quel type de BarCode est présent dans l'image ou le document d'entrée. Cependant, la limitation est que le type de code-barres à l'intérieur de l'image doit être pris en charge et lisible par IronBarcode. Pour en savoir plus sur les types de codes-barres pris en charge dans IronBarcode, consultez cet article. En outre, explorez la liste complète des formats de codes-barres pris en charge pour garantir la compatibilité avec vos exigences spécifiques.

L'extrait de code ci-dessous démontre comment récupérer les valeurs et le type de code-barres dans une image en imprimant les valeurs dans la console.

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BarcodeType.cs
using IronBarCode;
using System;

// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("bc3.png");

// Output barcode type to console
foreach (BarcodeResult barcode in result)
{
    Console.WriteLine("The barcode value is " + barcode.ToString() + " and the barcode type is " + barcode.BarcodeType);
}
$vbLabelText   $csharpLabel

À partir de l'extrait de code ci-dessus, nous effectuons la lecture du code-barres en appelant la méthode BarcodeReader.Read() sur l'image d'entrée. Cela retourne un objet BarcodeResults qui stocke tous les BarcodeResult de la lecture de tous les codes-barres disponibles dans l'image. Ensuite, nous itérons à travers l'objet BarcodeResults pour récupérer le BarcodeResult et obtenir la valeur et le type de code-barres imprimés sur la console. Cette approche fonctionne de manière transparente avec différents types de codes-barres, y compris des formats spécialisés comme les codes-barres du code 39.

Quand devrais-je utiliser la sortie de valeur binaire?

En utilisant IronBarcode, les utilisateurs peuvent récupérer le tableau d'octets de la valeur du code-barres en accédant à la propriété BinaryValue de l'objet BarcodeResult. Cela permet aux utilisateurs de manipuler la valeur du code-barres davantage dans le programme. La sortie de valeurs binaires est particulièrement utile pour travailler avec des données cryptées, des pièces jointes de fichiers encodées dans des codes-barres, ou lors de l'intégration avec des systèmes qui nécessitent un traitement des données au niveau de l'octet.

L'extrait de code ci-dessous démontre un cas d'utilisation de la récupération de la valeur du code-barres en tant que données binaires :

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-BinaryValue.cs
using IronBarCode;

// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("multiple-barcodes.png");

int i = 1;
foreach (BarcodeResult barcode in result)
{
    var binaryValue = barcode.BinaryValue;
    var barcodeType = IronBarCode.BarcodeEncoding.QRCode;

    // Create QR code
    GeneratedBarcode generatedBarcode = BarcodeWriter.CreateBarcode(binaryValue, barcodeType);

    // Export QR code
    generatedBarcode.SaveAsPng($"qrFromBinary{i}.png");
    i++;
}
$vbLabelText   $csharpLabel

En observant l'extrait de code ci-dessus, nous avons créé un programme simple qui transforme plusieurs codes-barres dans une image en fichiers encodés en binaire séparés. Initialement, nous scannons les codes-barres dans l'image PNG d'exemple. Une fois que nous avons détecté ces BarCodes, nous les itérons, accédons à la propriété BinaryValue et l'utilisons pour créer de nouveaux fichiers binaires. Cette technique est particulièrement précieuse lorsque vous devez lire plusieurs BarCode et traiter leurs données binaires individuellement.

Comment puis-je accéder à l'emplacement et aux dimensions des BarCodes?

Une autre propriété de l'objet BarcodeResult que les utilisateurs peuvent accéder est les coordonnées du code-barres, y compris X1, Y1, et X2, Y2, ainsi que sa Hauteur et sa Largeur dans un fichier image ou un document. Ces propriétés sont utiles lorsque les utilisateurs ont besoin de récupérer des informations sur l'emplacement et les dimensions du code-barres. Ces informations spatiales sont cruciales pour les applications qui nécessitent un positionnement précis, comme le traitement automatisé des documents, les systèmes de contrôle de la qualité, ou lors de la mise en œuvre de régions de culture pour une lecture optimisée des codes-barres.

Démontrons l'emplacement et les dimensions du code-barres.

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-height-width.cs
using IronBarCode;
using IronSoftware.Drawing;
using System.Linq;

// Read barcode from PNG
BarcodeResults result = BarcodeReader.Read("multiple-barcodes.png");

AnyBitmap bitmap = AnyBitmap.FromFile("multiple-barcodes.png");

foreach (BarcodeResult barcode in result)
{
    PointF[] barcodePoints = barcode.Points;

    float x1 = barcodePoints.Select(b => b.X).Min();
    float y1 = barcodePoints.Select(b => b.Y).Min();

    Rectangle rectangle = new Rectangle((int)x1, (int)y1, (int)barcode.Width!, (int)barcode.Height!);

    bitmap = bitmap.Redact(rectangle, Color.Magenta);

    // Save the image
    bitmap.SaveAs("redacted.png", AnyBitmap.ImageFormat.Png);
}
$vbLabelText   $csharpLabel
Three barcode samples (A, B, C) showing different encoded data with similar visual patterns
Three redacted content blocks with illegible text fragments

L'extrait de code ci-dessus expurge plusieurs BarCodes présents dans un fichier image. Pour y parvenir, nous utilisons une combinaison de deux bibliothèques, IronBarcode et IronDrawing. Pour obtenir l'objet BarcodeResult et en extraire les propriétés, nous lisons d'abord les codes-barres disponibles dans un fichier image à l'aide de la méthode BarcodeReader.Read(). Parallèlement, le fichier image d'entrée doit être converti en un objet AnyBitmap afin d'appliquer la méthode de rédaction à l'image. Une fois que nous avons l'objet BarcodeResults, nous pouvons appliquer une boucle et itérer à travers lui pour obtenir le X1, Y1, Largeur, et Hauteur de chaque code-barres disponible dans l'image et les utiliser dans les propriétés CropRectangle de la méthode AnyBitmap.Redact().

Pourquoi le numéro de page est-il important pour les documents de plusieurs pages ?

Les utilisateurs peuvent récupérer le numéro de la page à laquelle le code-barres a été trouvé. Il s'agit d'une fonctionnalité utile pour les utilisateurs qui utilisent un document de plusieurs pages contenant plusieurs codes-barres et qui ont besoin de connaître l'emplacement des codes-barres trouvés dans le document pour un traitement ultérieur. Cette fonctionnalité est essentielle pour lire des codes-barres dans des documents PDF ou traiter des documents par lots dans des applications d'entreprise.

Regardez l'extrait de code ci-dessous :

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-page-number.cs
using IronBarCode;
using System;

// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");

// Output page number to console
foreach (BarcodeResult barcode in result)
{
    Console.WriteLine("The barcode value " + barcode.ToString() + " is found on page number " + barcode.PageNumber);
}
$vbLabelText   $csharpLabel

L'extrait de code ci-dessus démontre un cas d'utilisation où les utilisateurs ont besoin que le programme renvoie la valeur des BarCode trouvés dans un document PDF multipage et leurs numéros de page respectifs. Le code utilise la méthode BarcodeReader.ReadPdf() pour lire les codes-barres à l'intérieur d'un document PDF multipage, qui renvoie l'objet BarcodeResults stockant chaque BarcodeResult trouvé dans le document. Nous appliquons une boucle et itérons à travers chaque élément de l'objet pour récupérer la valeur des codes-barres et le numéro de page où les codes-barres ont été trouvés. En dehors de ce cas d'utilisation, les utilisateurs peuvent utiliser cette propriété pour déboguer si tous les BarCode d'un document ont été lus.

Veuillez noterLa valeur renvoyée par cette propriété est indexée à partir de 1 , ce qui signifie que la première page vaut toujours 1 et non 0.

Comment détecter la rotation des BarCodes et l'orientation des pages?

En utilisant IronBarcode, les utilisateurs peuvent récupérer des informations sur l'orientation du code-barres et l'orientation de la page où le code-barres a été trouvé. Pour extraire ces deux informations, accédez aux propriétés Rotation et PageOrientation de l'objet BarcodeResult. Rotation renvoie un entier qui représente l'angle de rotation du code-barres trouvé. Cette fonctionnalité fonctionne en conjonction avec les capacités correction de l'orientation de l'image pour garantir une lecture précise des codes-barres quel que soit l'angle de balayage.

Regardez l'extrait de code ci-dessous :

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-orientation.cs
using IronBarCode;
using System;

// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("test.pdf");

// Output page orientation and rotation to console
foreach (BarcodeResult barcode in result)
{
    Console.WriteLine(barcode.Value);
    Console.WriteLine(barcode.PageOrientation);
    Console.WriteLine(barcode.Rotation);
}
$vbLabelText   $csharpLabel

L'extrait de code ci-dessus a été exécuté avec l'échantillon d'entrée PDF joint pour prouver que les utilisateurs peuvent récupérer l'orientation de la page et la rotation du code-barres en obtenant la valeur de BarcodeResult.PageOrientation et BarcodeResult.Rotation, respectivement. Cette fonctionnalité est principalement utile à des fins de débogage.

Veuillez noterIronBarcode ne peut lire que les codes-barres avec des rotations de 0 , 90 , 180 et 270 degrés. IronBarcode ne retournera aucune valeur si le code-barres a une valeur de rotation autre que celles mentionnées. PageOrientation renvoie un objet PageOrientation, qui se compose de Portrait ou de Landscape.

Quelle est la différence entre les propriétés de texte et de valeur ?

Bien sûr, la principale propriété que les utilisateurs voudront récupérer lors de l'utilisation d'IronBarcode est sa valeur et son texte. Ces deux propriétés sont souvent utilisées de manière interchangeable et renvoient la même valeur. Par ailleurs, les utilisateurs peuvent utiliser la méthode BarcodeResult.ToString() pour obtenir le même résultat. Lorsque vous travaillez avec des applications spécialisées ou exportez des données de code-barres sous forme de flux, ces propriétés offrent des moyens flexibles d'accéder au contenu du code-barres dans votre format préféré.

L'extrait de code ci-dessous démontre :

:path=/static-assets/barcode/content-code-examples/how-to/output-data-formats-text-value.cs
using IronBarCode;
using System;

// Read barcode from PDF
BarcodeResults result = BarcodeReader.ReadPdf("barcodestamped3.pdf");

// Output text value to console
foreach (BarcodeResult barcode in result)
{
    Console.WriteLine(barcode.Value);
    Console.WriteLine(barcode.Text);
    Console.WriteLine(barcode.ToString());
}
$vbLabelText   $csharpLabel

D'après l'extrait de code ci-dessus, les utilisateurs n'ont besoin que de quelques lignes de code pour lire des codes-barres dans une image à l'aide d'IronBarcode. Après avoir parcouru les BarcodeResults renvoyés par la méthode BarcodeReader.Read(), nous affichons sur la console le résultat de l'obtention des propriétés Value et Text, ainsi que l'appel à la méthode BarcodeResult.ToString() pour montrer que toutes ces propriétés renvoient la même valeur.

En résumé, IronBarcode est une API parfaite pour les utilisateurs souhaitant effectuer de multiples opérations concernant les codes-barres, ne se limitant pas à l'écriture et au décodage des codes-barres. Grâce à la prise en charge de divers formats de données de sortie, les utilisateurs peuvent faire beaucoup plus avec l'objet BarcodeResult renvoyé par IronBarcode.

Questions Fréquemment Posées

Quels sont les formats de sortie pris en charge par la lecture de codes-barres C# ?

IronBarcode fournit plusieurs formats de sortie, notamment BarcodeImage, BarcodeType, BinaryValue, des coordonnées, des dimensions, des numéros de page, une orientation, du texte et des propriétés de valeur. Ces formats permettent un traitement complet des données de codes-barres pour diverses applications .NET.

Comment lire la valeur d'un BarCode en une seule ligne de code ?

Avec IronBarcode, vous pouvez lire un code-barres en une seule ligne en utilisant : var result = IronBarCode.BarcodeReader.Read('input.png') ; Cela vous donne immédiatement accès à la valeur et au type du code-barres grâce à result[0].Value et result[0].BarcodeType.

Quelles sont les propriétés disponibles dans BarcodeResult ?

L'objet BarcodeResult dans IronBarcode contient des propriétés incluant BarcodeImage, BarcodeType, BinaryValue, Coordinates, Height & Width, PageNumber, Barcode, PageOrientation, Text et Value - fournissant des données complètes pour les flux de travail de traitement des codes-barres.

Puis-je extraire et enregistrer des images de codes-barres après la lecture ?

Oui, IronBarcode stocke les codes-barres trouvés en tant qu'objets AnyBitmap dans la propriété BarcodeImage. Vous pouvez récupérer cet objet pour traiter davantage l'image ou l'enregistrer en tant que copie permanente, ce qui élimine la nécessité d'un code supplémentaire pour extraire les images de codes-barres.

Comment accéder aux coordonnées et aux dimensions des codes-barres ?

IronBarcode fournit des données de coordonnées comprenant les positions x et y ainsi que les dimensions de hauteur et de largeur pour chaque code-barres détecté. Ces propriétés sont accessibles via l'objet BarCodeResult pour un suivi précis de l'emplacement du code-barres.

Quelle est la différence entre les propriétés Text et Value ?

Dans IronBarcode, les propriétés Text et Value contiennent le contenu des données du code-barres. Ces propriétés font partie de l'objet BarcodeResult et peuvent être utilisées de manière interchangeable pour récupérer les informations du code-barres décodé.

Puis-je déterminer sur quelle page un code-barres a été trouvé ?

Oui, IronBarcode inclut une propriété PageNumber dans l'objet BarcodeResult, ce qui vous permet d'identifier exactement quelle page d'un document de plusieurs pages ou d'un PDF contenait chaque code-barres détecté.

Comment puis-je identifier le type de code-barres détecté ?

La propriété BarcodeType de l'objet BarcodeResult d'IronBarcode identifie le format de code-barres spécifique détecté (comme le code QR, le code 128, etc.), ce qui permet un traitement spécifique au format dans votre application.

Hairil Hasyimi Bin Omar
Ingénieur logiciel
Comme tous les grands ingénieurs, Hairil est un apprenant avide. Il affine ses connaissances en C#, Python et Java, utilisant ces connaissances pour apporter de la valeur aux membres de l'équipe dans toute Iron Software. Hairil a rejoint l'équipe d'Iron Software depuis l'Université Teknologi MARA en Malaisie, ...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 2,035,202 | Version : 2025.12 vient de sortir