VB .NET  -  Gerando Código de barras e QRCode


 Neste artigo vou mostrar como podemos gerar código de barras e QRCode usando a biblioteca Zen.BarCode em um projeto Windows Forms usando a linguagem VB .NET.

Este artigo mostra mais um opção, dentre os tantos artigos que eu já escrevi sobre esse assunto, de como gerar código de barras e QR Code.

Vamos iniciar com a definição de ambos os serviços obtida da Wikipedia:

O Código de barras (em inglês: barcode) é uma representação gráfica de dados numéricos ou alfanuméricos. A decodificação (leitura) dos dados é realizada por um tipo de scanner - o leitor de código de barras -, que emite um raio vermelho que percorre todas as barras. Onde a barra for escura, a luz é absorvida; onde a barra for clara (espaços), a luz é refletida novamente para o leitor. Os dados capturados nessa leitura  são compreendidos pelo computador, que por sua vez converte-os em letras ou números humano-legíveis. A utilização é muito comum em diversas áreas, desde a indústria é largamente utilizado no comércio e serviços.( https://pt.wikipedia.org/wiki/C%C3%B3digo_de_barras)

O Código QR (sigla do inglês Quick Response) é um código de barras bidimensional que pode ser facilmente escanerizado usando a maioria dos telefones celulares equipados com câmera.

Nessa abordagem vou utilizar a API Zen.BarCode.Rendering.Framework via Nuget para gerar o código de barras e o QRCode.

Recursos Usados

Criando o projeto Windows Forms

Abra o VS 2015 Community e crie um novo projeto (File-> New Project) usando a linguagem VB .NET e o template Windows Forms Application.

Informe um nome a seu gosto. Eu vou usar o nome VbNet_BarCode_QRCode;

No formulário padrão Form1.vb inclua os controles :

Disponha os controles conforme o leiaute da figura abaixo:

Vamos agora criar uma classe Video em nosso projeto para representar as informações que desejamos obter:

Incluindo a referência à biblioteca Zen.BarCode.Rendering.Framework

No menu Tools clique em Nuget Package Manager e a seguir em Manage Nuget Packages for Solution;

Acione a guia Browse e informe zen.barcode;

Selecione a referência zen.barcode.rendering.framew.dll e a instale no projeto:

Definindo o código do projeto

No início do formulário Form1.vb inclua a declaração abaixo onde definimos duas variáveis para controlar a seleção de impressão para QRCode ou Cod. de barras:

Private codbar As Boolean = False
Private qrCode As Boolean = False

1- Código do botão Gerar Cod. Barras

No início do formulário Form1.vb inclua a declaração abaixo onde definimos duas variáveis para controlar a seleção:

 Private Sub btnGerarCodBarras_Click(sender As Object, e As EventArgs) Handles btnGerarCodBarras.Click
        If txtCodBarras.Text = String.Empty Then
            MessageBox.Show("Informe o código de barras...")
        Else
            Dim altura As Integer
            If txtAlturaCodBar.Text = String.Empty Then
                altura = 50
            Else
                altura = Convert.ToInt32(txtAlturaCodBar.Text)
            End If
            Dim codigoBarras As Zen.Barcode.Code128BarcodeDraw = Zen.Barcode.BarcodeDrawFactory.Code128WithChecksum
            picCodBar.Image = codigoBarras.Draw(txtCodBarras.Text, altura)
        End If
    End Sub

2- Código do botão Gerar QRCode

No início do formulário Form1.vb inclua a declaração abaixo onde definimos duas variáveis para controlar a seleção:

Private Sub btnGerarQRCode_Click(sender As Object, e As EventArgs) Handles btnGerarQRCode.Click
        If txtQRCode.Text = String.Empty Then
            MessageBox.Show("Informe o texto...")
        Else
            Dim altura As Integer
            If txtAlturaQRCode.Text = String.Empty Then
                altura = 50
            Else
                altura = Convert.ToInt32(txtAlturaQRCode.Text)
            End If
            Dim codigoQrCode As Zen.Barcode.CodeQrBarcodeDraw = Zen.Barcode.BarcodeDrawFactory.CodeQr
            picQRCode.Image = codigoQrCode.Draw(txtQRCode.Text, altura)
        End If
    End Sub

3- Código do botão Imprimir Cod. Barras

No início do formulário Form1.vb inclua a declaração abaixo onde definimos duas variáveis para controlar a seleção:

 Private Sub btnImprimirCodBarras_Click(sender As Object, e As EventArgs) Handles btnImprimirCodBarras.Click
        codbar = True
        qrCode = False
        If PrintDialog1.ShowDialog = DialogResult.OK Then
            PrintDocument1.Print()
        End If
    End Sub

4- Código do botão Imprimir QRCode

No início do formulário Form1.vb inclua a declaração abaixo onde definimos duas variáveis para controlar a seleção:

 Private Sub btnImprimirQrCode_Click(sender As Object, e As EventArgs) Handles btnImprimirQrCode.Click
        codbar = False
        qrCode = True
        If PrintDialog1.ShowDialog = DialogResult.OK Then
            PrintDocument1.Print()
        End If
    End Sub

5- Código do evento PrintPage do objeto PrintDocument

No início do formulário Form1.vb inclua a declaração abaixo onde definimos duas variáveis para controlar a seleção:

Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        If codbar Then
            codbar = False
            e.Graphics.DrawImage(Me.picCodBar.Image, 0, 0)
        ElseIf qrCode Then
            qrCode = False
            e.Graphics.DrawImage(Me.picQRCode.Image, 0, 0)
        End If
        e.HasMorePages = False
    End Sub

Executando o projeto novamente agora teremos o seguinte resultado:

A impressão feita para um arquivo PDF é mostrada abaixo para o QRCode:

Pegue o projeto aqui :  VbNet_BarCode_QRCode.zip (sem as referências)

Jesus dizia, pois, aos judeus que criam nele: Se vós permanecerdes na minha palavra, verdadeiramente sereis meus discípulos;
E conhecereis a verdade, e a verdade vos libertará.

João 8:31,32

 

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

 

Referências:


José Carlos Macoratti