Créer un code-barres à partir de texte, d'URL, d'ID, de numéros, de données binaires et de flux mémoire.

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

par Hairil Hasyimi Bin Omar

Les codes-barres peuvent être générés à partir de chaînes de caractères, de données binaires ou de flux de mémoire. Tous ces formats de données peuvent être utilisés comme entrée dans le BarcodeWriter.CreateBarcode() method.


Commencer avec IronBarcode

Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Créer un code-barres à partir d'une chaîne de caractères

Le code ci-dessous montre comment écrire des codes-barres avec une chaîne :

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-string.cs
using IronBarCode;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
VB   C#

Dans cet extrait de code, nous encodons 5 exemples de données différents dans 5 types de code-barres différents : du texte simple en Aztec, une URL en code QR, un ID numérique en Code 93, un ID alphanumérique en PDF417 et un nombre en Codabar. Les images sont ensuite enregistrées au format PNG. Voici les images résultantes du fragment de code ci-dessus :

Texte
URL
ID de l'accusé de réception
ID de vol
Nombre

Créer un code-barres à partir d'un tableau d'octets

Pour créer des codes-barres à partir de données d'un tableau d'octets, assurez-vous d'abord que l'encodage des caractères est conforme aux exigences. BarcodeEncoding, car chaque type de code-barres accepte un encodage de caractères différent. Voici les différents encodages de caractères qui peuvent être utilisés dans IronBarcode :

  • ASCII (Code standard américain pour l'échange d'informations):

    • Définition : Ce codage utilise 7 bits pour représenter chaque caractère, y compris les lettres anglaises, les chiffres, la ponctuation et les caractères de contrôle.
  • Exemple : Le code ASCII de la lettre "A" est 65, celui de la lettre "B" est 66, etc.
  • UTF-8 (Format de transformation Unicode 8 bits):

    • Définition : UTF-8 est un codage de caractères de longueur variable qui peut représenter tous les caractères Unicode. Il utilise des séquences de 8 bits pour coder les caractères, et le nombre d'octets utilisés dépend du caractère.
  • Exemple : Le codage UTF-8 de la lettre "A" est identique à son point de code ASCII, qui est 65. Toutefois, pour les caractères situés en dehors de la plage ASCII, l'UTF-8 utilise plusieurs octets. Par exemple, le codage UTF-8 du symbole de l'euro(€) est la séquence 0xE2 0x82 0xAC.
  • UTF-16 (Format de transformation Unicode 16 bits):

    • Définition : UTF-16 est un autre codage de caractères de longueur variable qui utilise des séquences de 16 bits pour coder les caractères. Il est capable de représenter l'ensemble des caractères Unicode.
  • Exemple : Le codage UTF-16 de la lettre latine "A" est 0x0041, et le codage UTF-16 de la lettre grecque alpha(α) est 0x03B1.
  • UTF-32 (Format de transformation Unicode 32 bits):

    • Définition : L'UTF-32 utilise une séquence fixe de 32 bits pour chaque caractère, ce qui le rend simple mais potentiellement coûteux en termes d'espace de stockage pour les caractères situés en dehors de la gamme ASCII.
  • Exemple : Le codage UTF-32 de la lettre latine "A" est 0x00000041, et le codage UTF-32 de la lettre grecque alpha(α) est 0x000003B1.
  • ISO-8859-1 (Latin-1):

    • Définition : ISO-8859-1 est un codage de caractères qui étend l'ASCII pour inclure les caractères des langues d'Europe occidentale. Il utilise 8 bits pour chaque caractère.

    • Exemple : Le code ISO-8859-1 pour la lettre "A" est toujours 65, "B" est 66, mais il inclut également des caractères comme "é(233) et "ü(252).

    [{i :(Le codage de caractères par défaut dans IronBarcode est ISO-8859-1. Si les utilisateurs ne spécifient pas le codage de caractères, ce codage sera utilisé. )}]

    Le code suivant montre comment générer un code-barres à partir de données byte :

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs
using IronBarCode;
using System.Text;

byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.Text

Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
VB   C#

Dans l'extrait donné, 5 entrées de chaîne sont transformées en un System.Byte[] object. Pour convertir ces tableaux d'octets en codes-barres, il convient de les inclure en tant que paramètres dans la fonction Écrivain de codes-barres, ainsi que les BarcodeEncoding. Il est possible de définir Largeur maximale et MaxHeight pour la taille du code-barres.

Créer un code-barres à partir d'un flux en mémoire

Le code suivant montre comment générer un code-barres à partir d'un flux de mémoire :

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-stream.cs
using IronBarCode;
using System.IO;
using System.Text;

MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.IO
Imports System.Text

Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
VB   C#

Ce fragment de code prolonge le précédent. Ici, nous créons de nouveaux Flux de mémoire des instances de l'ancien System.Byte[] objects. Comme précédemment, les utilisateurs peuvent saisir ces nouvelles instances dans le fichier BarcodeWriter.CreateBarcode() pour générer des codes-barres à partir de Flux de mémoire objets.

Hairil related to Créer un code-barres à partir d'un flux en mémoire

Hairil Hasyimi Bin Omar

Ingénieur logiciel

Comme tous les grands ingénieurs, Hairil est un fervent apprenant. Il affine ses connaissances en C#, Python et Java, et les utilise pour apporter une valeur ajoutée aux membres de l'équipe d'Iron Software. Hairil a rejoint l'équipe d'Iron Software en provenance de l'Universiti Teknologi MARA en Malaisie, où il a obtenu une licence en génie chimique et des procédés.