Ir para o conteúdo do rodapé
USANDO O IRONBARCODE

Como imprimir códigos de barras no Crystal Reports com VB.NET

Para imprimir códigos de barras no Crystal Reports com VB.NET, instale IronBarcode via NuGet, gere imagens de código de barras usando BarcodeWriter.CreateBarcode() e vincule os dados binários resultantes a um campo de imagem no seu Crystal Report. Esta abordagem elimina dependências de fontes e produz códigos de barras digitalizáveis, prontos para impressão em minutos.

Adicionar códigos de barras aos Crystal Reports pode aprimorar os processos de negócios, tornando-os mais rápidos e precisos — desde o rastreamento de inventário até a geração de relatórios detalhados. Se você já tentou usar códigos de barras baseados em fontes no VB.NET, sabe como pode ser complicado com as fórmulas complexas, formatos limitados e problemas de impressora que podem ser frustrantes.

Geradores de códigos de barras modernos como IronBarcode tornam a criação e impressão de códigos de barras simples. Neste guia, você encontrará tudo o que precisa: configurar o IronBarcode no Visual Studio, gerar códigos de barras e exibi-los diretamente nos seus Crystal Reports. Ao final, você será capaz de produzir códigos de barras profissionais e confiáveis com o mínimo de complicação.

Quais São os Métodos para Imprimir Códigos de Barras em Relatórios do Crystal?

Existem duas abordagens principais para adicionar códigos de barras aos Crystal Reports: métodos baseados em fontes e soluções de SDK.

Os métodos baseados em fontes exigem a instalação de fontes especiais de código de barras (True Type fonts) na pasta de fontes e o uso de fórmulas ou de uma Biblioteca de Funções do Usuário (UFL) para codificar dados. Embora essa abordagem funcione, muitas vezes envolve fórmulas de codificação complexas, suporte limitado a formatos de código de barras (como Code 39 ou matriz de dados) e problemas potenciais de renderização de fontes em diferentes impressoras e sistemas, conforme discutido na documentação da Microsoft sobre renderização de fontes.

Soluções baseadas em SDK oferecem uma alternativa mais confiável. Estas bibliotecas geram imagens de código de barras de forma programática, oferecendo maior confiabilidade, amplo suporte de formatos e uma implementação mais fácil. IronBarcode exemplifica esta abordagem moderna, permitindo que desenvolvedores gerem códigos de barras como imagens que se integram com o Crystal Reports por meio de campos de banco de dados padrão ou objetos DataTable. Esse método garante uma renderização consistente em todas as plataformas e elimina problemas de dependência de fontes ao imprimir um código de barras em um Crystal Report usando VB.NET.

Métodos Baseados em Fonte vs. Baseados em SDK para Códigos de Barras em Crystal Reports
Fator Método Baseado em Fonte Método Baseado em SDK (IronBarcode)
Complexidade de configuração Alta — requer instalação de fontes e fórmulas de codificação Baixa — instalação única do pacote NuGet
Suporte a formatos de código de barras Limitado (Code 39, Code 128) 30+ formatos incluindo QR, Data Matrix, PDF417
Consistência entre impressoras Inconsistente — depende das fontes instaladas Consistente — renderização baseada em imagem
Carga de manutenção Alta — fontes devem ser geridas por máquina Baixa — gerida através de atualizações do NuGet
Confiabilidade da digitalização Variável Alta — IronBarcode gera imagens verificadas

Como Você Instala o IronBarcode para VB.NET?

Configurar o IronBarcode em seu projeto VB.NET requer configuração mínima. Primeiro, instale a biblioteca através do Gerenciador de Pacotes NuGet executando:

Install-Package BarCode
Install-Package BarCode
SHELL

Alternativamente, use a UI do Gerenciador de Pacotes no Visual Studio para buscar e instalar "BarCode". Após a instalação, importe o namespace em seu código VB.NET:

Imports IronBarCode

Certifique-se de que seu projeto tem como alvo o .NET Framework 4.6.2 ou superior, ou qualquer versão do .NET Core, .NET 5 ou .NET 6+. O IronBarcode funciona com todas as versões do Crystal Reports que suportam campos de imagem, tornando-o amplamente compatível com projetos existentes. Para instruções detalhadas de configuração, consulte o guia de introdução do IronBarcode.

Baixe o IronBarcode hoje para começar a criar códigos de barras profissionais nos seus Crystal Reports.

Quais Versões do .NET o IronBarcode Suporta?

IronBarcode tem como alvo uma ampla gama de runtimes .NET:

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

Essa ampla compatibilidade significa que você pode integrar o IronBarcode em aplicativos VB.NET legados executando no .NET Framework tão facilmente quanto em aplicativos modernos direcionados ao .NET 8 ou posterior. Confira a documentação de compatibilidade do IronBarcode para a matriz de suporte completa.

Como Você Gera Códigos de Barras e os Armazena em um Banco de Dados?

Criar códigos de barras com IronBarcode e armazená-los para Crystal Reports envolve gerar a imagem do código de barras e salvá-la no seu banco de dados usando uma SqlConnection ou OleDbConnection. Aqui está um exemplo completo:

Opção 1: Usando um Banco de Dados 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 exemplo gera um código de barras Code 128 e o armazena como dados binários no SQL Server. O método AddBarcodeValueTextBelowBarcode() adiciona texto legível abaixo do símbolo do código de barras, tornando-o utilizável tanto para escaneamento quanto para inspeção visual. O método ResizeTo() ajusta as dimensões para se adequar ao seu layout de relatório.

Opção 2: Usando um DataTable

Para cenários onde você não precisa de armazenamento persistente, uma abordagem com DataTable evita totalmente o banco de dados:

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

Esta abordagem com DataTable é ideal para pré-visualizações de relatórios, trabalhos de impressão únicos, ou quando a infraestrutura de banco de dados não está disponível. Você pode percorrer uma lista de produtos e adicionar uma linha para cada item, gerando códigos de barras sob demanda. Para mais formatos de código de barras, explore os tipos de código de barras suportados ou navegue pelos tutoriais do IronBarcode.

Como Você Personaliza a Aparência do Código de Barras?

Além da simples geração, o IronBarcode oferece várias opções de personalização uteis em relatórios impressos:

  • Margens -- Use myBarcode.SetMargins() para adicionar espaço em branco ao redor do código de barras, melhorando a confiabilidade da leitura
  • Cores -- Mude as cores de primeiro plano e de fundo para designs de relatórios com marca
  • Anotações -- Adicione texto personalizado acima ou abaixo do código de barras usando AddBarcodeValueTextAboveBarcode()
  • Resolução -- Defina DPI para saída de impressão de alta qualidade usando myBarcode.SetDPI()

Consulte o guia de personalização de código de barras para exemplos de código cobrindo cada opção.

Como Você Exibe Códigos de Barras no Crystal Reports?

Uma vez que os códigos de barras estão armazenados em seu banco de dados, exibi-los no Crystal Reports segue os procedimentos padrão de campos de imagem:

  1. Abra o Crystal Reports e crie um novo relatório ou abra um existente
  2. No Field Explorer, clique com o botão direito em "Database Fields" e selecione "Database Expert"

    Como Imprimir Códigos de Barras no Crystal Reports com VB.NET: Figura 1 - janela de especialista de bancos de dados

  3. Conecte-se ao seu banco de dados e selecione a tabela contendo as imagens de código de barras
  4. Arraste o campo de imagem do código de barras para a superfície de design do seu relatório
  5. Redimensione e posicione o campo conforme necessário

Seu designer de relatórios deve se parecer com isto:

Como Imprimir Códigos de Barras no Crystal Reports com VB.NET: Figura 2 - layout do designer de relatórios

Para geração dinâmica de códigos de barras durante o tempo de execução do relatório, modifique seu DataTable ou consulta de banco de dados para gerar códigos de barras na hora. O exemplo a seguir mostra como vincular um DataTable criado dinamicamente a um 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

Esta abordagem gera códigos de barras dinamicamente quando o relatório é carregado, eliminando a necessidade de pré-armazenar imagens no banco de dados. Você pode exportar relatórios para PDF usando os recursos de exportação embutidos do Crystal Reports. Para mais informações sobre fontes de dados do Crystal Reports, veja a documentação do Crystal Reports da SAP.

Saída

Seu Crystal Report exibirá o código de barras com texto legível e dimensões adequadas. Ajuste o tamanho do campo ou margens conforme necessário para scanners, impressoras ou etiquetas. O código de barras pode ser incluído em PDFs, formulários impressos ou modelos de etiquetas diretamente do seu aplicativo VB.NET.

Como Imprimir Códigos de Barras no Crystal Reports com VB.NET: Figura 3 - Exibindo códigos de barras gerados com o Visualizador do Crystal Reports

Como Você Lida com Problemas Comuns de Impressão de Código de Barras?

Vários problemas podem surgir ao implementar códigos de barras no Crystal Reports usando VB.NET. As dicas de solução de problemas a seguir abordam os problemas mais frequentes:

Problemas Comuns e Soluções para Impressão de Código de Barras no Crystal Reports
Emitir Causa Solução
Códigos de barras desfocados Baixa resolução de imagem Use `ResizeTo()` com dimensões maiores ou defina um DPI mais alto
Falhas de escaneamento Zona quieta insuficiente Adicione margens com `SetMargins()`; adicione asteriscos para Code 39
Erros de conexão com o banco de dados Parâmetros de conexão incorretos Verifique a string de OleDbConnection ou SqlConnection e o vínculo do dataset
Tipo de dado errado no banco de dados Campo não configurado para tipo binário Use tipo de coluna `image` ou `varbinary(max)`
Códigos de barras não exibidos Problema de permissão ou caminho Verifique se o visualizador de Crystal Reports possui permissões de acesso ao banco de dados/Tabela de Dados
Erros de DLL ausente Instalação incompleta Reinstale via NuGet; verifique se o DLL do IronBarcode está referenciado no projeto

Para suporte adicional de solução de problemas, visite o guia de solução de problemas do IronBarcode. O fórum de suporte do IronBarcode também está disponível para perguntas específicas e casos excepcionais não cobertos na documentação.

Como Escolher o Formato de Código de Barras Certo?

Escolher o formato correto do código de barras é importante para a compatibilidade com hardware de leitura e capacidade de dados. Os formatos mais comuns para relatórios empresariais são:

  • Code 128 -- Código de barras linear de uso geral; alta densidade de dados; funciona com a maioria dos scanners. Use BarcodeWriterEncoding.Code128.
  • Code 39 -- Padrão antigo; amplamente suportado; codifica caracteres alfanuméricos. Use BarcodeWriterEncoding.Code39.
  • QR Code -- Código de barras 2D; armazena grandes quantidades de dados, incluindo URLs. Use BarcodeWriterEncoding.QRCode.
  • Data Matrix -- Compacto código de barras 2D; comum em manufatura e logística. Use BarcodeWriterEncoding.DataMatrix.
  • PDF417 -- Código de barras 2D de alta capacidade; usado para etiquetas de envio e identificações. Use BarcodeWriterEncoding.PDF417.

Consulte a lista completa de formatos de códigos de barras suportados ao selecionar a codificação apropriada para seu caso de uso. Para ler códigos de barras de imagens de saída do Crystal Report, veja o tutorial do leitor de códigos de barras.

Quais são os seus próximos passos?

Implementar códigos de barras em Crystal Reports usando VB.NET e IronBarcode fornece uma solução confiável para aprimoramento de relatórios. Esta abordagem baseada em SDK elimina dependências de fonte enquanto oferece amplas opções de personalização. Quer use um banco de dados ou uma DataTable, você pode implementar códigos de barras profissionais -- incluindo Data Matrix, Code 39 e QR codes -- em sua aplicação Crystal Reports.

Para continuar construindo seu fluxo de trabalho de código de barras:

Comece a implementar códigos de barras em seu projeto hoje explorando o teste gratuito do IronBarcode para explorar todas as suas capacidades de imprimir códigos de barras em Crystal Reports usando VB.NET. O SDK do SAP Crystal Reports está documentado no portal do desenvolvedor SAP para padrões adicionais de integração.

Perguntas frequentes

Quais são os benefícios de usar o IronBarcode no Crystal Reports com VB.NET?

Utilizar o IronBarcode no Crystal Reports com VB.NET permite integrar códigos de barras de forma transparente, otimizando processos de negócios para tarefas como controle de estoque e geração de relatórios detalhados. Ele simplifica a geração de códigos de barras em comparação com soluções baseadas em fontes.

Como o IronBarcode melhora a geração de códigos de barras no Crystal Reports?

O IronBarcode aprimora a geração de códigos de barras ao fornecer um SDK simples que elimina a necessidade de fórmulas complexas e reduz problemas relacionados a formatos limitados e compatibilidade de impressoras no Crystal Reports.

O IronBarcode consegue lidar com diferentes formatos de código de barras no Crystal Reports?

Sim, o IronBarcode suporta uma ampla variedade de formatos de código de barras, tornando-o versátil para diversas aplicações no Crystal Reports, garantindo compatibilidade e confiabilidade.

É difícil integrar o IronBarcode em um projeto VB.NET?

Não, a integração do IronBarcode em um projeto VB.NET foi projetada para ser fácil de usar, com documentação e suporte claros, tornando o processo simples e eficiente.

Por que escolher o IronBarcode em vez de soluções de código de barras baseadas em fontes?

O IronBarcode oferece uma solução mais robusta e flexível do que os códigos de barras baseados em fontes, evitando fórmulas complexas e problemas de impressão, além de oferecer amplo suporte a formatos e confiabilidade.

O IronBarcode suporta a impressão de códigos de barras diretamente do Crystal Reports?

Sim, o IronBarcode permite a impressão direta de códigos de barras a partir do Crystal Reports, garantindo resultados de alta qualidade e reduzindo a complexidade frequentemente associada a outros métodos.

Quais são os problemas comuns com códigos de barras baseados em fontes no VB.NET?

Os códigos de barras baseados em fontes geralmente envolvem fórmulas complexas, opções de formato limitadas e problemas de compatibilidade com impressoras, que o IronBarcode ajuda a superar com seu SDK abrangente.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me