Fontes e Componentes: Código de barras com .Net Windows Application

Codigo de barras com .Net Windows Application

Público alvo da seção: Profissionais desenvolvedores de sistemas, profissionais de TI, produtores de aplicações.

 

Código de barras com .Net Windows Application

Produtos compatíveis:

- Pacotes de Fontes de Código de Barras Premium da LinhaBase

Conheça Mais

 

- LinhaBase BarCode Professional

Conheça Mais

 

Exemplos

- Pacote de Fontes de Código de barras

- BarCode Professional

Neste exemplo foi utilizado o Pacote de Fontes de Código de Barras Premim 128.

 

1 – Abra o Visual Studio.Net e crie uma nova aplicação Windows.

 

1.jpg

 

2 – Clique em Project – Add Reference para adicionar referência ao arquivo Assembly.

 

 

2

 

3 – Localize o Componente LinhaBase128.

 

23.jpg

 

 

 4 – Crie um Form como na figura abaixo.

 

4.jpg

 

 

5 – Ajuste a propriedade Multiline para True na caixa de texto txtBarcode.

 

6 – Insira o código:

 

Imports LinhaBase128.Map

 

Public Class Form1

 

    Private Sub printPage_handler(ByVal sender As Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs)

 

        Dim ValorImprimir As String

        Dim Cod As New LinhaBase128.Map

 

        ValorImprimir = Cod.128C(txtValue.Text)

 

        ev.Graphics.PageUnit = GraphicsUnit.Millimeter

 

 

        'Imprime o ValorDoDado    

        ev.Graphics.DrawString(s:=ValorImprimir, font:=New Font("LBPremium128M2", 12), brush:=Brushes.Black, x:=10, y:=10)

    End Sub

 

 

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        txtValue.Text = "0123456789"

    End Sub

 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim fnt As New Font("LBPremium128M2", 12)

 

        Dim Cod As New LinhaBaseITF25.Map

 

        txtBarcode.Font = fnt

 

        txtBarcode.Text = Cod.128C(txtValue.Text)

 

    End Sub

 

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

        Dim printDocument As New System.Drawing.Printing.PrintDocument

 

        'Define o nome da impressora

        printDocument.PrinterSettings.PrinterName = "Sua Impressora"

 

        'Chama o evento de impressao

        AddHandler printDocument.PrintPage, AddressOf Me.printPage_handler

 

        printDocument.Print()

 

    End Sub

End Class

 

 

Neste exemplo foi utilizado o LinhaBase BarCode Professional 2D.

 

Neste projeto temos:

 

Label

– Um caixa de texto

– três botões

– dois Picturebox.

- Componente de Código de Barras LinhaBase

 

No exemplo, será criado um código de barras e sua imagem será salva em formato gráfico TIF com resolução de 300 dpi.

 

1 – Adicione a referência ao componente LinhaBase, acesse o menu Project – Add Reference.

 

4.jpg

 

2 – Localize o componente e clique no botão Ok.

 

23.jpg

 

3 – Crie um form como mostrado abaixo:

 

7.jpg

 

 

4 – Acrescente o código:

 

Imports LinhaBase2DBarCode.LinhaBase2DBarCode

Imports System.Drawing.Imaging

Imports System.Drawing.Printing

 

Public Class Form1

    Dim dpi As Integer = 300

   

    Dim Xmils As Integer = 30

    Dim Ymils As Integer = 3

 

    Private WithEvents printDocument As New PrintDocument

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.Text = "Salvar Código de Barras"

        Label1.Text = "Valor:"

        Button1.Text = "Produzir"

        Button2.Text = "Salvar"

        Button3.Text = "Imprimir"

        PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize

        PictureBox2.SizeMode = PictureBoxSizeMode.AutoSize

        PictureBox2.Visible = False

    End Sub

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim LinhaBase2DBarCode As New LinhaBase2DBarCode.LinhaBase2DBarCode

 

        Dim g As Graphics = PictureBox1.CreateGraphics()

 

        Dim Xunit2D As Integer

        Dim Ymultiplier2D As Integer

 

        LinhaBase2DBarCode.CodeType = BarcodeSymbology.PDF417

 

        LinhaBase2DBarCode.Unit = GraphicsUnit.Pixel

 

        Xunit2D = Xmils

        Ymultiplier2D = Ymils

 

        LinhaBase2DBarCode.Xunit = Xunit2D

        LinhaBase2DBarCode.Ymultiplier = Ymultiplier2D

 

        LinhaBase2DBarCode.StartMode = 0

        LinhaBase2DBarCode.Caption = TextBox1.Text

 

        PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize

        PictureBox1.Image = LinhaBase2DBarCode.Barcode(g)

 

        g.Dispose()

 

    End Sub

 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim LinhaBase2DBarCode As New LinhaBase2DBarCode.LinhaBase2DBarCode

 

        Dim bmp As Bitmap

        Dim bmpBackground As Bitmap

        Dim objBrush As TextureBrush

        Dim objgraphics As Graphics

 

        bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height)

        bmpBackground = New Bitmap(PictureBox1.Image)

 

        objBrush = New TextureBrush(bmpBackground)

 

        objgraphics = Graphics.FromImage(bmp)

        objgraphics.Clear(LinhaBase2DBarCode.BackColor)

        objgraphics.FillRectangle(objBrush, 0, 0, PictureBox1.Width, PictureBox1.Height)

       

        bmp.SetResolution(dpi, dpi)

 

        bmp.Save(Application.StartupPath & "\cod.tif", ImageFormat.Tiff)

 

        MsgBox("Código de barras foi salvo.")

    End Sub

 

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        Dim PrintDialog1 = New PrintDialog

 

        printDocument.DefaultPageSettings.PaperSize = GetPaperSize(printDocument.PrinterSettings, PaperKind.A4)

 

 

        PrintDialog1.Document = printDocument

 

        Dim r As DialogResult = PrintDialog1.ShowDialog

 

        If r = DialogResult.OK Then

 

            printDocument.Print()

 

        End If

    End Sub

    Private Sub printDocument_PrintPage(ByVal sender As Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs) Handles printDocument.PrintPage

        Dim LinhaBase2DBarCode As New LinhaBase2DBarCode.LinhaBase2DBarCode

 

        ev.Graphics.PageUnit = GraphicsUnit.Pixel

 

        Dim g As Graphics = PictureBox2.CreateGraphics()

 

        LinhaBase2DBarCode.CodeType = BarcodeSymbology.PDF417

        LinhaBase2DBarCode.Unit = GraphicsUnit.Millimeter

        LinhaBase2DBarCode.Xunit = Xmils

        LinhaBase2DBarCode.Ymultiplier = Ymils

        LinhaBase2DBarCode.Caption = TextBox1.Text

 

        'Produz cod barra

        PictureBox2.Image = LinhaBase2DBarCode.Barcode(g)

        g.Dispose()

        PictureBox2.BackColor = Color.White

 

        ev.Graphics.DrawImage(LinhaBase2DBarCode.Barcode(ev.Graphics), 0, 0)

 

    End Sub

    Private Function GetPaperSize(ByVal ps As PrinterSettings, ByVal Kind As PaperKind) As PaperSize

        Dim psz As PaperSize

        For Each psz In ps.PaperSizes

            If psz.Kind = Kind Then

                Return psz

            End If

        Next

 

        Return ps.PaperSizes(0)

    End Function

End Class