使用window.print()时可以更改页面布局吗?

时间:2008-10-27 06:54:06

标签: javascript

在我们的应用程序中,我们允许用户打印页面。我们这样做是通过提供一个按钮,当点击它时调用window.print()函数 如果以横向模式而不是纵向打印,则某些页面看起来会更好。有没有办法从JavaScript控制页面布局?

更新:按照这里给出的建议,我在google中查找了“css landscape”,并找到了显示css-ly定义格局的方法的following article

4 个答案:

答案 0 :(得分:8)

您应该使用打印样式表。

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

更多信息......

How to print only parts of a page?

编辑:为了强制横向,显然标准是size: landscape,但我不知道浏览器支持的效果如何。

答案 1 :(得分:2)

通过包含打印样式表来实现CSS:

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

答案 2 :(得分:2)

我认为你的问题不是用CSS来定义打印样式,而是强制打印为横向而不是纵向?

CSS 2定义了'size',但我不认为这是非常支持的: http://www.w3schools.com/css/css_ref_print.asp

CSS 3具有更好的打印控制,但同样没有得到广泛的支持。

答案 3 :(得分:1)

不幸的是,这仍然不可能跨浏览器。对于Internet Explorer,有ActiveX control可以执行此操作。

否则,您最好的选择可能是提供PDF版本的打印选项。