【问题标题】:Can I change page layout when using window.print()?使用 window.print() 时可以更改页面布局吗?
【发布时间】:2010-09-19 08:21:31
【问题描述】:

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

更新:按照此处给出的建议,我在 google 中查找了“css Landscape”,并找到了 following article,它显示了 css-ly 定义景观的方式:

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您应该使用打印样式表。

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

    更多信息...

    How to print only parts of a page?

    编辑:强制横向,显然标准是size: landscape,但我不知道跨浏览器的支持程度。

    【讨论】:

    • 感谢您的更新。根据我在问题中链接到的文章,FireFox 和 Opera 支持,但 IE 不支持
    【解决方案2】:

    通过包含打印样式表来使用 CSS:

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

    【讨论】:

      【解决方案3】:

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

      CSS 2 定义了“大小”,但我认为这并没有得到广泛支持: http://www.w3schools.com/css/css_ref_print.asp

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

      【讨论】:

        【解决方案4】:

        不幸的是,这仍然不可能跨浏览器。对于 Internet Explorer,有一个 ActiveX control 可以做到这一点。

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

        【讨论】:

          猜你喜欢
          • 2015-10-10
          • 1970-01-01
          • 1970-01-01
          • 2019-11-14
          • 1970-01-01
          • 2012-02-15
          • 1970-01-01
          • 1970-01-01
          • 2020-04-10
          相关资源
          最近更新 更多