2008-10-27 8 views
9

Nella nostra applicazione abilitiamo gli utenti a stampare le pagine. Lo facciamo fornendo un pulsante che quando si fa clic su chiama la funzione window.print().
Alcune pagine apparirebbero migliori se fossero stampate in modalità orizzontale anziché in verticale. C'è un modo per controllare il layout della pagina da JavaScript?Posso cambiare il layout della pagina quando uso window.print()?

Aggiornamento: Seguendo il consiglio dato qui ho cercato "paesaggio css" in Google, e ho trovato la following article che ha mostrato modi di css-ly definendo paesaggio:

risposta

8

È necessario utilizzare un foglio di stile di stampa.

<link rel="stylesheet" href="print.css" type="text/css" media="print" /> 

Più info ...

How to print only parts of a page?

Edit: per costringere orientamento orizzontale, a quanto pare lo standard è size: landscape, ma non ho idea di quanto bene che è supportato tutti i browser.

+0

Grazie per l'aggiornamento. Secondo l'articolo a cui mi sono collegato nella mia domanda, è supportato in FireFox e Opera, ma non in IE –

2

farlo con i CSS, includendo un foglio di stile di stampa nel seguente modo:

<style type="text/css" media="print">@import url("/inc/web.print.css");</style> 
2

Penso che la tua domanda non sia tanto di usare il CSS per definire gli stili di stampa, ma di forzare la stampa come orizzontale piuttosto che verticale?

CSS 2 definito 'size', ma io non credo che questo widly è supportata: http://www.w3schools.com/css/css_ref_print.asp

CSS 3 ha una migliore controllo della stampa, ma ancora una volta non widly supportato.

1

Sfortunatamente, questo non è ancora possibile il cross-browser. Per Internet Explorer, c'è un ActiveX control che lo fa.

Altrimenti la soluzione migliore potrebbe essere quella di offrire l'opzione di una versione PDF per la stampa.

Problemi correlati