Как сделать альбомную печать по умолчанию, используя javascript/Extjs?
Я сделал приложение, использующее Extjs 4.1, реализовал функцию печати, создав XTemplte, открывающуюся в новом окне. Печать работает очень хорошо. после того, как я нажму кнопку "Печать", он будет открыт по умолчанию в портретном режиме, вместо этого, как открыть печать в альбомной ориентации по умолчанию? Отлично ценится. Спасибо.
Вот мой код:
if (Ext.isChrome) {
newWin= window.open();
newWin.document.write('<p style="color: #003366;font-weight:bold;font-size:30px; text-align: center">'+titleName+'</p>'+'<p style="color: #003366;font-weight:bold;font-size:10px; text-align: left">'+filterlblInfo+'</p>'+this.generateHTML(GridViewId));
newWin.document.close();
newWin.focus();
newWin.print();
newWin.close();
newWin='';
}
else{
var win = window.open('', name);
win.document.write('<p style="color: #003366;font-weight:bold;font-size:30px; text-align: center">'+titleName+'Currency Type:'+currencyType+'</p>'+'<p style="color: #003366;font-weight:bold;font-size:10px; text-align: left">'+filterlblInfo+'</p>'+this.generateHTML(GridViewId));
setTimeout(function() {
win.document.close();
win.print();
win.close();
}, 1000);
}
generateHTML: function(component) {
return new Ext.XTemplate(
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
'<html>',
'<head>',
'<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />',
'<meta http-equiv="X-UA-Compatible" content="IE=9">',
'<style type="text/css" media="print">',
'@page { size: landscape; }',
'</style>',
'<link href="resources/css/default/printer.css" rel="stylesheet" type="text/css" media="screen,print" />',
'</head>',
'<body>',
this.generateBody(component),
'</body>',
'</html>'
).apply(this.prepareData(component));
}
1 ответ
Решение
Вы указываете высоту и ширину окна в вызове window.open
вот так:
var win = window.open('', name, "height=500,width=1000");