domingo, 17 de fevereiro de 2013

GERANDO CÓDIGO DE BARRAS E DIMINUINDO O SEU TAMANHO


Eis uma pequena aplicação usando a biblioteca barcodelib.dll desenvolvida por Brad Barnhill e postada no The code Project (http://www.codeproject.com/Articles/20823/Barcode-Image-Generation-Library).

A idéia aqui é gerar a imagem de um código de barras e diminuir seu tamanho para impressão do código de barras e de sua numeração com o Print Document que você deve também adicionar ao projeto:


O botão Generate contêm o seguinte código-fonte:



Private Sub BtnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGenerate.Click

    If TxtBarcode.Text <> "" Then

      Dim Barcode As New BarcodeLib.Barcode(TxtBarcode.Text, BarcodeLib.TYPE.CODE128)
     PicCodebar.Image = Barcode.Encode(BarcodeLib.TYPE.CODE128, TxtBarcode.Text, 200, 100)
            Barcode.SaveImage("C:\Temp\BARRAS.JPG", BarcodeLib.SaveTypes.JPG)

            Dim fs As New FileStream("C:\Temp\BARRAS.JPG", FileMode.Open)
            Dim br As New BinaryReader(fs)

            br.Close()
            fs.Close()

            br = Nothing
            fs = Nothing


        End If

    End Sub



Note que o tamanho da imagem está definido com 200 e 100.

O botão Print deverá conter o seguinte código:


Private Sub BtnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrint.Click

        PrintDocument1.Print()

    End Sub


Dê dois cliques sobre o componente PrintDocument1 adicionado ao projeto e acrescente este código:


 Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        Dim logo As Image = Image.FromFile("C:\Temp\barras.jpg")
        Dim fnt As Font

        'Font definition
        fnt = New Font("Arial Narrow", 8)

        'Redimensionar o Código de Barras
        e.Graphics.DrawImage(logo, 10, 10, 130, 15)
        e.Graphics.DrawString(TxtBarcode.Text, fnt, System.Drawing.Brushes.Black, 39, 39)
        logo.Dispose()

    End Sub 

Esse pequeno projeto pode criar códigos de barra em vários formatos. A bibliote barcodelib pode ser obtida do link informado. Basta adicioná-la nas Referências de seu projeto através do menu Project -> Nomedoprojeto Properties. 

Sucesso a todos!

2 comentários:

Rafael Nunes disse...

Cara, muito obrigado ! Isso ajudou muito aqui na minha companhia. Estavamos tendo reclamações, pois estavamos redimessionando a imagem do codigo de barras e salvando e desse modo eles nao estavam conseguindo fazer a leitura, pois perdia muita qualidade. Desse jeito que você mostrou, funcionou perfeitamente. Muito obrigado !

Leonardo Metelis disse...

Fico feliz em ajudar, Rafael.

Sucesso!

By
Leonardo Metelis

UM APLICATIVO PARA LEITURA DEVOCIONAL ANUAL DA BIBLIA EM ANDROID

Olá, pessoal!  Este novo projeto foi criado em Visual Studio 2019 em C#.Net com o Xamarin. Já está disponível no Google Play para vocês baix...