Saltar al pie de página
USO DE IRONBARCODE

Cómo Imprimir Códigos de Barras en Crystal Reports con VB.NET

Para imprimir códigos de barras en Crystal Reports con VB .NET, instale IronBarcode a través de NuGet, genere imágenes de códigos de barras usando BarcodeWriter.CreateBarcode() y vincule los datos binarios resultantes a un campo de imagen en su Crystal Report. Este enfoque elimina las dependencias de fuentes y produce códigos de barras escaneables y listos para imprimir en minutos.

Agregar códigos de barras a Crystal Reports puede mejorar sus procesos comerciales, haciéndolos más rápidos y precisos, desde el seguimiento del inventario hasta la generación de informes detallados. Si alguna vez ha intentado utilizar códigos de barras basados ​​en fuentes en VB .NET, sabe lo complicado que puede ser con fórmulas complejas, formatos limitados y problemas de impresora que pueden hacerlo frustrante.

Los SDK de generadores de códigos de barras modernos, como IronBarcode , facilitan la creación e impresión de códigos de barras. En esta guía, encontrará todo lo que necesita: configurar IronBarcode en Visual Studio, generar códigos de barras y mostrarlos directamente en sus Crystal Reports. Al final, podrás producir códigos de barras profesionales y confiables con un mínimo de complicaciones.

¿Cuáles son los métodos para imprimir códigos de barras en Crystal Reports?

Existen dos enfoques principales para agregar códigos de barras a Crystal Reports: métodos basados en fuentes y soluciones SDK.

Los métodos basados en fuentes requieren instalar fuentes especiales de códigos de barras (fuentes True Type) en tu carpeta de fuentes y usar fórmulas o una Biblioteca de Funciones de Usuario (UFL) para codificar datos. Aunque este enfoque funciona, a menudo implica fórmulas de codificación complejas, soporte limitado de formatos de código de barras (como Code 39 o data matrix) y posibles problemas de renderizado de fuentes en diferentes impresoras y sistemas, como se discute en la documentación de Microsoft sobre renderizado de fuentes.

Las soluciones basadas en SDK ofrecen una alternativa más fiable. Estas bibliotecas generan imágenes de códigos de barras mediante programación, lo que ofrece mayor fiabilidad, amplia compatibilidad de formatos y una implementación más sencilla. IronBarcode ejemplifica este enfoque moderno, permitiendo a los desarrolladores generar códigos de barras como imágenes que se integran con Crystal Reports a través de campos de base de datos estándar u objetos DataTable. Este método asegura una renderización consistente en todas las plataformas y elimina los problemas de dependencia de fuentes al imprimir un código de barras en un Crystal Report usando VB.NET.

Métodos de código de barras basados ​​en fuentes y en SDK en Crystal Reports
Factor Método basado en fuentes Método basado en SDK (IronBarcode)
Complejidad de configuración Alto: requiere instalación de fuentes y fórmulas de codificación Bajo: instalación de un solo paquete NuGet
soporte de formato de código de barras Limitada (Código 39, Código 128) Más de 30 formatos, incluidos QR, Data Matrix y PDF417
Consistencia entre impresoras Inconsistente: depende de las fuentes instaladas Consistente: representación basada en imágenes
Carga de mantenimiento Alto: las fuentes deben administrarse por máquina Bajo: administrado mediante actualizaciones de NuGet
Confiabilidad del escaneo Variable Alto: IronBarcode genera imágenes verificadas

¿Cómo instalar IronBarcode para VB .NET?

Configurar IronBarcode en tu proyecto de VB.NET requiere una configuración mínima. Primero, instala la biblioteca a través del Administrador de paquetes NuGet ejecutando:

Install-Package BarCode
Install-Package BarCode
SHELL

Alternativamente, utilice la interfaz de usuario del Administrador de paquetes en Visual Studio para buscar e instalar "BarCode". Una vez instalado, importa el espacio de nombres en tu código VB.NET:

Imports IronBarCode

Asegúrese de que su proyecto tenga como objetivo .NET Framework 4.6.2 o superior, o cualquier versión de .NET Core, .NET 5 o .NET 6+. IronBarcode funciona con todas las versiones de Crystal Reports que soportan campos de imagen, haciéndolo ampliamente compatible con proyectos existentes. Para obtener instrucciones de configuración detalladas, consulte la guía de inicio de IronBarcode .

Descarga IronBarcode hoy para comenzar a crear códigos de barras profesionales en tus Crystal Reports.

¿Qué versiones de .NET admite IronBarcode ?

IronBarcode se dirige a una amplia gama de entornos de ejecución .NET :

  • .NET Framework 4.6.2 y superior
  • .NET Core 3.1+
  • .NET 5, 6, 7, 8 y 9
  • .NET Standard 2.0+

Esta amplia compatibilidad significa que puede integrar IronBarcode en aplicaciones VB .NET heredadas que se ejecutan en .NET Framework con la misma facilidad que en aplicaciones modernas dirigidas a .NET 8 o posterior. Consulte la documentación de compatibilidad de IronBarcode para obtener la matriz de soporte completa.

¿Cómo generar códigos de barras y almacenarlos en una base de datos?

Para crear códigos de barras con IronBarcode y almacenarlos para Crystal Reports es necesario generar la imagen del código de barras y guardarla en la base de datos mediante una SqlConnection o una OleDbConnection. He aquí un ejemplo completo:

Opción 1: Utilizar una base de datos SQL

Imports IronBarCode
Imports System.Data.SqlClient

Module BarcodeGenerator
    Sub CreateAndStoreBarcode()
        ' Generate a Code128 barcode
        Dim myBarcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
        ' Add readable text below the barcode
        myBarcode.AddBarcodeValueTextBelowBarcode()
        ' Resize to appropriate dimensions
        myBarcode.ResizeTo(400, 150)
        ' Connect to your database
        Using connection As New SqlConnection("YourConnectionString")
            Dim cmd As New SqlCommand(
                "INSERT INTO Products (ProductCode, BarcodeImage) VALUES (@Code, @Image)",
                connection)
            cmd.Parameters.AddWithValue("@Code", "PROD-12345")
            cmd.Parameters.AddWithValue("@Image", myBarcode.BinaryStream)
            connection.Open()
            cmd.ExecuteNonQuery()
        End Using
    End Sub
End Module

Este ejemplo genera un código de barras Código 128 y lo almacena como datos binarios en SQL Server. El método AddBarcodeValueTextBelowBarcode() agrega texto legible por humanos debajo del símbolo del código de barras, lo que lo hace utilizable tanto para escaneo como para inspección visual. El método ResizeTo() ajusta las dimensiones para adaptarse al diseño de su informe.

Opción 2: Usar una DataTable

Para escenarios en los que no se necesita almacenamiento persistente, un enfoque DataTable evita la base de datos por completo:

Imports IronBarCode
Imports System.Data

Function CreateBarcodeDataTable() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))

    ' Generate a barcode for each product
    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "PROD-12345"

    Dim barcode = BarcodeWriter.CreateBarcode("PROD-12345", BarcodeWriterEncoding.Code128)
    barcode.AddBarcodeValueTextBelowBarcode()
    barcode.ResizeTo(400, 150)
    row("Barcode") = barcode.BinaryStream

    dt.Rows.Add(row)
    Return dt
End Function

Este enfoque de DataTable es ideal para vistas previas de informes, trabajos de impresión únicos o cuando la infraestructura de base de datos no está disponible. Puede recorrer una lista de productos y agregar una fila para cada artículo, generando códigos de barras a pedido. Para conocer más formatos de códigos de barras, explore los tipos de códigos de barras compatibles o consulte los tutoriales de IronBarcode .

¿Cómo personalizar la apariencia del código de barras?

Más allá de la simple generación, IronBarcode ofrece varias opciones de personalización útiles en los informes impresos:

  • Márgenes : use myBarcode.SetMargins() para agregar espacio en blanco alrededor del código de barras, lo que mejora la confiabilidad del escaneo.
  • Colores : cambie los colores de primer plano y de fondo para los diseños de informes de marca
  • Anotaciones : agregue texto personalizado encima o debajo del código de barras usando AddBarcodeValueTextAboveBarcode()
  • Resolución : configure DPI para obtener una salida de impresión de alta calidad usando myBarcode.SetDPI()

Consulte la guía de personalización de códigos de barras para obtener ejemplos de códigos que cubren cada opción.

¿Cómo se muestran códigos de barras en Crystal Reports?

Una vez que los códigos de barras están almacenados en tu base de datos, mostrarlos en Crystal Reports sigue los procedimientos estándar de campos de imagen:

  1. Abre Crystal Reports y crea un nuevo informe o abre uno existente
  2. En Field Explorer, haz clic derecho en "Database Fields" y selecciona "Database Expert"

    Cómo imprimir códigos de barras en Crystal Reports con VB .NET: Figura 1 - Ventana del experto en bases de datos

  3. Conéctate a tu base de datos y selecciona la tabla que contiene imágenes de códigos de barras
  4. Arrastra el campo de imagen del código de barras a la superficie de diseño de tu informe
  5. Redimensiona y posiciona el campo según sea necesario

Tu diseñador de informes debería verse similar a esto:

Cómo imprimir códigos de barras en Crystal Reports con VB .NET: Figura 2 - diseño del diseñador de informes

Para la generación dinámica de códigos de barras durante el tiempo de ejecución del informe, modifique su DataTable o consulta de base de datos para generar códigos de barras sobre la marcha. El siguiente ejemplo muestra cómo vincular un DataTable creado dinámicamente a un CrystalReportViewer:

Imports IronBarCode
Imports System.Data

Function GetReportData() As DataTable
    Dim dt As New DataTable()
    dt.Columns.Add("ProductCode", GetType(String))
    dt.Columns.Add("Barcode", GetType(Byte()))

    Dim row As DataRow = dt.NewRow()
    row("ProductCode") = "CUSTOMER-12345"

    Dim barcode = BarcodeWriter.CreateBarcode("CUSTOMER-12345", BarcodeWriterEncoding.Code128)
    barcode.AddBarcodeValueTextBelowBarcode()
    barcode.ResizeTo(400, 150)
    row("Barcode") = barcode.BinaryStream

    dt.Rows.Add(row)
    Return dt
End Function

Este enfoque genera códigos de barras dinámicamente cuando se carga el informe, eliminando la necesidad de almacenar imágenes previamente en la base de datos. Puede exportar informes a PDF utilizando las funciones de exportación integradas de Crystal Reports. Para más información sobre las fuentes de datos de Crystal Reports, consulta la documentación de Crystal Reports de SAP.

Resultado

Su informe Crystal mostrará el código de barras con texto legible y dimensiones adecuadas. Ajuste el tamaño del campo o los márgenes según sea necesario para escáneres, impresoras o etiquetas. El código de barras se puede incluir en PDF, formularios impresos o plantillas de etiquetas directamente desde su aplicación VB .NET .

Cómo imprimir códigos de barras en Crystal Reports con VB .NET: Figura 3 - Visualización de códigos de barras generados con Crystal Reports Viewer

¿Cómo manejar los problemas más comunes en la impresión de códigos de barras?

Pueden surgir varios problemas al implementar códigos de barras en Crystal Reports utilizando VB .NET. Los siguientes consejos para la solución de problemas abordan los problemas más frecuentes:

Problemas comunes y soluciones para la impresión de códigos de barras de Crystal Reports
Edición Causa Solución
Códigos de barras borrosos Baja resolución de imagen Utilice `ResizeTo()` con dimensiones más grandes o configure un DPI más alto
Fallos de escaneo Zona de silencio insuficiente Agregue márgenes con `SetMargins()` ; agregue asteriscos para el Código 39
Errores de conexión a la base de datos Parámetros de conexión incorrectos Verificar la cadena OleDbConnection o SqlConnection y el enlace del conjunto de datos
Tipo de datos incorrecto en la base de datos Campo no establecido en tipo binario Utilice el tipo de columna `image` o `varbinary(max)`
Los códigos de barras no se muestran Problema de permiso o ruta Verifique que el visor de Crystal Reports tenga permisos de acceso a la base de datos/DataTable
Errores de DLL faltantes Instalación incompleta Reinstalar a través de NuGet; verificar que la DLL de IronBarcode esté referenciada en el proyecto

Para obtener ayuda adicional para la resolución de problemas, visita la guía de solución de problemas de IronBarcode . El foro de soporte de IronBarcode también está disponible para preguntas específicas y casos especiales no cubiertos en la documentación.

¿Cómo elegir el formato de código de barras adecuado?

La elección del formato de código de barras correcto es importante para la compatibilidad del hardware de escaneo y la capacidad de datos. Los formatos más comunes para informes comerciales son:

  • Código 128 – Código de barras lineal de uso general; alta densidad de datos; Funciona con la mayoría de los escáneres. Utilice BarcodeWriterEncoding.Code128.
  • Código 39 – Norma antigua; ampliamente apoyado; codifica caracteres alfanuméricos. Utilice BarcodeWriterEncoding.Code39.
  • Código QR - Código de barras 2D; almacena grandes cantidades de datos, incluidas URL. Utilice BarcodeWriterEncoding.QRCode.
  • Data Matrix - Código de barras 2D compacto; común en la fabricación y la logística. Utilice BarcodeWriterEncoding.DataMatrix.
  • PDF417 – Código de barras 2D de alta capacidad; Se utiliza para etiquetas de envío e identificaciones. Utilice BarcodeWriterEncoding.PDF417.

Consulte la lista completa de formatos de códigos de barras admitidos al seleccionar la codificación adecuada para su caso de uso. Para leer códigos de barras desde las imágenes de salida de Crystal Report, consulte el tutorial del lector de códigos de barras .

¿Cuales son tus próximos pasos?

La implementación de códigos de barras en Crystal Reports mediante VB .NET e IronBarcode proporciona una solución confiable para la mejora de los informes. Este enfoque basado en SDK elimina las dependencias de fuentes mientras ofrece extensas opciones de personalización. Ya sea que utilice una base de datos o un DataTable, puede implementar códigos de barras profesionales, incluidos Data Matrix, Code 39 y códigos QR, en su aplicación Crystal Reports.

Para continuar construyendo su flujo de trabajo de código de barras:

Comience a implementar códigos de barras en su proyecto hoy mismo explorando la prueba gratuita de IronBarcode para explorar sus capacidades completas para imprimir códigos de barras en Crystal Reports usando VB .NET. El SDK de SAP Crystal Reports está documentado en el portal para desarrolladores de SAP para patrones de integración adicionales.

Preguntas Frecuentes

¿Cuáles son los beneficios de usar IronBarcode en Crystal Reports con VB.NET?

Usar IronBarcode en Crystal Reports con VB.NET te permite integrar códigos de barras sin problemas, mejorando los procesos empresariales para tareas como el seguimiento de inventarios y la generación de informes detallados. Simplifica la generación de códigos de barras en comparación con las soluciones basadas en fuentes.

¿Cómo mejora IronBarcode la generación de códigos de barras en Crystal Reports?

IronBarcode mejora la generación de códigos de barras al proporcionar un SDK directo que elimina la necesidad de fórmulas complejas y reduce los problemas relacionados con formatos limitados y compatibilidad con impresoras en Crystal Reports.

¿Puede IronBarcode manejar diferentes formatos de códigos de barras en Crystal Reports?

Sí, IronBarcode soporta una amplia gama de formatos de códigos de barras, haciéndolo versátil para varias aplicaciones dentro de Crystal Reports, asegurando compatibilidad y confiabilidad.

¿Es difícil integrar IronBarcode en un proyecto VB.NET?

No, integrar IronBarcode en un proyecto VB.NET está diseñado para ser fácil de usar con documentación clara y soporte, haciendo el proceso fluido y eficiente.

¿Por qué debería elegir IronBarcode sobre soluciones de códigos de barras basadas en fuentes?

IronBarcode proporciona una solución más robusta y flexible que los códigos de barras basados en fuentes, evitando fórmulas complejas y problemas de impresoras, y ofreciendo amplio soporte de formatos y confiabilidad.

¿IronBarcode admite la impresión de códigos de barras directamente desde Crystal Reports?

Sí, IronBarcode permite la impresión directa de códigos de barras desde Crystal Reports, asegurando una salida de alta calidad y reduciendo la complejidad a menudo asociada con otros métodos.

¿Cuáles son los problemas comunes con los códigos de barras basados en fuentes en VB.NET?

Los códigos de barras basados en fuentes a menudo involucran fórmulas complejas, opciones de formato limitadas y problemas de compatibilidad con impresoras, que IronBarcode ayuda a superar con su SDK completo.

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

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame