viernes, 4 de junio de 2010

IMPRIMIR EN IMPRESORA FISCAL (ticket, boleta, factura, contometro) DESDE PHP



Bueno investigando encontre que en PHP se puede crear un archivo de texto (digamos un block de notas) que luego hago un llamado al shell_exec y ahi le paso el archivo creado, el cual este mismo lo imprime por el puerto deseado, un ejemplo de como imprimir en una IMPRESORA FISCAL O TIQUETERA en php es:



<?php

/**
* @author ZEGARRA CORNE, Sergio
* @Instituto IDAT
*/
 

$Archivo_q_se_crea = fopen("puerto en el cual se desea imprimir", "w");
$dato = $_POST['videos']; //recibo algunos datos de otra pagina

// aqui comienzo a crear o digamos llenar el archivos con algunos datos
fwrite($Archivo_q_se_crea,"================================="); fwrite($Archivo_q_se_crea,"TITULO"); fwrite($Archivo_q_se_crea,"CANTIDAD"); fwrite($Archivo_q_se_crea,"Nombre".$dato ); fwrite($Archivo_q_se_crea," :: AQUI VAN LOS COMANDOS DE LA IMPRESORA ::");

fwrite($Archivo_q_se_crea," :: ESTO DEPENDE DEL MODELO ::");
fwrite($Archivo_q_se_crea," :: AQUI TAMBIEN PODEMOS PONER EL COMANDO QUE HABRE LA GABETA DE DINERO O EL CAJON ::");
fwrite($Archivo_q_se_crea," Gracias por Comprar en VideosconVida.com");


// ahora cerramos el archivo creado fclose($Archivo_q_se_crea); // cierra el fichero

//y por ultimo mandamos todos los codigos almacenados en el archivo "$Archivo_q_se_crea",(IMPRIMIMOS)

shell_exec('lpr "puerto en el cual se desea imprimir"'); 
?>


Bueno y ese es un ejemplo basico que he encontrado para poder imprimir en PHP
----------------------------------------------------------
 

www.videosconvida.com => Videos Variados
----------------------------------------------------------


28 comentarios:

  1. Hola, esto sirve para imprimir en la impresora fiscal de un cliente windows? o la impresora debe estar local al server?

    ResponderEliminar
  2. Bueno yo uso un server central y muchos server pequeños (clientes) y en estos tan solo coro apache + php y el script del cliente (el que executa la impresion)

    digamos que mi sistema tenga la siguiente direccion local

    http://192.168.10.80

    al momento de registrar el producto llamo a la pagina cliente pasandole los datos registrados

    http://localhost/cliente/ticket1.php?id=17&cnt=13&tip=2&pre=75

    o tambien uso JQUERY + json

    var d = {id:17,cnt:13,tip:2,pre:75};

    $.get("http://localhost/cliente/ticket1.php",d);

    y con eso logro imprimir en una inpresora fiscal o ticketera

    ResponderEliminar
  3. Hola, logras imprimir en distintas impresoras??
    saludos

    ResponderEliminar
  4. EXPLICATE MEJOR....

    Que estas buscando, o bueno que has conseguido lograr


    http://tareasyclases.co.cc

    ResponderEliminar
  5. Hola zxeveroxz por google llegue hasta aca buscando como imprimir en una impresora fiscal hasar que se conecta por serial rs232, utilizas algun spooler para comunicarte con la impresora, es decir, tenes carpeta desde donde lee la impresora y donde entrega la respuesta?. Mi idea es poder imprimir en una impresora fiscal a través de php o javascript.

    ResponderEliminar
  6. Bueno amigo "CarJav", yo utilizo una impresora Bixolon 270 (Matricial, Fiscal) y esta puede tener uno de los 3 tipos de conector: SERIAL, PARALELO Y USB. Por razones de actualidad yo adquiero las impresoras con entrada USB ya que las nuevas placas y/o Portatiles no cuentan con PUERTO PARALELO Y MUCHO MENOS CON SERIAL, despues de aclarada lo de los conectores.
    Si tengo un programa que EMULA UN PUERTO SERIAL DESDE EL PUERTO USB, es decir todo lo que envio al PUERTO "COM5" lo redirecciona digamos que al PUERTO USB001; yo creo que no debes tener ningun incoveniente al LEER EL PUERTO SERIAL, ya que tambien con el mismo codigo he impreso en el PURTO PARALELO LOS COMANDOS ESC/P porque yo creo que eso es lo que buscas, ya eso era mi problema con estas impresoras, que si no les envia los COMANDOS ESC/P la impresiones me los hacia muy lentas y con letras deformes, es decir, no usaba las FUENTES PREDETERMINADAS DE LA IMPRESORA FISCAL / TICKETERA.

    Amigo explicate un poco mejor como es tu extructura de tu sistema o de que se trata y con mucho gusto de ayudare en lo que pueda; a y disculpa por no darte la respuesta a tiempo pero he estado muy ocupado ya que manejo un sistema y este mes se ha tenido que entregar los reportes de cierre de objetivos de este año 2010.

    Sergio Zegarra Corne
    Lima - Peru

    NOTA: haver si te suscribes en "Suscripción por correo electrónico" para que te enteres cuando te escribo, hasta la proxima.

    ResponderEliminar
  7. Hola, es de gran ayuda la info, pero tengo una duda,a que te refieres con "AQUI VAN LOS COMANDOS DE LA IMPRESORA"??? y "ESTO DEPENDE DEL MODELO"??? Sería de gran ayuda resolver estas dudas. Gracias de antemano y ojala puedas responder

    ResponderEliminar
  8. Claro todo depende del modelo, por ejemplo algunos modelos aceptan " \n " como espacio hacia abajo mientras que otras ch(33).ch(100).ch(1).

    Para poder ayudarte pon el modelo de la impresora que vaz a usar asi como tambien el proyecyo que vaz a implementar

    Tu amigo Sergio Zegarra

    Sitio en contruccion:::: http://tareasyclases.co.cc/web

    ResponderEliminar
  9. Gracias, ya logre imprimir, pero el problema es que solo lo hago localmente. Mi proyecto es un sistema en php que estara en un servidor remoto. Al subirlo no imprime porque la impresora no esta conectada al servidor ¿Como lo hago para que desde la web me imprima en mi equipo local?

    ResponderEliminar
  10. OK LEONEL...

    Primero dime de que se trata tu proyecto, y cuando me dices de servidor remoto a que te refieres, que esta un lugar aparte o que esta en un servidor web via internet.

    Estare respondiendote en horas de la noche, ya que estoy full por el momento.

    Nos vemos....

    ResponderEliminar
  11. Es una aplicacion para un centro de pagos que registra un pago en una base de datos mysql, todo esto en un servidor web via INTERNET. La aplicación y la impresión funcionan perfecto en local, pero cuando subo el php de la impresión no imprime, ya que por lo que se la impresora debe estar conectada al servidor. Entonces hay alguna forma de que teniendo el archivo en la web pueda imprimir en un equipo local??? De antemano muchas gracias

    ResponderEliminar
  12. Y SI USAS ESTO

    DIRECCION DEL SISTEMA

    http://192.168.10.80/sistema/

    al momento de registrar el producto llamo a la pagina cliente pasandole los datos registrados

    uso JQUERY + json

    var d = {id:17,cnt:13,tip:2,pre:75};

    $.get("http://localhost/cliente/ticket1.php",d);

    DIME SABES JQUERY O ALGO PARECIDO.

    Yo tengo mi sistema en un local central y tengo 4 sedes que imprimen en impresoras fiscales, en cada una de las sedes e instala APACHE + PHP para que puedan ejecutar la pagina:

    http://localhost/cliente/ticket1.php

    Recuerda que nosotros estamos en el sistema http://192.168.10.80/sistema/ y por medio de JQUERY llamamos a esta pagina la cual se encuntra en la pc cliente con APACHE Y PHP http://localhost/cliente/ticket1.php

    Hasme saber si podiste resolver tu problema, aqui listo para ayudate

    ResponderEliminar
  13. No se Jquery, lo que haces es pasar las variables desde el servidor a una pagina alojada en el pc del cliente? algo estoy entendiendo, pero no se como hacerlo ya que me manejo en php. Hasta el momento sigo con el problema, pero si tienes alguna idea de como hacerlo te lo agradecería mucho.

    ResponderEliminar
  14. seria bueno amigo zegarra, que pongas el codigo completo, no importa si es de un impresora especifica, ayudaria bastante ver todo el codigo.

    sobre el problema del amigo leonel, creo que tiene ver con el hecho seguridad y configuracion del php del lado del servidor, es muy probable que tenga una configuracion limitada. estas usando como servidor un hosting php de esas que hay en internet y la mayoria son gratis o de pago ?. esto puede provocar que cuando se ejecute el comando shell_exec nunca envie el archivo plano o txt o talves tu navegador web lo este bloqueando por provenir de un sitio web que no es de confianza.

    saludos

    ResponderEliminar
  15. Exacto Jpardo, estoy en un hosting Internet de pago y no se permite modificar la configuración del servidor. Lo que tengo entendido es que no imprime porque la pagina php necesita que la impresora este conectada al servidor. Mi problema es que no poedo conectar la impresora al servidor ya que este es de una empresa externa. ¿Como lo hago para que el script de impresion mande a imprimir en una impresora conectada al cliente PHP? Gracias de antemano.

    ResponderEliminar
  16. OK AMIGOS

    AQUI HE CREADO OTRA ENTRADA MAS, EN LA CUAL ESPLICO MAS DETALLADAMENTE LOS PASOS

    ESTE ES EL LINK

    http://mitareaperu.blogspot.com/2011/03/imprimir-ticket-en-impresora-fiscal-con.html

    Imprimir Ticket en impresora fiscal paso a paso en el lado del cliente en PHP :: http://mitareaperu.blogspot.com/2011/03/imprimir-ticket-en-impresora-fiscal-con.html

    Haber si publican las capturas de pactalla de sus proyectos

    ResponderEliminar
  17. Gracias, ya solucione el problema con el post que agregaste, mando las variables via url y me imprime. Gracias de nuevo por la preocupación. Saludos

    ResponderEliminar
  18. Ok no hay problema...

    Dime una cosa, tu programacion esta en 3 capas, osea orientada a objetos, o es solamente extructura...


    Saludos amigos

    ResponderEliminar
  19. I am doing research for my university thesis, thanks for your great points, now I am acting on a sudden impulse.

    online pharmacy

    ResponderEliminar
  20. Gracias por sus opiniones

    Sigan comentando sus dudas

    ResponderEliminar
  21. Your blog looks nice, even so it would be far better if you’ll be able to use lighter colors too as a professional design. This will make sure that a lot more readers come to check it out.Informative post by the way!

    generic nolvadex

    ResponderEliminar
  22. Gracias por tus comentarios, me ayudan de mucho y me motivan, y dime tu a que te dedicas...

    Thank you for your comments help me a lot and encourage me and tell me that you do your

    ResponderEliminar
  23. justo lo que andaba buscando.... Me has salvado de largas horas googleando

    ResponderEliminar
    Respuestas
    1. Ok amigo Carlos publica tus avances para que otros tambien resuelvan su problema con las impresoras fiscales

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. Carlos me puedes ayudar para imprimir en impresora tickera epson por el puerto lpt1

      Eliminar
  24. Alguien me podría ayudar para imprimir desde mi hosting Internet en una impresora epson tickera.

    ResponderEliminar