Saltar al pie de página
USO DE IRONBARCODE

Cómo Agregar un Código de Barras en Crystal Reports usand C#

Crystal Reports es una potente herramienta 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, haciendo que sea más fácil gestionar y seguir la información. En este artículo, exploraremos los pasos para integrar códigos de barras en Crystal Reports usando C#.

Cómo agregar un código de barras en Crystal Reports usando C

  1. Instalar la Biblioteca de Código de Barras.
  2. Generar una imagen de Código de Barras y guardarla como una imagen en una tabla de base de datos.
  3. Diseñar el diseño para el Crystal Report.
  4. Establecer una conexión a la base de datos y seleccionar la tabla necesaria.
  5. Incluir un campo de Imagen de Código de Barras en el diseño del Crystal Report.
  6. Compilar y ejecutar el proyecto.

Elija una biblioteca de códigos de barras

Antes de profundizar en la implementación, es esencial seleccionar una biblioteca de código de barras que soporte Crystal Reports y C#. Una opción popular es IronBarcode para .NET.

¿Qué es IronBarcode?

IronBarcode es una versátil biblioteca de .NET que simplifica la generación y lectura de códigos de barras. Con IronBarcode, puedes crear fácilmente varios códigos de barras, incluidos los códigos 128 y QR, especificando el valor a codificar. También admite redimensionamiento y personalización. En el lado de la lectura, IronBarcode puede extraer datos de códigos de barras de imágenes o PDFs, lo que lo hace ideal para la gestión de inventarios y el seguimiento de documentos. Su API amigable para el usuario garantiza una rápida integración en tus proyectos, y el soporte multiplataforma permite un desarrollo fluido en diferentes versiones de .NET. Ya seas un desarrollador experimentado o un principiante, IronBarcode te capacita para trabajar con códigos de barras de manera eficiente.

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 usar cualquier versión, pero asegúrese de tener instalados los informes de Crystal para Visual Studio para esa versión en particular.

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 1 - Abrir Visual Studio. Crear un nuevo proyecto de ASP.NET Crystal Reports Web Site.

Seleccione el Nombre del Proyecto, Ubicación y Framework 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 - Un nuevo proyecto se creará con una página predeterminada CrystalReport1.rpt.

Antes de comenzar, necesitamos tener una Base de Datos. Vamos a crear una nueva base de datos y una tabla de muestra.

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. Crearemos un código de barras y lo guardaremos en la tabla Producto. Por lo tanto, necesitamos insertar datos usando código C# e instalar la Biblioteca IronBarcode en nuestro proyecto para usar sus funciones para crear códigos de barras.

Instalar la biblioteca IronBarcode

Para instalar la biblioteca IronBarcode usando la Consola del Administrador de Paquetes NuGet, siga estos pasos:

Abre la Consola del Administrador de Paquetes NuGet. Se puede encontrar yendo a Ver -> Otras Ventanas -> Consola del Administrador de Paquetes.

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 3 - Abrir Consola del Administrador de Paquetes NuGet. Navegar al menú Vista - Otras Ventanas - Consola del Administrador de Paquetes

En la Consola del Administrador de Paquetes, use el siguiente comando para instalar la biblioteca IronBarcode:

Install-Package BarCode

Presione Enter para ejecutar el comando.

Alternativamente, puede instalar la biblioteca IronBarcode usando Administrar Paquetes NuGet para la Solución:

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 4 - Instalar IronBarcode usando Gestionar Paquete NuGet para Solución buscando IronBarcode en la barra de búsqueda de Administrador de Paquetes NuGet, luego seleccione el proyecto y haga clic en el botón Instalar.

Espere a que el Administrador de Paquetes NuGet descargue e instale la biblioteca IronBarcode y sus dependencias. Una vez completada la instalación, verá un mensaje de confirmación en la Consola del Administrador de Paquetes.

Ahora, la biblioteca IronBarcode está instalada en su proyecto, y puede comenzar a usar 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

Generaremos imágenes de códigos de barras y las almacenaremos en la base de datos usando ADO.NET. El siguiente código demuestra el ejemplo de la generación de un código de barras en C#.

using System;
using System.Data.SqlClient;
using IronBarCode;

class Program
{
    static void Main(string[] args)
    {
        // Create a barcode from a string value using Code128 format.
        var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
        // Add the barcode value text below the barcode image.
        myBarcode.AddBarcodeValueTextBelowBarcode();
        // Resize the barcode image.
        myBarcode.ResizeTo(600, 300);

        // SQL connection to the SQL Server database.
        using (SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;"))
        {
            // SQL command to insert the barcode into the Products table.
            SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn);
            // Add parameter for the barcode binary data.
            cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream);

            // Open the connection, execute the query, close the connection.
            cn.Open();
            cmd.ExecuteNonQuery();
            cn.Close();
        }
    }
}
using System;
using System.Data.SqlClient;
using IronBarCode;

class Program
{
    static void Main(string[] args)
    {
        // Create a barcode from a string value using Code128 format.
        var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
        // Add the barcode value text below the barcode image.
        myBarcode.AddBarcodeValueTextBelowBarcode();
        // Resize the barcode image.
        myBarcode.ResizeTo(600, 300);

        // SQL connection to the SQL Server database.
        using (SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;"))
        {
            // SQL command to insert the barcode into the Products table.
            SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn);
            // Add parameter for the barcode binary data.
            cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream);

            // Open the connection, execute the query, close the connection.
            cn.Open();
            cmd.ExecuteNonQuery();
            cn.Close();
        }
    }
}
Imports System
Imports System.Data.SqlClient
Imports IronBarCode

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a barcode from a string value using Code128 format.
		Dim myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)
		' Add the barcode value text below the barcode image.
		myBarcode.AddBarcodeValueTextBelowBarcode()
		' Resize the barcode image.
		myBarcode.ResizeTo(600, 300)

		' SQL connection to the SQL Server database.
		Using cn As New SqlConnection("Data Source=localhost\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;")
			' SQL command to insert the barcode into the Products table.
			Dim cmd As New SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn)
			' Add parameter for the barcode binary data.
			cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream)

			' Open the connection, execute the query, close the connection.
			cn.Open()
			cmd.ExecuteNonQuery()
			cn.Close()
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Explicación del código

1. Generación de código de barras

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

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

    • Esta función agrega un texto descriptivo del valor del código de barras debajo del mismo.
  3. ResizeTo(600, 300)

    • Ajusta la altura y el ancho de la imagen del código de barras a las dimensiones proporcionadas.
  4. Puede 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 será generado por el 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;Integrated Security=SSPI;");

    • Establece una conexión a 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);

    • Crea un nuevo objeto SqlCommand. Este comando representa una consulta SQL para insertar datos en la tabla Products.
    • 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();: La consulta SQL se ejecuta, insertando los valores especificados en la tabla Products.
  3. cn.Close();: Se cierra la conexión a la base de datos para liberar recursos.

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

Ahora, diseñe el diseño del informe, agregue conexiones de base de datos y organice 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 Base de Datos.

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 6 - Agregar conexión a la base de datos al diseño del informe: Abra Explorador de Campos - Campo de Base de Datos - Experto en Base de Datos.

  1. Expanda Crear una nueva Conexión => OLE DB(ADO) => Crear Nueva Conexión.

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 7 - Expanda Crear una nueva Conexión - OLE DB(ADO) - Crear Nueva Conexión.

  1. Seleccione Fuente de Datos OLE DB de Microsoft para SQL Server y haga clic en Siguiente.

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 8 - Seleccione Fuente de Datos OLE DB de Microsoft para SQL Server y haga clic en Siguiente.

  1. Proporcione el Nombre del Servidor, Credenciales de Inicio y Nombre de la Base de Datos como se muestra a continuación.

    Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 9 - Especificar el Nombre del Servidor SQL, Credenciales de Inicio de Sesión, y el Nombre de la Base de Datos. Luego haga clic en Siguiente - luego Finalizar.

  2. Presione el botón Siguiente, aparecerá una nueva ventana, y luego haga clic en Finalizar.
  3. Seleccione la tabla que desea agregar. En este caso, seleccione la tabla Products.

    Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 10 - Agregar tabla: Seleccione la tabla Products de la base de datos ProductDB. Luego haga clic en el botón OK.

  4. Haga clic en el Botón OK.

Hemos configurado una Conexión a la Base de Datos. Ahora, configuremos el diseño del Informe.

Ahora, he agregado un Cuadro de Texto con el texto "Código de barras en Crystal report C#". Agregué un cuadro de texto, y arrastré y solté el ID del Producto, Nombre del Producto, Campo de Precio del Producto, y el Código de Barras del Producto de los campos de la base de datos y los coloqué 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 Informe Crystal en C#. Arrastrar y soltar los campos ID del Producto, Nombre del Producto, Precio del Producto, Código de Barras del Producto de los campos de la base de datos.

Vea la Vista Previa del Crystal Report en el Visor de Crystal Report.

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 12 - Verificar la Vista Previa del Crystal Report en el Visor de Crystal Report.

Compilar y ejecutar el proyecto. El resultado es el siguiente:

Cómo Agregar un Código de Barras en Crystal Reports usando C#: Figura 13 - Salida: Crystal Report con código de barras

No he descargado el paquete de conjunto de datos de muestra, asegurando que tenía el archivo de datos correcto, y procedí a crear un Informe Crystal en C# para una visualización de datos completa.

De esta manera, podemos crear un código de barras en la aplicación Crystal Reports sin descargar la Fuente del Código de Barras. De manera similar, también podemos agregar un Código QR según su requerimiento.

Conclusión

En conclusión, integrar códigos de barras en Crystal Reports usando C# es una manera poderosa de mejorar la representación y gestión de datos. Elegir una biblioteca de códigos de barras confiable como IronBarcode agiliza el proceso, ofreciendo versatilidad y facilidad de uso. IronBarcode, con su soporte para varios tipos de códigos de barras, redimensionamiento y funciones de personalización, resulta ser un activo valioso en tareas de generación y lectura de códigos de barras. La guía paso a paso proporcionada aquí asegura un proceso de implementación fluido, desde la selección de la biblioteca hasta el diseño del layout de Crystal Report.

Además, IronBarcode ofrece a los desarrolladores la oportunidad de desbloquear funcionalidades adicionales y soporte para mejorar su experiencia de integración de códigos de barras. Esta flexibilidad hace de IronBarcode una elección atractiva para los desarrolladores, ya sea que estén trabajando en proyectos de pequeña escala o aplicaciones a nivel empresarial.

Preguntas Frecuentes

¿Cómo puedo integrar códigos de barras en Informes de Crystal usando C#?

Para integrar códigos de barras en Informes de Crystal utilizando C#, puede usar IronBarcode para generar imágenes de código de barras. Primero, instale la biblioteca de IronBarcode, genere la imagen del código de barras, guárdela en una base de datos y luego use Informes de Crystal para diseñar la disposición e incorporar la imagen del código de barras.

¿Cuál es el proceso para generar un código de barras en C#?

Usando IronBarcode, puede generar un código de barras en C# creando un objeto de código de barras, personalizándolo con opciones como redimensionar y agregar texto, y luego guardando la imagen en un archivo o base de datos para usar en informes.

¿Cómo se guarda una imagen de código de barras en una base de datos en C#?

Después de generar una imagen de código de barras con IronBarcode, puede guardarla en una base de datos convirtiendo la imagen a formato binario y usando ADO.NET para insertarla en una tabla de base de datos.

¿Cuáles son los beneficios de usar IronBarcode para la generación de códigos de barras en C#?

IronBarcode es beneficioso para la generación de códigos de barras en C# porque admite varios formatos de códigos de barras, permite la personalización y proporciona una API sencilla para una integración rápida en aplicaciones, mejorando tanto el inventario como el seguimiento de documentos.

¿Cómo puedo configurar una conexión de base de datos en Informes de Crystal para la integración de códigos de barras?

Para configurar una conexión a una base de datos en Informes de Crystal, use el Explorador de campos para navegar hasta Campo de base de datos, luego vaya a Experto en base de datos, expanda Crear una nueva conexión, seleccione OLE DB(ADO) y configure su conexión con los detalles necesarios del servidor.

¿Se puede usar IronBarcode para generar códigos QR en Informes de Crystal?

Sí, IronBarcode se puede usar para generar códigos QR, junto con otros tipos de códigos de barras, siendo una elección versátil para integrar diferentes formatos de códigos de barras en Informes de Crystal.

¿Qué pasos se deben seguir para diseñar una disposición de Informe de Crystal con códigos de barras?

El diseño de una disposición de Informe de Crystal con códigos de barras involucra crear una plantilla de informe, establecer una conexión de base de datos, agregar el campo de imagen de código de barras y formatear el informe para incorporar de manera efectiva los datos de código de barras.

¿Cómo mejora IronBarcode las capacidades de informes en proyectos C#?

IronBarcode mejora las capacidades de informes en proyectos C# al proporcionar una solución flexible y fácil de usar para generar e integrar códigos de barras, lo que mejora la visualización y gestión de datos en los informes.

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 para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más