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

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

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.


Empezar a utilizar IronBarcode

Comience a usar IronBarcode en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

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"; // 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#

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 comoImágenes, Corrientes, Cadena HTMLo comoDocumento 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 System.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).

    Atención
    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 proceder
    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"); // 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#

En el fragmento dado, 5 entradas de cadena se transforman en System.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")); // 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#

El fragmento proporcionado amplía el anterior. Aquí, creamos nuevos MemoryStream instancias de la anterior System.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.

Hairil related to Crear código de barras a partir de un flujo

Hairil Hasyimi Bin Omar

Ingeniero de software

Como todos los grandes ingenieros, Hairil es un ávido aprendiz. Está perfeccionando sus conocimientos de C#, Python y Java, y los utiliza para añadir valor a los miembros del equipo de Iron Software. Hairil se unió al equipo de Iron Software desde la Universiti Teknologi MARA de Malasia, donde se licenció en Ingeniería Química y de Procesos.