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()