如何使用 javascript/Extjs 进行默认横向打印?
Posted
技术标签:
【中文标题】如何使用 javascript/Extjs 进行默认横向打印?【英文标题】:How to make default landscape print using javascript/Extjs? 【发布时间】:2013-06-26 06:30:19 【问题描述】:我已经使用 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");
【讨论】:
以上是关于如何使用 javascript/Extjs 进行默认横向打印?的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript Extjs:根据其他字段的条件,使用自定义类渲染网格中的单元格
Javascript - ExtJs - FormPanel组件
Javascript/ExtJS:Ext.getCmp('') 导致 TypeError ...不是函数