Change Window.print() paper orientation

I want to change paper mode (orientation) on the window print. I want to change it programatically but i could not find anything.

window.print()

But i do not know , how can i do it.

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

I dont need it.

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

You need to inject style to your document.

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/

the simplest way to change page print orientation is by using following CSS

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

This one worked for me, was generating an A1 sales summary sheet

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

//Additional code here......

Just inject the current head css so that your data does not lose the previous styling


The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .
Read More:   Using spread operator to update an object value

Similar Posts