更改 Window.print() 纸张方向

Posted

技术标签:

【中文标题】更改 Window.print() 纸张方向【英文标题】:Change Window.print() paper orientation 【发布时间】:2016-12-25 20:03:12 【问题描述】:

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

window.print()

但我不知道,我该怎么做。

@media print@page size: landscape

我不需要它。

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

【问题讨论】:

我可能是错的,但我不认为这是你能做到的。纸张大小和方向由用户决定。 【参考方案1】:

您需要为文档注入样式。

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/

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

这个对我有用,正在生成 A1 销售汇总表

var head = '<html><head>' 
      + $("head").html() 
      + ' <style>bodybackground-color:white !important;@page  size: 84.1cm 59.4cm;margin: 1cm 1cm 1cm 1cm; </style></head>';

//Additional code here......

只需注入当前的头部 css,这样你的数据就不会丢失之前的样式

【讨论】:

以上是关于更改 Window.print() 纸张方向的主要内容,如果未能解决你的问题,请参考以下文章

javascript window.print() 打印问题?预览时图片正好,打印到A4上时变小??据说是print打印的是屏幕大小

[Q]如何设置pdfFactory打印机纸张方向为横向

从BIRT报表文件中获取页面设置信息(页边距纸张大小输出方向)的方法

Java PDF页面设置——页面大小页边距纸张方向页面旋转

更改打印机默认纸张大小

问: win10页面与xp、win7的不一样,打印范围或纸张比例大小不一