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 :
2 PictureBox - picCodBar e picQRCode
4 Labels
4 TextBox - txtCodBarras, txtQrCode; txtAlturaCodBar, txtAlturaQRCode
4 Button - btnGerarCodBarras, btnGerarQRCode, btnImprimirCodBarras, btnImprimirQRCode
1 PrintDialog
1 PrindDocument
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:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
Gerando Código de Barras com Fontes True Type - Macoratti.net
Gerando Boletos Bancários com o VB e Crystal Reports - Macoratti.net
VB .NET - Gerando, Salvando e Lendo e QRCode - Macoratti.net