Autor |
Mensaje |
Miguel
Usuario
Registrado: Noviembre 2009
Mensajes: 14
Edad: 56 Ubicación: Venezuela
|
Imprimir A Una Impresora De Ticket [SOLUCIONADO]
Hola, soy muy nuevo en gambas (llevo tres dias) ya he hecho varios formularios y me estoy conectando con postgresql. He visto que gambas no tiene un editor de reportes y que se hace en html. Hasta aqui no tengo problema. Quiero imprimir datos de una tabla a la impresora directamente desde gambas por ejemplo a una impresora de ticket sin abrir el dialogo de impresion y en realidad me encuentro perdido en esta parte.
Gracias
|
#1 Sabado, 14 Noviembre 2009, 19:52 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Imprimir A Una Impresora De Ticket
última edición por soplo el Sabado, 14 Noviembre 2009, 21:58; editado 1 vez
|
#2 Sabado, 14 Noviembre 2009, 21:57 |
|
|
Francis
Usuario
Registrado: Septiembre 2009
Mensajes: 15
Edad: 47
|
Re: Imprimir A Una Impresora De Ticket
Has probado a tirarle datos directamente al puerto de la impresora. Yo hace un tiempo hice una aplicación tpv y así lo hice, la impresora se detectaba en el puerto /dev/usb/lp0, como dices no salía dialogo de impresora ni nada de nada, mas o menos sería algo así:
ticket = "/tmp/ticket"
TRY OPEN ticket FOR WRITE AS #fichero
PRINT #fichero, "******************************************"
PRINT #fichero, " Texto que quieras escribir "
PRINT #fichero, "******************************************"
PRINT #fichero, " "
CLOSE #fichero
'envio el fichero directamente por el puerto
SHELL "cat /tmp/ticket > /dev/usb/lp0" WAIT
Saludos y espero que te sea de ayuda.
|
#3 Domingo, 15 Noviembre 2009, 01:42 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Imprimir A Una Impresora De Ticket
Bueno pero para que lo imprimes a un fichero y luego este a la impresora si puedes enviarlo directamente a la impresora?
Ambos son streams, funcionan igual.
Dim fichero as file
ticket = "/dev/lp1" 'imprimir al puerto lpt1 por ejemplo
TRY fichero=OPEN ticket FOR OUTPUT
ticket.EndOfLine=gb.Windows 'indicar que las líneas se separan mediante CRLF
PRINT #fichero, "******************************************"
PRINT #fichero, " Texto que quieras escribir "
PRINT #fichero, "******************************************"
PRINT #fichero, " "
CLOSE #fichero
|
#4 Domingo, 15 Noviembre 2009, 13:45 |
|
|
Francis
Usuario
Registrado: Septiembre 2009
Mensajes: 15
Edad: 47
|
Re: Imprimir A Una Impresora De Ticket
Pues tienes toda la razón del mundo, mucho más elegante así
|
#5 Domingo, 15 Noviembre 2009, 14:09 |
|
|
Miguel
Usuario
Registrado: Noviembre 2009
Mensajes: 14
Edad: 56 Ubicación: Venezuela
|
Re: Imprimir A Una Impresora De Ticket
Gracias, lo mande a la impresora directamente y me funciono muy bien.
|
#6 Domingo, 15 Noviembre 2009, 23:38 |
|
|
aristicol
Aprendiz
Registrado: Septiembre 2009
Mensajes: 87
Edad: 37 Ubicación:
|
Re: Imprimir A Una Impresora De Ticket
'envio el fichero directamente por el puerto
SHELL "cat /tmp/ticket > /dev/usb/lp0" WAIT
Hola, me gustaría saber como validar la entrada de permiso para poder enviar la impresión de esa forma desde gambas desde un usuario que no es root
pues cuando se envia ese comando no se envia a la impresora pues queda internamente sin permiso
cat /home/aristicol/ejemplo.txt > /dev/usb/lp0
bash: /dev/usb/lp0: Permiso denegado
En la consola solo para dar permiso es sudo -s digitar la contraseña y dar la orden de impresión y pasa a la impresora.
¿Como se hace para que en un botón se envie a la impresora dando el permiso?
|
#7 Viernes, 02 Julio 2010, 10:02 |
|
|
aristicol
Aprendiz
Registrado: Septiembre 2009
Mensajes: 87
Edad: 37 Ubicación:
|
Re: Imprimir A Una Impresora De Ticket [SOLUCIONADO]
Estoy intentando algo asi, pero no sucede nada.
EXEC ["sudo", "-s", "root", "cat /home/aristicol/ejemplo.txt > /dev/usb/lp0"]
En consola de gambas me dice:
sudo: no tty present and no askpass program specified
|
#8 Viernes, 02 Julio 2010, 10:17 |
|
|
codificador
Analista Programador
Registrado: Junio 2010
Mensajes: 420
Edad: 114 Ubicación:
|
Re: Imprimir A Una Impresora De Ticket
'envio el fichero directamente por el puerto
SHELL "cat /tmp/ticket > /dev/usb/lp0" WAIT
Hola, me gustaría saber como validar la entrada de permiso para poder enviar la impresión de esa forma desde gambas desde un usuario que no es root
pues cuando se envia ese comando no se envia a la impresora pues queda internamente sin permiso
cat /home/aristicol/ejemplo.txt > /dev/usb/lp0
bash: /dev/usb/lp0: Permiso denegado
En la consola solo para dar permiso es sudo -s digitar la contraseña y dar la orden de impresión y pasa a la impresora.
¿Como se hace para que en un botón se envie a la impresora dando el permiso?
agrega tu usuario al grupo
lp
pero mejor trata de imprimir usando las funciones y clases que tiene gambas para imprimir
|
#9 Sabado, 03 Julio 2010, 04:26 |
|
|
aristicol
Aprendiz
Registrado: Septiembre 2009
Mensajes: 87
Edad: 37 Ubicación:
|
Re: Imprimir A Una Impresora De Ticket [SOLUCIONADO]
'envio el fichero directamente por el puerto
SHELL "cat /tmp/ticket > /dev/usb/lp0" WAIT
Hola, me gustaría saber como validar la entrada de permiso para poder enviar la impresión de esa forma desde gambas desde un usuario que no es root
pues cuando se envia ese comando no se envia a la impresora pues queda internamente sin permiso
cat /home/aristicol/ejemplo.txt > /dev/usb/lp0
bash: /dev/usb/lp0: Permiso denegado
En la consola solo para dar permiso es sudo -s digitar la contraseña y dar la orden de impresión y pasa a la impresora.
¿Como se hace para que en un botón se envie a la impresora dando el permiso?
agrega tu usuario al grupo
lp
pero mejor trata de imprimir usando las funciones y clases que tiene gambas para imprimir
OK gracias por la respuesta me funcionó lp, no uso las clases de impresión porque es una impresora de tiques que no aparece como tal en la parte alta de Ubuntu ose en Impresoras.
Gracias nuevamente
|
#10 Sabado, 03 Julio 2010, 14:53 |
|
|
|