2008-10-27 28 views
9

En nuestra aplicación, les permitimos a los usuarios imprimir páginas. Hacemos esto suministrando un botón que al hacer clic llama a la función window.print().
Algunas de las páginas se verían mejor si se imprimieran en modo horizontal en lugar de vertical. ¿Hay alguna forma de controlar el diseño de página desde JavaScript?¿Puedo cambiar el diseño de página cuando uso window.print()?

Actualización: Siguiendo los consejos que aquí busqué "paisaje css" en Google, y encontré el following article que mostraba formas de css-ly definir paisaje:

Respuesta

8

Debe usar una hoja de estilo de impresión.

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

Más información ...

How to print only parts of a page?

Editar: para obligar a la orientación horizontal, al parecer, la norma es size: landscape, pero no tengo ni idea de lo bien que es apoyado a través de navegadores.

+0

Gracias por la actualización. De acuerdo con el artículo al que me he vinculado en mi pregunta, eso es compatible con FireFox y Opera, pero no en IE –

2

lo hacen con el CSS mediante la inclusión de una hoja de estilos de impresión de esta manera:

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

Creo que su pregunta no es tanto sobre el uso de CSS para definir los estilos de impresión, sino para forzar la impresión como paisaje en lugar de retrato?

CSS 2 definido 'tamaño', pero no creo que esto es apoyado Widly: http://www.w3schools.com/css/css_ref_print.asp

CSS 3 tiene mejor control de la impresión, pero de nuevo no es compatible Widly.

1

Desafortunadamente, esto aún no es posible entre navegadores. Para Internet Explorer, hay un ActiveX control que lo hace.

De lo contrario, su mejor opción es ofrecer la opción de una versión PDF para imprimir.

Cuestiones relacionadas