GS1-128
IronBarcode prend-il en charge la symbologie GS1 UCC/EAN-128 ?
Les codes-barres avec GS1 sont reconnus et décodés avec précision. Cependant, le problème réside dans l'absence actuelle de crochets dans la valeur du code-barres affiché.
Lorsqu'il utilise GS1-128, IronBarcode génère actuellement : 01950123456789033103000123 (qui est reconnu comme un BarCode Code 128 avec signature GS1). La valeur souhaitée à afficher sur l'image de sortie serait : 01950123456789033103000123. Cependant, le lecteur de codes-barres affichera (01)95012345678903(3103)000123 avec une détection du type de codes-barres comme Code128.
Pour générer un code-barres GS1-128, utilisez le code suivant :
using IronBarCode;
class BarcodeExample
{
static void Main()
{
// Create a GS1-128 barcode using the specified value
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("01950123456789033103000123", BarcodeWriterEncoding.Code128GS1);
// Add the barcode value text below the barcode on the generated image
barcode.AddBarcodeValueTextBelowBarcode();
// Save the barcode image as a PNG file
barcode.SaveAsPng("gs1code128.png");
}
}
using IronBarCode;
class BarcodeExample
{
static void Main()
{
// Create a GS1-128 barcode using the specified value
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("01950123456789033103000123", BarcodeWriterEncoding.Code128GS1);
// Add the barcode value text below the barcode on the generated image
barcode.AddBarcodeValueTextBelowBarcode();
// Save the barcode image as a PNG file
barcode.SaveAsPng("gs1code128.png");
}
}
Imports IronBarCode
Friend Class BarcodeExample
Shared Sub Main()
' Create a GS1-128 barcode using the specified value
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("01950123456789033103000123", BarcodeWriterEncoding.Code128GS1)
' Add the barcode value text below the barcode on the generated image
barcode.AddBarcodeValueTextBelowBarcode()
' Save the barcode image as a PNG file
barcode.SaveAsPng("gs1code128.png")
End Sub
End Class
Sortie du code-barres

Le code ci-dessus génère un code-barres GS1-128 avec un séparateur par défaut. Si vous souhaitez ajouter des séparateurs supplémentaires, vous pouvez insérer le séparateur Unicode \u00f1. Notez toutefois que lorsque vous utilisez la méthode AddBarcodeValueTextBelowBarcode, le caractère Unicode ñ (code 0x00F1) s'affichera. Pour contourner cette limitation, une autre approche consiste à manipuler la chaîne et à transmettre la valeur modifiée à la méthode AddAnnotationTextBelowBarcode. De cette façon, vous pouvez obtenir l'affichage souhaité de la valeur du code-barres sans le caractère ñ.
using IronBarCode;
class BarcodeExampleWithAnnotation
{
static void Main()
{
// Original barcode value
string barcodeValue = "0195012345678903310300012300\u00f10000000123300000\u00f10000012312300000";
// Remove unwanted unicode characters for display purposes
string trimmedString = barcodeValue.Replace("\u00f1", "");
// Create a GS1-128 barcode using the original value
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeWriterEncoding.Code128GS1);
// Add a custom annotation text below the barcode with the trimmed value
barcode.AddAnnotationTextBelowBarcode(trimmedString);
// Save the barcode image as a PNG file
barcode.SaveAsPng("gs1code128.png");
}
}
using IronBarCode;
class BarcodeExampleWithAnnotation
{
static void Main()
{
// Original barcode value
string barcodeValue = "0195012345678903310300012300\u00f10000000123300000\u00f10000012312300000";
// Remove unwanted unicode characters for display purposes
string trimmedString = barcodeValue.Replace("\u00f1", "");
// Create a GS1-128 barcode using the original value
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeWriterEncoding.Code128GS1);
// Add a custom annotation text below the barcode with the trimmed value
barcode.AddAnnotationTextBelowBarcode(trimmedString);
// Save the barcode image as a PNG file
barcode.SaveAsPng("gs1code128.png");
}
}
Imports IronBarCode
Friend Class BarcodeExampleWithAnnotation
Shared Sub Main()
' Original barcode value
Dim barcodeValue As String = "0195012345678903310300012300" & ChrW(&H00f1).ToString() & "0000000123300000" & ChrW(&H00f1).ToString() & "0000012312300000"
' Remove unwanted unicode characters for display purposes
Dim trimmedString As String = barcodeValue.Replace(ChrW(&H00f1).ToString(), "")
' Create a GS1-128 barcode using the original value
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(barcodeValue, BarcodeWriterEncoding.Code128GS1)
' Add a custom annotation text below the barcode with the trimmed value
barcode.AddAnnotationTextBelowBarcode(trimmedString)
' Save the barcode image as a PNG file
barcode.SaveAsPng("gs1code128.png")
End Sub
End Class
Sortie du code-barres

Lors de la lecture du BarCode, la sortie sera (01)95012345678903(3103)000123(00)0000000123300000(00)00012312300000, et le type de BarCode sera détecté comme GS1Code128.
Analyser l'encodage GS1-128
IronBarcode peut également analyser l'encodage physique d'un code-barres GS1-128, en indiquant quels jeux de caractères Code 128 (A, B ou C) sont utilisés pour chaque segment des données. Utilisez la méthode Code128GS1Parser.ParseWithEncoding pour analyser une chaîne GS1 avec analyse de l'encodage incluse.
using IronBarCode;
// GS1-128 with encoding analysis
var gs1Result = Code128GS1Parser.ParseWithEncoding("(01)09501101530003");
Console.WriteLine(gs1Result.CharacterSetSummary); // "C"
Console.WriteLine(gs1Result.HasEncodingInfo); // true
using IronBarCode;
// GS1-128 with encoding analysis
var gs1Result = Code128GS1Parser.ParseWithEncoding("(01)09501101530003");
Console.WriteLine(gs1Result.CharacterSetSummary); // "C"
Console.WriteLine(gs1Result.HasEncodingInfo); // true
Imports IronBarCode
' GS1-128 with encoding analysis
Dim gs1Result = Code128GS1Parser.ParseWithEncoding("(01)09501101530003")
Console.WriteLine(gs1Result.CharacterSetSummary) ' "C"
Console.WriteLine(gs1Result.HasEncodingInfo) ' True
Les données GS1-128 étant principalement numériques, l'encodeur utilise le code C pour une compacité maximale. La propriété HasEncodingInfo confirme que l'analyse de l'encodage est disponible sur le résultat.

