Créer un code-barres à partir de textes, d'URL, d'ID, de nombres, de données binaires et de flux de mémoire

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

par Hairil Hasyimi Bin Omar

La flexibilité d'IronBarcode lui permet de générer des codes-barres à partir d'un large éventail de sources de données, notamment le texte, les URL, les ID, les nombres, les données binaires et les flux de mémoire. Cette polyvalence permet de répondre à différents scénarios, tels que la création de codes-barres pour l'identification de produits, de liens URL, d'identifiants pour le contrôle d'accès, de codes numériques pour le suivi, et même la conversion de données binaires ou de flux de mémoire en codes-barres scannables. Cela fait d'IronBarcode un outil puissant pour améliorer les processus axés sur les données dans divers secteurs d'activité.

IronBarcode simplifie l'écriture des codes-barres en permettant à différents types d'objets d'être utilisés pour l'écriture des codes-barres BarcodeWriter.CreateBarcode() method, eliminating the need for type casting. Cela permet de réduire la complexité du code et de stimuler la productivité.


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

IronBarcode accepte volontiers System.String en tant que paramètre dans BarcodeWriter.CreateBarcode(). Cela couvre différents types de données comme les textes, les URL, les ID et les nombres. Ajoutez-les directement dans la méthode. Voir l'extrait de code ci-dessous :

: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#

L'extrait de code fourni démontre la conversion de 5 exemples de chaînes en codes-barres : texte simple, URL, ID numérique, ID alphanumérique et chaînes de chiffres. Ces chaînes sont introduites directement dans BarcodeWriter.CreateBarcode() along with parameters for BarcodeEncoding and optional dimensions. Le code-barres produit peut être enregistré commeImages, Cours d'eau, Chaîne HTMLou commeDocument PDF. Vous trouverez ci-dessous les images de codes-barres résultant de l'extrait de code exécuté dans IronBarcode.

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

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

Outre la conversion System.String les utilisateurs intègrent souvent IronBarcode dans des applications complexes, en utilisant d'autres objets tels que des codes-barres System.Byte []. Pour utiliser cet objet, il faut s'assurer que le codage des octets est conforme à la norme BarcodeEncoding. Voici des exemples de référence d'encodage d'octets :

  • 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.
  • Unicode:

    • Définition : Unicode est une norme de codage de caractères qui vise à couvrir tous les caractères et symboles utilisés dans les systèmes d'écriture humains. Il fournit un point de code unique pour chaque caractère.
  • Exemple : Le point de code Unicode pour la lettre latine "A" est U+0041, pour la lettre grecque alpha(α) est U+03B1.
  • 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 des octets par défaut dans IronBarcode est ISO-8859-1. Si les utilisateurs ne précisent pas l'encodage des octets, c'est cet encodage qui sera utilisé. )}]

    [{w :(Lorsque vous choisissez l'encodage d'octets à utiliser, veuillez prendre en compte l'encodage de code-barres à utiliser également, car tous les encodages de code-barres ne peuvent pas accepter les entrées de tous les encodages d'octets. Se référer à ce document page pour plus d'informations sur les encodages des codes-barres.)}]

    Voyons maintenant l'extrait de code qui le démontre :

: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 chaînes de caractères sont transformées en System.Byte []. 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

Il semble incomplet qu'une API de code-barres prenne en charge les entrées de tableau d'octets, mais ne prenne pas en charge les entrées de tableau d'octets System.IO.Stream objet. C'est pourquoi IronBarcode fournit également un support pour cela! Ceci est pratique pour les utilisateurs de MemoryStreams qui souhaitent générer des codes-barres sans convertir les types d'entrée. Voici un extrait de code pour la démonstration.

: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#

L'extrait fourni est une extension de l'extrait 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

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.