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