Как сделать альбомную печать по умолчанию, используя 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");
Другие вопросы по тегам