2010-03-29 19 views

risposta

9

Un modo possibile sarebbe avere una stampa CSS (<link rel="stylesheet" href="..." media="print" />), ma avere uno script sul lato server pre-elaborarlo. Fondamentalmente basta una semplice regola di riscrittura per riscrivere print.css, o qualsiasi altro file che usi, per essere inoltrato a uno script che registrerà la richiesta in qualche database, e infine emetterà il vero CSS.

Naturalmente questo non è un metodo perfetto; se qualcuno usa un'anteprima di stampa, verrà anche elaborato dallo script.

+0

+1 È una buona idea! – lfx

+0

oppure puoi avere un URL immagine nel tuo css di stampa che colpisce un tracker sul tuo server –

4

Non è possibile, non viene inviato nulla al server quando questo accade e non viene generato alcun evento.

IE ha onbeforeprint e onafterprint eventi che è possibile utilizzare, ma sono specifici per IE, quindi non li contiamo come soluzione.

+1

+1. C'è anche l'evento 'onafterprint' per IE - http://msdn.microsoft.com/en-us/library/ms536788(VS.85).aspx –

+1

@Andy - buon punto, dovrei menzionarlo entrambi, aggiornato per includerlo. –

4

Questo succederebbe ai clienti così è impossibile. L'unica cosa che puoi provare è fare un semplice pulsante per stampare la pagina e semplicemente appendere un contatore, sperando che tutti utilizzino quel pulsante invece dell'opzione File -> Stampa nel browser.

0

Non è mai possibile confermare in modo positivo quali sono i client con l'output del servizio.

0

Non è possibile.

E anche se fosse possibile, qualcuno può anche prendere uno screenshot della pagina, Printscreen ect ...

se si vuole garantire un contenuto ci sono altri modi per farlo (non sono del tutto immuni)

0

Non è possibile. Anche se si potesse avere un evento di post-back automatico che si attiva quando qualcuno tenta di stampare, non c'è nulla che impedisca loro di salvare la pagina HTML su disco e di stamparla in un secondo momento.

Problemi correlati