更改Window.print()纸张方向

时间:2016-08-18 19:10:43

标签: javascript jquery css node.js twitter-bootstrap

我想在窗口打印上更改纸张模式(方向)。我想以编程方式更改它,但我找不到任何东西。

  

window.print()

但我不知道,我怎么能这样做。

@media print{@page {size: landscape}}

我不需要它。

    function printWindow()
    {
        window.print({
        /*
        some code here?
        */
        });
}

3 个答案:

答案 0 :(得分:25)

您需要为文档注入样式。

var css = '@page { size: landscape; }',
    head = document.head || document.getElementsByTagName('head')[0],
    style = document.createElement('style');

style.type = 'text/css';
style.media = 'print';

if (style.styleSheet){
  style.styleSheet.cssText = css;
} else {
  style.appendChild(document.createTextNode(css));
}

head.appendChild(style);

window.print();

//don't forget to find and remove style if you don't want all you documents stay in landscape

https://jsfiddle.net/vc4jjhpn/

答案 1 :(得分:4)

更改页面打印方向的最简单方法是使用以下CSS

@page {
    size: 25cm 35.7cm;
    margin: 5mm 5mm 5mm 5mm; /* change the margins as you want them to be. */
}

答案 2 :(得分:0)

这对我有用,正在生成A1销售摘要表

get()

只需注入当前的头部CSS,以使您的数据不会丢失以前的样式