Cree códigos de barras a partir de texto, URL, ID, números, datos binarios y flujos de memoria

por Hairil Hasyimi Bin Omar

La flexibilidad de IronBarcode le permite generar códigos de barras a partir de diversas fuentes de datos, como texto, URL, ID, números, datos binarios y flujos de memoria. Esta versatilidad se adapta a diferentes escenarios, como la creación de códigos de barras para la identificación de productos, enlaces URL, ID para el control de acceso, códigos numéricos para el seguimiento, e incluso la conversión de datos binarios o flujos de memoria en códigos de barras escaneables. Esto convierte a IronBarcode en una potente herramienta para mejorar los procesos basados en datos en diversos sectores.

IronBarcode simplifica la escritura de códigos de barras al permitir varios tipos de objetos como entrada para la función BarcodeWriter.CreateBarcode() method, eliminating the need for type casting. Esto reduce la complejidad del código y aumenta la productividad.


Biblioteca NuGet C# para

Instalar con NuGet

Install-Package BarCode
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Crear código de barras a partir de cadena

IronBarcode acepta fácilmente System.String como parámetro en BarcodeWriter.CreateBarcode(). Abarca varios tipos de datos, como textos, URL, ID y números. Añádelas directamente al método. Véase el siguiente fragmento de código:

: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"; //  ID del recibo (id numérico)
string flightID = "FLT2023NYC-LAX123456"; //  ID de vuelo (ID alfanumérico)
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" '  ID del recibo (id numérico)
Private flightID As String = "FLT2023NYC-LAX123456" '  ID de vuelo (ID alfanumérico)
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#

El fragmento de código proporcionado demuestra la conversión de 5 ejemplos de cadenas en códigos de barras: texto simple, URL, ID numérico, ID alfanumérico y cadenas numéricas. Estas cadenas se introducen directamente en BarcodeWriter.CreateBarcode() along with parameters for BarcodeEncoding and optional dimensions. El código de barras generado puede guardarse como Imágenes, Corrientes, Cadena HTMLo como Documento PDF. A continuación se muestran las imágenes de código de barras resultantes del fragmento de código ejecutado en IronBarcode.

Texto
URL
ID del recibo
ID de vuelo
Número

Crear código de barras a partir de una matriz de bytes

Además de convertir System.String en códigos de barras, los usuarios suelen integrar IronBarcode en aplicaciones complejas, utilizando otros objetos como Sistema.Byte []. Para utilizar este objeto, asegúrese de que las codificaciones de bytes coinciden con las requeridas Código de barras. He aquí ejemplos de referencia de codificaciones de bytes:

  • ASCII (Código Estándar Americano para el Intercambio de Información):
    • Definición: Esta codificación utiliza 7 bits para representar cada carácter, incluyendo letras inglesas, dígitos, puntuación y caracteres de control.
    • Ejemplo: El código ASCII para la letra "A" es 65, "B" es 66, y así sucesivamente.
  • Unicode:
    • Definición: Unicode es una norma de codificación de caracteres que pretende abarcar todos los caracteres y símbolos utilizados en los sistemas de escritura humana. Proporciona un punto de código único para cada carácter.
    • Ejemplo: El punto de código Unicode para la letra latina "A" es U+0041, para la letra griega alfa (α) es U+03B1.
  • UTF-8 (Formato de transformación Unicode 8 bits):
    • Definición: UTF-8 es una codificación de caracteres de longitud variable que puede representar todos los caracteres Unicode. Utiliza secuencias de 8 bits para codificar los caracteres, y el número de bytes utilizados depende del carácter.
    • Ejemplo: La codificación UTF-8 de la letra "A" es la misma que su punto de código ASCII, que es 65. Sin embargo, para caracteres fuera del rango ASCII, UTF-8 utiliza varios bytes. Por ejemplo, la codificación UTF-8 del símbolo del euro (€) es la secuencia 0xE2 0x82 0xAC.
  • UTF-16 (Formato de transformación Unicode 16 bits):
    • Definición: UTF-16 es otra codificación de caracteres de longitud variable que utiliza secuencias de 16 bits para codificar caracteres. Es capaz de representar todo el conjunto de caracteres Unicode.
    • Ejemplo: La codificación UTF-16 de la letra latina 'A' es 0x0041, y la codificación UTF-16 de la letra griega alpha (α) es 0x03B1.
  • UTF-32 (Formato de transformación Unicode 32 bits):
    • Definición: UTF-32 utiliza una secuencia fija de 32 bits para cada carácter, lo que lo hace sencillo pero potencialmente derrochador en términos de espacio de almacenamiento para caracteres fuera de la gama ASCII.
    • Ejemplo: La codificación UTF-32 de la letra latina 'A' es 0x00000041, y la codificación UTF-32 de la letra griega alpha (α) es 0x000003B1.
  • ISO-8859-1 (Latín-1):

    • Definición: ISO-8859-1 es una codificación de caracteres que amplía ASCII para incluir caracteres de idiomas de Europa Occidental. Utiliza 8 bits para cada carácter.
    • Ejemplo: El código ISO-8859-1 para la letra "A" sigue siendo 65, "B" es 66, pero también incluye caracteres como "é". (233) y ü (252).

    Tenga en cuenta
    La codificación de bytes por defecto en IronBarcode es ISO-8859-1. Si los usuarios no especifican la codificación de bytes, se utilizará esta codificación.

    Antes de seguir
    Al elegir la codificación de bytes que se va a utilizar, tenga en cuenta también la codificación de códigos de barras que se va a utilizar, ya que no todas las codificaciones de códigos de barras pueden aceptar entradas de todas las codificaciones de bytes. Consulte este página para más información sobre las codificaciones de los códigos de barras.

    Veamos ahora el fragmento de código para demostrarlo:

: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"); //  ID del recibo (id numérico)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); //  Identificador de vuelo (identificador alfanumérico)
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") '  ID del recibo (id numérico)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") '  Identificador de vuelo (identificador alfanumérico)
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#

En el fragmento dado, 5 entradas de cadena se transforman en Sistema.Byte []. Para convertir estas matrices de bytes en códigos de barras, inclúyalas como parámetros en Escritor de códigos de barrasjunto con el Código de barras. Opcionalmente, establezca Anchura máxima y Altura máxima para el tamaño del código de barras.

Crear código de barras a partir de un flujo

No parece completo si una API de código de barras admite entradas de matrices de bytes, pero no admite System.IO.Stream objeto. Por lo tanto, IronBarcode también proporciona soporte para que! Esto es conveniente para los usuarios que trabajan con MemoryStreams y quieren generar códigos de barras sin convertir los tipos de entrada. Aquí está el fragmento de código para demostrarlo.

: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")); //  ID del recibo (id numérico)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); //  Identificador de vuelo (identificador alfanumérico)
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")) '  ID del recibo (id numérico)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) '  Identificador de vuelo (identificador alfanumérico)
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#

El fragmento proporcionado amplía el anterior. Aquí, creamos nuevos MemoryStream instancias de la anterior Sistema.Byte [] objects. Como antes, los usuarios pueden introducir estas nuevas instancias en BarcodeWriter.CreateBarcode() para generar códigos de barras a partir de MemoryStream objetos.