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
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 .