Imprimir html y que php se entere
Rodrigo Fuentealba
darkprox en gmail.com
Sab Ene 13 12:03:58 CLST 2007
2007/1/13, eduardo <jamrojo en gmail.com>:
> El sáb, 13-01-2007 a las 08:36 -0300, Rodrigo Fuentealba escribió:
> > 2007/1/13, Cristian Rodriguez <judas.iscariote en gmail.com>:
> > > 2007/1/13, eduardo <jamrojo en gmail.com>:
> > > > Hola, estoy generando unos documentos html, los cuales tienen que
> > > > imprimirse, como podría hacer que php se entere que efectué una orden de
> > > > impresión?, y quizás es mucho pedir, pero, que php se entere si se
> > > > efectuó con éxito la impresión, se pudría?¿.
> > >
> > > a no ser que lo quieres es que imprima en el mismo servidor que esta
> > > corriendo tu sistema , la impresion es un asunto del cliente, y hasta
> > > donde se, los programas cliente no tienen ninguna clase de opcion que
> > > se pueda configurar para que notifique a una apliacion web si la
> > > impresion fue exitosa o no.
> >
> > Por supuesto que no hay: cada interfaz es distinta entre impresores,
> > no existe un standard (por mucho que queramos que CUPS haga el trabajo
> > sucio por nosotros).
> Que negativos
Para nada, es la pura verdad.
> toy creando un boton js para imprimir que además pase una variable
Estás creando un botón js que manda a window.print(); con lo que,
claro, estás solicitando una impresión. Este boton seguramente
<input type="button" onclick="javascript:imprime();" />
> así podria ""detectar una solicitud de impresión"".
Argh, deberia ponerte un raton blanco en el estomago, a la altura del
diafragma, taparlo con un balde metalico de tal manera que no se
escape y calentar el balde con un soplete.
> Si se instruye al usuario para que lo utilize
> deberia lograr mi objetivo, no creen :P??.
Parafraseando un poquito a HvB: aca somos brujos y prestidigitadores,
pero no adivinamos el pensamiento. Para eso existe un analisis de
sistema que se ha hecho previamente pero que nosotros no conocemos.
Favor no enviarme a desarrollar ningun sistema, porque no creo que
vaya a entenderte.
> Bueno, es la opción que se me ocurre :P
Harto chanta, pero... bueno, es Web 2.0...
> criticas?? (constructivas)
Si, pero no sobre lo que haces sino sobre como lo estas planteando.
Ver el parrafo que comienza con "Parafraseando..."
> es buena idea??
O sea... si tu jefe lo encuentra bueno, porque hasta ahora no he visto
nada de lo que tenga que ver PHP aqui, salvo guardar un dato en la
base de datos que ya a estas alturas perdio la gracia.
> toy mirando la mitad del vaso lleno??
Nope. Mirando por ahi, tengo algo como un onbeforeprint(); y un
onafterprint(); que funcionan con Internet Explorer.
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/print.asp
Haz lo siguiente en la funcion imprimir. No escribire la funcion:
OnClick:
Si te funciona el onbeforeprint y el onafterprint:
- Al final de la logica de tu pagina pones session_write_close();
- Deshabilita el boton Imprimir. No puedes cambiarlo por el boton Cancelar.
- Puedes llamar a AJAX a partir del resultado de un alert(); que te pregunte
- "¿Ha terminado la impresion correctamente?"
- Si te dice que si, Guardas el resultado como correcto en la BD.
"imprimir tal pagina a tal hora por tal usuario: okey".
- Si te dice que no, entonces luego enviar un inputbox (no me acuerdo
como se llama) pero el objeto es que el usuario cuente ahi si el
cancelo o que problema tuvo.
- Aparte de guardarlo en la DB, enviarle mail directamente al tipo de sistemas.
- Habilitar el boton.
Tambien puedes hacer que detecte browsers y solamente imprimir la
pagina en otros browsers que no esten soportados por tu codigo y cosas
asi ;-) el papel, asi como un mail, dan para mucho.
> merezco fusilamiento??
Ver arriba.
> alguna otra idea???.
Varias, pero son muy fuertes a estas alturas.
Saludos.
--
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org
Más información sobre la lista de distribución PHP