USO DE IRONBARCODE

Cómo añadir un código de barras en Crystal Reports usando C#

Jordi Bardia
Jordi Bardia
3 de abril, 2024
Compartir:

Crystal Reports es una potente herramienta de generación de informes que permite a los desarrolladores crear informes ricos en funciones para sus aplicaciones. Cuando se trata de incluir códigos de barras en Crystal Reports usando C#, agrega una nueva dimensión a la representación de datos, facilitando la gestión y el seguimiento de la información. En este artículo, exploraremos los pasos para integrar códigos de barras en Crystal Reports utilizando C#.

Cómo añadir un código de barras en Crystal Reports utilizando C#

  1. Instale la biblioteca de códigos de barras.

  2. Generar una imagen de código de barras y guardarla como imagen en una tabla de base de datos.

  3. Diseñe la presentación del informe Crystal Report.

  4. Establezca una conexión con la base de datos y seleccione la tabla necesaria.

  5. Incluir un campo Imagen de código de barras en el diseño de Crystal Report.

  6. Construye y ejecuta el proyecto.

Elija una biblioteca de códigos de barras

Antes de sumergirse en la implementación, es esencial seleccionar una biblioteca de códigos de barras compatible con Crystal Reports y C#. Una opción popular es el IronBarcode para .NET.

Qué es IronBarcode

IronBarcode es una versátil biblioteca .NET que simplifica la generación y lectura de códigos de barras. Con IronBarcode, puedes crear varios códigos de barras, incluyendo Code 128 y códigos QR, especificando el valor a codificar. También admite redimensionamiento y personalización. En cuanto a la lectura, IronBarcode puede extraer datos de códigos de barras de imágenes o PDF, por lo que resulta ideal para la gestión de inventarios y el seguimiento de documentos. Su API de fácil uso garantiza una rápida integración en sus proyectos, y la compatibilidad multiplataforma permite un desarrollo fluido en distintas versiones de .NET. Tanto si es un desarrollador experimentado como un principiante, IronBarcode le permite trabajar con códigos de barras de forma eficaz.

Crear un nuevo proyecto

Abra Visual Studio para crear un sitio web de informes de Crystal en ASP.NET. Estoy usando Visual Studio 2022. Puede utilizar cualquiera, pero asegúrese de que está instalada la versión de Crystal Reports para Visual Studio correspondiente.

Cómo agregar un código de barras en Crystal Reports usando C#: Figura 1 - Abrir Visual Studio. Cree un nuevo proyecto de "Sitio web de Crystal Reports de ASP.NET".

Seleccione el nombre del proyecto, la ubicación y el marco objetivo. Haga clic en el botón Crear. Se creará un nuevo Proyecto como se muestra a continuación.

Cómo agregar un código de barras en Crystal Reports usando C#: Figura 2 - Se creará un nuevo proyecto con una página predeterminada CrystalReport1.rpt.

Antes de empezar, necesitamos una base de datos. Vamos a crear una nueva base de datos y una tabla de ejemplo.

Crear una nueva base de datos

El siguiente script creará una nueva base de datos.

CREATE DATABASE ProductDB;
USE [ProductDB]
GO
/****** Object:  Table [dbo].[Products]    Script Date: 3/10/2024 2:57:18 PM**/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Products](
    [Product_ID] [int] NULL,
    [Product_Name] [varchar](100) NULL,
    [Product_Price] [decimal](18, 0) NULL,
    [Product_Barcode] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Vamos a insertar datos en esta tabla. Necesitamos crear un código de barras y guardarlo en la tabla Producto. Por lo tanto, necesitamos insertar datos usando Código C#. Necesitamos instalar IronBarcode Library en nuestro Proyecto para utilizar sus características para crear códigos de barras.

Instalar la librería IronBarcode

Para instalar la biblioteca IronBarcode usando la consola del Administrador de paquetes NuGet, siga estos pasos:

Abra la consola del gestor de paquetes NuGet. Puede encontrarla yendo a Ver -> Otras ventanas -> Consola del gestor de paquetes.

Cómo agregar un código de barras en Crystal Reports usando C#: Figura 3 - Abrir la Consola del Administrador de Paquetes NuGet. Vaya al menú Ver - Otras ventanas - Consola del Administrador de paquetes

En la consola del gestor de paquetes, utilice el siguiente comando para instalar la biblioteca IronBarcode:

Install-Package Barcode

Pulse Intro para ejecutar el comando.

Como alternativa, puede instalar la biblioteca IronBarcode mediante Manage NuGet Packages for Solution:

Cómo agregar un código de barras en Crystal Reports usando C#: Figura 4: instala IronBarcode utilizando el administrador de paquetes NuGet para la solución buscando "IronBarcode" en la barra de búsqueda del administrador de paquetes NuGet, luego selecciona el proyecto y haz clic en el botón Instalar.

Espere a que el gestor de paquetes NuGet descargue e instale la biblioteca IronBarcode y sus dependencias. Una vez finalizada la instalación, verás un mensaje de confirmación en la consola del gestor de paquetes.

Ahora, la librería IronBarcode está instalada en su proyecto, y puede empezar a utilizar sus características para la generación y lectura de códigos de barras.

Generar imágenes de códigos de barras y almacenarlas en la base de datos

Voy a generar imágenes de código de barras, y almacenarlos en la base de datos utilizando ADO.NET. El siguiente código demostrará el ejemplo de generación de un código de barras en C#.

static void Main(string [] args)
 {
    var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
    myBarcode.AddBarcodeValueTextBelowBarcode();
    myBarcode.ResizeTo(600, 300);
    SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
    SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
     cn.Open();
     cmd.ExecuteNonQuery();
     cn.Close();
 }
static void Main(string [] args)
 {
    var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
    myBarcode.AddBarcodeValueTextBelowBarcode();
    myBarcode.ResizeTo(600, 300);
    SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
    SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
     cn.Open();
     cmd.ExecuteNonQuery();
     cn.Close();
 }
Shared Sub Main(ByVal args() As String)
	Dim myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)
	myBarcode.AddBarcodeValueTextBelowBarcode()
	myBarcode.ResizeTo(600, 300)
	Dim cn As New SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;")
	Dim cmd As New SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn)
	 cn.Open()
	 cmd.ExecuteNonQuery()
	 cn.Close()
End Sub
$vbLabelText   $csharpLabel

El código fuente anterior genera un código de barras, se conecta a una base de datos de SQL Server, inserta datos (incluido el código de barras) en la tabla de Productos y luego cierra la conexión a la base de datos.

Código Explicación

1. Generación de códigos de barras

  1. var miCodigoDeBarras = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);

    Esta línea crea un código de barras utilizando el método CreateBarcode() de la clase BarcodeWriter. El código de barras se genera a partir de los datos binarios representados por la cadena "77446252" usando el formato de codificación Code 128. La variable myBarcode ahora contiene el código de barras generado.

  2. La función AddBarcodeValueTextBelowBarcode() agregará un valor de texto debajo del código de barras.

  3. ResizeTo(600, 300) cambiará la altura y el ancho de la imagen del código de barras con las dimensiones proporcionadas.

  4. Podemos usar el método SaveAs() para guardar imágenes de códigos de barras en el sistema de archivos.

    El siguiente código de barras se generará a partir del código anterior.

    Cómo agregar un código de barras en Crystal Reports usando C#: Figura 5 - Salida: Código de barras generado

2. Configuración de la conexión a la base de datos

  1. SqlConnection cn = new SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;");

  2. Aquí se establece una conexión con una base de datos SQL Server. La cadena de conexión especifica el servidor (localhost\SQLEXPRESS), el catálogo inicial (nombre de la base de datos: ProductDB) y las credenciales de autenticación (ID de usuario sa y contraseña 123456).

3. Creación de comandos SQL

  1. SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);

  2. Se crea un nuevo objeto SqlCommand. Este comando representa una consulta SQL para insertar datos en la tabla Productos.

  3. La consulta inserta valores en las columnas de la tabla: 77446252, 'Pine Apple Small', '100', y el flujo binario del código de barras generado (myBarcode.BinaryStream).

4. Interacción con la base de datos

  1. cn.Open(): Se abre la conexión a la base de datos.

  2. cmd.ExecuteNonQuery(): Se ejecuta la consulta SQL, insertando los valores especificados en la tabla Products.

  3. cn.Close(): La conexión a la base de datos se cierra para liberar recursos.

Diseñe su generador de códigos de barras Crystal Reports

Ahora, diseñe la presentación del informe, añada conexiones a la base de datos y disponga los campos necesarios. Si eres nuevo en esto, sigue los siguientes pasos.

  1. Abra el Explorador de campos => Campo de base de datos => Experto en bases de datos.

    Cómo agregar un código de barras en Crystal Reports usando C#: Figura 6 - Agregar conexión de base de datos al diseño del informe: Abrir Explorador de campos - Campo de base de datos - Experto en bases de datos.

  2. Expandir Crear una nueva conexión => OLE DB(ADO) => Crear nueva conexión

    Cómo añadir un código de barras en Crystal Reports usando C#: Figura 7 - Expandir Crear una nueva conexión - OLE DB(ADO) - Hacer nueva conexión.

  3. Seleccione Fuente de datos Microsoft OLE DB para SQL Server. Haga clic en Siguiente.

    Cómo agregar un código de barras en Crystal Reports usando C#: Figura 8 - Selecciona la fuente de datos Microsoft OLE DB para SQL Server y haz clic en Siguiente.

  4. Indique el nombre del servidor, las credenciales de inicio de sesión y el nombre de la base de datos, como se muestra a continuación.

    Cómo añadir un código de barras en Crystal Reports usando C#: Figura 9 - Especifique el nombre del servidor SQL, las credenciales de inicio de sesión y el nombre de la base de datos. Luego haga clic en Siguiente - luego en Finalizar.

  5. Pulse el botón Siguiente, aparecerá una nueva ventana y, a continuación, pulse Finalizar.

  6. Seleccione la Tabla que desea añadir. En este caso, seleccione la tabla de productos.

    ![Cómo agregar un código de barras en Crystal Reports usando C#: Figura 10 - Agregar tabla: Seleccione la tabla de Productos de la base de datos ProductDB. A continuación, haz clic en el botón OK.

  7. Pulse el botón OK.

    Hemos establecido una conexión a la base de datos. Ahora, vamos a configurar el diseño del Informe.

    Ahora, he añadido un Cuadro de Texto con el texto "Barcode in Crystal report C#". Agregue un cuadro de texto, arrastre y suelte el ID del producto, el nombre del producto y el precio del producto, el código de barras del producto desde los campos de la base de datos y colóquelos dentro del cuadro como se muestra a continuación.

    Cómo agregar un código de barras en Crystal Reports usando C#: Figura 11 - Crear un Crystal Report en C#.  Arrastra y suelta los campos de ID de Producto, Nombre de Producto, Precio del Producto, y Código de Barras del Producto desde los campos de la base de datos.

    Ver la vista previa de Crystal Report en Crystal Report Viewer.

    Cómo agregar un código de barras en Crystal Reports usando C#: Figura 12 - Verifique la vista previa del Crystal Report en el Crystal Report Viewer.

    Construye y ejecuta el proyecto. La salida es como:

    Cómo agregar un código de barras en Crystal Reports usando C#: Figura 13 - Salida: Informe de Crystal con código de barras

    No he descargado el paquete del conjunto de datos de muestra, asegurándome de que tenía el archivo de datos correcto, y he procedido a crear un informe Crystal Report en C# para una visualización exhaustiva de los datos.

    De esta manera, podemos crear código de barras en la aplicación Crystal Reports sin necesidad de descargar la fuente de código de barras. Del mismo modo, también podemos añadir un código QR según sus necesidades.

Conclusión

En conclusión, la integración de códigos de barras en Crystal Reports mediante C# es una forma eficaz de mejorar la representación y gestión de datos. Elegir una biblioteca de códigos de barras confiable como IronBarcode simplifica el proceso, ofreciendo versatilidad y facilidad de uso. IronBarcode, gracias a su compatibilidad con varios tipos de códigos de barras, su cambio de tamaño y sus funciones de personalización, resulta ser un activo valioso en las tareas de generación y lectura de códigos de barras. La guía paso a paso que aquí se ofrece garantiza un proceso de implementación sin problemas, desde la selección de la biblioteca hasta el diseño de la presentación de Crystal Report.

Además, IronBarcode, desbloquea funcionalidades adicionales y soporte para mejorar aún más su experiencia de integración de códigos de barras. Esta flexibilidad convierte a IronBarcode en una opción atractiva para los desarrolladores, ya sea que estén trabajando en proyectos de pequeña escala o aplicaciones a nivel empresarial.

Jordi Bardia
Ingeniero de software
Jordi es más competente en Python, C# y C++, cuando no está aprovechando sus habilidades en Iron Software; está programando juegos. Compartiendo responsabilidades en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.
< ANTERIOR
Cómo generar códigos de barras en VB .NET
SIGUIENTE >
Creación de un escáner de código de barras en VB.NET Tutorial