Ir para conteúdo
  • Cadastre-se

dev botao

Importar ACBrLibETQ para um projeto VB.net


Ver Solução Respondido por Daniel InfoCotidiano,
  • Este tópico foi criado há 139 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Pessoal, 
Sou novo aqui no ACBr.
Estou criando um projeto para impressão de etiquetas com código de barras. Porém não consigo importar a ACBrLibEtq para o meu projeto, está apresentano um dizendo que não está acessível ou que a dll não é compativel.
Alguem pode me ajudar?

Obrigado.
 

  • Consultores
Postado
1 hora atrás, Boxpdv disse:

Pessoal, 
Sou novo aqui no ACBr.
Estou criando um projeto para impressão de etiquetas com código de barras. Porém não consigo importar a ACBrLibEtq para o meu projeto, está apresentano um dizendo que não está acessível ou que a dll não é compativel.
Alguem pode me ajudar?

Obrigado.
 

Você pode utilizar as classes que foram escritas para o C#.. 
Elas estão no SVN..
http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/C%23/ETQ/Imports/

Feito isso, só seguir o padrão, ao compilar o .exe, precisa distribuir ACBrLib corretamente..
ACBrLibETQ32 deve estar na pasta ACBrLib/86 e ACBrLibETQ64 deve estar na pasta ACBrLib/64..

Outro detalhe, as classes estão no SVN, usam a convenção de chamada em cdelc, veja se não esta distribuindo as ACBrLib em stdcall, isso pode ocorrer erros também.

  • Membros Pro
Postado

Já consegui instanciar a dll usando o <DllImport.
O problema agora é imprimir a etiqueta. Passa por todos os métodos, mas a impressora não imprime.
Vou postar aqui um trecho do código:

 

        ' Inicializa a biblioteca ACBrLibETQ
        Dim ret As Integer = ETQ_Inicializar(String.Empty, String.Empty)
        If ret <> 0 Then
            Console.WriteLine("Erro ao inicializar a biblioteca ACBrLibETQ")
            Return
        End If

        ' Configura a impressora
        ETQ_ConfigGravarValor("ETQ", "Zebra", "1") ' 0 = Impressora Padrão
        ETQ_ConfigGravarValor("ETQ", "Temperatura", "10")
        ETQ_ConfigGravarValor("ETQ", "Velocidade", "5")

        ' Ativa a impressora
        ret = ETQ_Ativar()
        If ret <> 0 Then
            Console.WriteLine("Erro ao ativar a impressora")
            Return
        End If

        ' Configura a etiqueta de 7x4 cm
        Dim larguraEtiqueta As Integer = 700 ' 7 cm
        Dim alturaEtiqueta As Integer = 400 ' 4 cm

        ' Primeira linha: * * * SAMECH * * * centralizado
        Dim texto1 As String = "* * * SAMECH * * *"
        Dim posXTexto1 As Integer = (larguraEtiqueta - (texto1.Length * 12)) \ 2 ' Aproximadamente centralizado
        ETQ_ImprimirTexto(0, 1, 1, 1, 10, posXTexto1, texto1, 0, False)

        ' Segunda linha: Código: 12345.BN.VED alinhado à esquerda
        Dim texto2 As String = "Código: 12345.BN.VED"
        ETQ_ImprimirTexto(0, 1, 1, 1, 50, 10, texto2, 0, False)

        ' Terceira linha: Descr.: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX alinhado à esquerda e quebra de linha
        Dim texto3 As String = "Descr.: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        ETQ_ImprimirTexto(0, 1, 1, 1, 90, 10, texto3.Substring(0, Math.Min(texto3.Length, 50)), 0, False)
        If texto3.Length > 50 Then
            ETQ_ImprimirTexto(0, 1, 1, 1, 130, 10, texto3.Substring(50), 0, False)
        End If

        ' Quarta linha: Código de barras EAN-13
        ETQ_ImprimirBarras(0, 2, 2, 2, 180, 10, "123456789012", 60, 2, True)

        ' Imprime a etiqueta
        ETQ_Imprimir(1, 0)

        ' Desativa a impressora
        ETQ_Desativar()

        ' Finaliza a biblioteca
        ETQ_Finalizar()

 

  • Consultores
Postado
39 minutes ago, Boxpdv said:

Já consegui instanciar a dll usando o <DllImport.
O problema agora é imprimir a etiqueta. Passa por todos os métodos, mas a impressora não imprime.
Vou postar aqui um trecho do código:

 

        ' Inicializa a biblioteca ACBrLibETQ
        Dim ret As Integer = ETQ_Inicializar(String.Empty, String.Empty)
        If ret <> 0 Then
            Console.WriteLine("Erro ao inicializar a biblioteca ACBrLibETQ")
            Return
        End If

        ' Configura a impressora
        ETQ_ConfigGravarValor("ETQ", "Zebra", "1") ' 0 = Impressora Padrão
        ETQ_ConfigGravarValor("ETQ", "Temperatura", "10")
        ETQ_ConfigGravarValor("ETQ", "Velocidade", "5")

        ' Ativa a impressora
        ret = ETQ_Ativar()
        If ret <> 0 Then
            Console.WriteLine("Erro ao ativar a impressora")
            Return
        End If

        ' Configura a etiqueta de 7x4 cm
        Dim larguraEtiqueta As Integer = 700 ' 7 cm
        Dim alturaEtiqueta As Integer = 400 ' 4 cm

        ' Primeira linha: * * * SAMECH * * * centralizado
        Dim texto1 As String = "* * * SAMECH * * *"
        Dim posXTexto1 As Integer = (larguraEtiqueta - (texto1.Length * 12)) \ 2 ' Aproximadamente centralizado
        ETQ_ImprimirTexto(0, 1, 1, 1, 10, posXTexto1, texto1, 0, False)

        ' Segunda linha: Código: 12345.BN.VED alinhado à esquerda
        Dim texto2 As String = "Código: 12345.BN.VED"
        ETQ_ImprimirTexto(0, 1, 1, 1, 50, 10, texto2, 0, False)

        ' Terceira linha: Descr.: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX alinhado à esquerda e quebra de linha
        Dim texto3 As String = "Descr.: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        ETQ_ImprimirTexto(0, 1, 1, 1, 90, 10, texto3.Substring(0, Math.Min(texto3.Length, 50)), 0, False)
        If texto3.Length > 50 Then
            ETQ_ImprimirTexto(0, 1, 1, 1, 130, 10, texto3.Substring(50), 0, False)
        End If

        ' Quarta linha: Código de barras EAN-13
        ETQ_ImprimirBarras(0, 2, 2, 2, 180, 10, "123456789012", 60, 2, True)

        ' Imprime a etiqueta
        ETQ_Imprimir(1, 0)

        ' Desativa a impressora
        ETQ_Desativar()

        ' Finaliza a biblioteca
        ETQ_Finalizar()

 

Bom dia!

Por favor, faça um teste usando ETQ_InicializarEtiqueta logo após o ETQ_Ativar e também o ETQ_FinalizarEtiqueta antes do ETQ_Imprimir.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Não configurei.
Penso que USB basta mencionar o nome da impressora.
Não gerou log, somente a ACBrLib.ini

 

  • Consultores
Postado
2 hours ago, Boxpdv said:

Não configurei.
Penso que USB basta mencionar o nome da impressora.
Não gerou log, somente a ACBrLib.ini

 

Por favor, faça um teste com os comandos conforme mencionei acima.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Daniel,
Fiz Ativar antes de inicializar, mas retornou o erro -1 no ativar

  • Consultores
  • Solution
Postado

Ativar, só vai fazer quando for imprimir.
o -1 significa que a lib Não foi inicializada corretamente

Entao vc inicia:

Dim ret As Integer = ETQ_Inicializar("acbrlib.ini", String.Empty)

Pode configurar
Depois vc ativa para mandar imprimir

Este é uma parte do exemplo em python so p vc abstrair
image.png

 

image.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...