sábado, 21 de setembro de 2013

CÓDIGO DE BARRAS - IMPRESSÃO EM ZM400

Olá a todos!


Ao criar etiquetas códigos de barras, o ideal é utilizar o próprio software da impressora código de barras para isso.

Em se tratando de uma impressora da marca Zebra o aplicativo mais comum para uso é o Zebra Designer que vem junto no CD de drivers da própria impressora. A tarefa é bem simples: abrir o aplicativo e gerar uma etiqueta no tamanho desejado e com os parâmetros
necessários. Faz-se a impressão da mesma na impressora a fim de se atestar que está
correta e, em seguida, se gera a mesma para um arquivo-texto a fim de ser utilizado em 
sua aplicação.

O arquivo-texto gerado pela impressora é o mostrado abaixo:

^XA
^PW354
^BY2,3,44^FT40,55^BCN,,Y,N
^FD>:" & Mid(Codigo, 1, 2) & ">5" & Mid(Codigo, 3, 11) & "^FS
^PQ1,0,1,Y

^XZ

Onde Codigo é a codificação interna da etiqueta que você criou.

O que se deve fazer em seguida é abrir isso via software a fim de gerar uma impressão em sequência da chamada desse mesmo arquivo da contagem inicial até a final:

        sInicio = CDbl(TxtInicio.Text)
        sFim = CDbl(TxtFim.Text)


        'Quantas Etiquetas Imprimir 
        sDiferenca = sFim - sInicio

        If sInicio > sFim Then
            MsgBox("Valor Inicial maior que o Valor Final!!!", MsgBoxStyle.Information)
            TxtInicio.Focus()
            Exit Sub
        End If

        If sDiferenca = 0 Then
            sDiferenca = sConta
        End If

        'Loop de impressão

        While sInicio <= sFim


                LerEtiqueta(sInicio )

                GravarDados(sInicio)

                Dim Command As String
                Command = "type C:\TEMP\ETIQUETA.TXT>PRN"
                Shell("cmd /c" & Command, 1, True)
                
            'Incrementar o contador
            sInicio = sInicio + 1


        End While

A rotina LerETiqueta lê o arquivo-texto gerado na Zebra.

Então, você deve criar uma rotina que gere um arquivo-texto com os dados
acima:

  Private Sub  LerEtiqueta(ByVal sNumeroEtiqueta as string)

        Dim fluxoTexto As IO.StreamWriter

        Dim sNomeArquivo As String = "C:\Temp\ETIQUETA.TXT"

        If IO.File.Exists(sNomeArquivo) Then

            'ZM400 300 DPI
            fluxoTexto = New IO.StreamWriter(sNomeArquivo)

            fluxoTexto.Write("^XA")
            fluxoTexto.Write("^PW354")
            fluxoTexto.Write("^BY2,3,44^FT40,55^BCN,,Y,N")
            fluxoTexto.Write("^FD>:" & Mid(sNumeroEtiqueta, 1, 2) & ">5" & Mid(sNumeroEtiqueta, 3, 11) & "^FS")
            fluxoTexto.Write("^PQ1,0,1,Y")


            ''Finaliza la etiqueta
            fluxoTexto.Write("^XZ")

            fluxoTexto.Close()


          
        End If

        Dim docName As String = "ETIQUETA.TXT"
        Dim docPath As String = "c:\Temp\"
        'printDocument1.DocumentName = docName

        Dim stream As New FileStream("C:\Temp\ETIQUETA.TXT", FileMode.Open)
        Try
            Dim reader As New StreamReader(stream)
            Try
                stringToPrint = reader.ReadToEnd()
            Finally
                reader.Dispose()
            End Try
        Finally
            stream.Dispose()
        End Try


    End Sub


 A parte final realiza a impressão da etiqueta direto para a porta da impressora e incrementa para o próximo número a ser impresso:

                Dim Command As String
                Command = "type C:\TEMP\ETIQUETA.TXT>PRN"
                Shell("cmd /c" & Command, 1, True)

               'Incrementar o contador
               sInicio = sInicio + 1

A rotina é bem simples.  

Você ainda pode incrementar isso gravando os dados em uma tabela em sua base de dados a fim de controlar as etiquetas já impressas e fazer uma possível reimpressão, caso necessário, o que é realizado pela função GravarDados.

Espero que o exposto ajude aos necessitados por esta informação. 

Qualquer dúvida, podem postar comentários.

Sucesso a todos!!


By
Leonardo Metelys

Um comentário:

Anônimo disse...

Aqui está o link para o Visual Basic 4.0 Enterprise:

http://bitshare.com/?f=bpr2idj8

Aqui está o link para baixar o Visual Basic 5.0 Professional:

http://bitshare.com/?f=ajhw437d

Exemplos de programas feitos em Visual Basic (todas as versões):

http://bitshare.com/?f=5o47ucxl

Obrigado!

UM APLICATIVO DE VERSÍCULOS PARA CELULARES ANDROID

Olá, pessoal! Esse projeto foi criado em 2017 e aprimorado agora em 2018. Foi também criado com o Visual Studio 2015 em C#.NET com o Xa...