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
/** http://www.jsjconsultores.com/
* @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
----------------------------------------------------------
http://www.jsjconsultores.com/
----------------------------------------------------------
Hola, esto sirve para imprimir en la impresora fiscal de un cliente windows? o la impresora debe estar local al server?
ResponderEliminarBueno 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)
ResponderEliminardigamos 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
Hola, logras imprimir en distintas impresoras??
ResponderEliminarsaludos
EXPLICATE MEJOR....
ResponderEliminarQue estas buscando, o bueno que has conseguido lograr
http://tareasyclases.co.cc
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.
ResponderEliminarBueno 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.
ResponderEliminarSi 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.
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
ResponderEliminarClaro todo depende del modelo, por ejemplo algunos modelos aceptan " \n " como espacio hacia abajo mientras que otras ch(33).ch(100).ch(1).
ResponderEliminarPara 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
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?
ResponderEliminarOK LEONEL...
ResponderEliminarPrimero 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....
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
ResponderEliminarY SI USAS ESTO
ResponderEliminarDIRECCION 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
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.
ResponderEliminarseria bueno amigo zegarra, que pongas el codigo completo, no importa si es de un impresora especifica, ayudaria bastante ver todo el codigo.
ResponderEliminarsobre 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
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.
ResponderEliminarOK AMIGOS
ResponderEliminarAQUI 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
Muy buenas tardes, en Marzo de 2011 publicaste este sitio,
EliminarImprimir 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
pero el sitio ha sido eliminado, puedes volver a publicarlo?
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
ResponderEliminarComo has solucionado el problema Leonel.
EliminarOk no hay problema...
ResponderEliminarDime una cosa, tu programacion esta en 3 capas, osea orientada a objetos, o es solamente extructura...
Saludos amigos
Gracias por sus opiniones
ResponderEliminarSigan comentando sus dudas
Gracias por tus comentarios, me ayudan de mucho y me motivan, y dime tu a que te dedicas...
ResponderEliminarThank you for your comments help me a lot and encourage me and tell me that you do your
justo lo que andaba buscando.... Me has salvado de largas horas googleando
ResponderEliminarOk amigo Carlos publica tus avances para que otros tambien resuelvan su problema con las impresoras fiscales
EliminarEste comentario ha sido eliminado por el autor.
EliminarCarlos me puedes ayudar para imprimir en impresora tickera epson por el puerto lpt1
EliminarAlguien me podría ayudar para imprimir desde mi hosting Internet en una impresora epson tickera.
ResponderEliminarzxeveroxz hola como me puedo comunicar contigo por correo para que me ayudes?
ResponderEliminarhttp://jsjconsultores.com
ResponderEliminarDiego Armando Perez Ovalle, escribio...
ResponderEliminarHola Sergio buenas tardes
Mi nombre es Diego Pérez, soy Ingeniero de Software de colombia y estoy haciendo un pequeño sistema POS y estoy tratando de imprimir desde php a una impresora termica EPSON TM-T20, la impresora esta en el puerto USB y el sistema esta montado en el mismo servidor. Me he estado guiando de un foro http://sergiozegarracorne.blogspot.com.co/2010/06/imprimir-en-impresora-fiscal-ticket.html en el que vos explicas como hacerlo pero no me ha funcionado.
Este es el codigo que tengo:
if(($handle = @fopen("USB001", "w")) === FALSE) {
die('No se pudo Imprimir, Verifique su conexion con el Terminal'.$handle);
}
//$dato = $_POST['datos'];
fwrite($handle,chr(27). chr(64));//reinicio
fwrite($handle, chr(27). chr(112). chr(48));//ABRIR EL CAJON
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(33). chr(8));//negrita
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle,"=================================");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(32). chr(3));//ESTACIO ENTRE LETRAS
fwrite($handle,"I. C. M. EL APOSENTO ALTO ");
fwrite($handle, chr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(33). chr(8));//negrita
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Nacimos de Nuevo para ser grandes");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"=================================");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"PALABRA A IMPRIMIR: LINDO");
//fprintf($handle);
//echo "bien";lpr
$salida = shell_exec('USB001 lpr'); //lpr->puerto impresora, imprimir archivo PRN
fclose($handle); // cierra el fichero PRN
Me podrias dar una mano con eso por favor, gracias.
El problema que tienes es @fopen("USB001", "w")), si estas trabajando con windows no te va reconocer el puerto USB***, para dar solucion a esto hay varias formas:
EliminarUna de ellas es tener un programa que virtualize el puerto COM5, es decir todo lo que le envies al puerto virtual COM* lo pasara al puerto USB*, el cual este puerto USB debe haber sido instalado con sus driver con el que viene la impresora...
Otra es instalar la impresora con el driver generico TEXT/Generic, despues compartirla impresora instalada, por ejemplo "termica1", entonces el codigo quedaria asi : -- @fopen("\\localhost\\termica1", "w")) --, claro que esto solo funciona de la misma pc donde esta instalada la impresora, si desearias imprimir de otra pc seria asi: -- @fopen("\\192.168.1.123\\termica1", "w")) -- ::192.168.1.123 esto es la ip donde esta la impresora instalada::ademas para esto hay que darle algunos permisos en el firewall...
Otra opcion que ahora yo estoy usando y es mucho mejor, estoy comprando ya las impresoras que vienen con puerto ETHERNET - RED, con esto se puede hacer que se imprima desde cualquier lugar...
----------------
Ahora si usas LINUX es mucho mas rapido---
Primero tines que dar permiso a la impresora fiscal - factura - ticket - termica:
sergio#: sudo chmod -R 777 /dev/usb/lp0
ya con esto tiene permiso para ser usado por cualquier usuario
despues cambiamos el codido de la impresora a:
-- @fopen("PRINT", "w")) -- y al final para imprimir
shell_exec('cat PRINT > /dev/usb/lp0');
Espero pueda ser de ayuda esta informacion para imprimir desde php en impresora de ticket desde el cliente o desde el servidor
Hola sergio..
ResponderEliminarTengo una aplicacion en un Hosting y estoy imprimiendo en la Pc del cliente.
Como puedo imprimir, si al cliente se cae la conexion de internet???
Hola sergio..
ResponderEliminarTengo una aplicacion en un Hosting y estoy imprimiendo en la Pc del cliente.
Como puedo imprimir, si al cliente se cae la conexion de internet???
sergio/jose tengo el mismo problema, quisiera imprimir desde el lado del cliente (navegador)
Eliminarque tal ya resolvieron el problema ??
EliminarHola, amigo me podrias ayudar, necesito imprimir un tickets o comandas para la cocina y barra en php, nose como hacerlo.. esto esta montado en un servidor local..
ResponderEliminarhelp meeeeeee
ResponderEliminarbuenas amigo tengo una impresora bixolom srp350 y no he logrado imprimir con ella me podiras orientar que archivos debo instalar para la misma para poder probar
ResponderEliminar