PROBLEMA / PREGUNTA
- ¿Cómo imprimir desde Visual Basic una etiqueta con códigos de barras en impresoras SATO?
- Utilizando VBasic para imprimir con impresoras SATO
- Librería SATOPrinting.DLL para levantar un archivo de comandos, reemplazar información variable y enviarla a la impresora.
SOLUCIÓN
Nuestras impresoras SATO trabajan imprimiendo con lenguaje SBPL.
En el siguiente enlace puede descargar el manual completo con todos los comandos habilitados:
Nuestras impresoras SATO trabajan imprimiendo con lenguaje SBPL.
En el siguiente enlace puede descargar el manual completo con todos los comandos habilitados:
Adjuntamos un ejemplo de un programa en VB6 que utilizando la impresora instalada en su PC permite imprimir un texto.
También adjuntamos un archivo que contiene una DLL que te permitirá trabajar directamente con nuestras impresoras.
Primero, utilizando el software gratuito Label Gallery 3 Free, que lo podes descargar libremente de nuestra página, diseñamos una etiqueta (ETIQCAJA.LBL)
Con el LG3 instalado, verás que se definieron unos textos AAAAAAA, 777777, 88/88/88 y 99/99/99 que son los que vamos a cambiar al momento de ejecutar nuestro programa, reemplazando esos textos por información variable (que es la que realmente queremos imprimir)
Los textos a reemplazar es MUY importante que estén definidos con FONT SATO, ya que sino serán interpretados como gráficos y no los podemos reemplazar.
Una vez que definimos la etiqueta, ponemos la impresora (en el administrador de impresoras) para que trabaje con el Puerto FILE. Volvemos a LG3 e imprimimos una etiqueta.
El LG3 como la impresora esta trabajando en el puerto FILE, nos pedirá un nombre de archivo.
Allí le indicamos ETIQUETA.PRN, generándose un archivo como el que también adjuntamos.
En ese archivo están todos los comandos para generar nuestra etiqueta, solo tenemos que reemplazar los valores fijos que pusimos (AAA, etc.) por los valores reales que queremos imprimir.
Para eso, diseñamos la SATOPrinting.DLL
Es muy sencilla de utilizar, verás que no son más de 10 líneas.
Se debe registrar la DLL en el servidor REGSVR32 path+SATOPrinting.DLL
El código para invocarla es:
Dim mylib As SATOPrinting.Print
Set mylib = New SATOPrinting.Print ‘apuntamos nuestro objeto a la DLL
If mylib.Iniciar(App.Path & "\Etiqueta.PRN", "SATO CG408 (Copiar 1)") = 1 Then
mylib.ReemplazarValores "AAAAAAAABBBBBBBB", “PRODUCTO” ‘indicamos que cambie el texto fijo por el que queremos
mylib.ReemplazarValores "77777777", “798123525”
mylib.ReemplazarValores "99/99/99", “12/10/2013”
mylib.ReemplazarValores "88/88/88", “12/11/2013”
mylib.ReemplazarValores "Q1", "Q2" ‘indicamos que queremos imprimir 2 etiquetas iguales.
mylib.PrintLabel
End If
La DLL devolverá los siguientes valores:
Funcion Iniciar (ArchivoEtiquetaPRN, NombreImpresora) as Integer
ArchivoEtiquetaPRN se debe enviar el nombre completo del archivo y su ubicación path+nombrePRN
NombreImpresora se debe enviar el nombre exacto de la impresora tal cual aparece en el administrador de impresoras
Esta función devuelve los valores
- 1 Todo OK
- 0 Hubo un error - Verificar el valor de ERRORNUMERO (en ERRORDESCRIPCION devuelve el string con el error)
- 101-No se ha definido la impresora
- 103-No se ha definido el nombre del archivo PRN
Funcion ReemplazarValores (StringAReemplazar, NuevoValor)
StringAReemplazar es el texto que aparece en el archivo de la etiqueta, donde se va a colocar los valores variables
NuevoValor es el contenido de la información variable a imprimir en la etiqueta
Funcion PrintLabel
- 1-TodoOk
- 0-Hubo un error
- Verificar el valor de ERRORNUMERO para conocer el error (en ERRORDESCRIPCION devuelve el string con el error)
- 100-No se ha ejecutado previamente el comando Iniciar
- 101-No se ha definido la impresora
- 102-El nombre indicado para la impresora no pudo ser reconocido en el sistema o hubo un error al comunicarse con el driver
Equipos a los que aplica esta solución
- Impresoras SATO
Comentarios
1 comentario
Buenas tardes, hay una actualización mejorada no eh podido tener éxito con los códigos al momento de imprimir con una SATO GL408e con visual basic
Inicie sesión para dejar un comentario.