您的位置:首页 > 其它

执法文书打印的实现(四):调用ie打印预览

2015-01-31 16:41 204 查看
[b]执法文书打印的实现(四):调用ie打印预览 [/b]

上篇博客被移出首页了,有点灰心。这几篇博客可能没用心,只当做一个任务了。以后质量不高的都发候选了,咱要有自觉啊。这篇写完终于完结了,好开心。

文书页面是通过渲染静态html到本页面div实现的,直接在本页调用ie打印预览会无法自动分页也不好控制打印样式。

页面div:<div id="htmlContainer" align="center"></div>

Html渲染:

function renderHtml() {

var htmlCfg = {

url : htmlUrl,//静态html地址

success : loadHtml,//请求html成功执行的操作

async : true

};

$.ajax(htmlCfg);

}

//渲染表单内容和数据到div中

function loadHtml(data, textStatus) {

// 添加云表单

//alert(data);

$("#htmlContainer").append(data);

// 云表单加载完毕后需要执行的初始化操作

CForm.init();

// 渲单表单

renderForm();

}

为了实现更好的打印预览效果,在opener页面调用打印预览方法:

本页面打印预览按钮方法:

function pre_print(){

//tabPanel.activeTab.id.split("_")[0] 获得当前活动的divID并作为参数传递到pre-print.jsp

var url=L5.webPath+"/jsp/aaepcform/cfaaepformapply/render/pre-print-s.jsp?currentWId=htmlContainer&formId="+formId;

ow=window.open(url,'打印文书','height=1100,width=800,toolbar=no,menubar=no,scrollbars=2, resizable=no,location=no, status=no,alwaysRaised=yes,z-look=yes,depended=yes');

}

}

在opener窗口读取本页div中表单的内容:

//需要打印的div元素

var el=window.opener.document.getElementById(currentWId);

//复制打印内容到本页div中

$("body").append(el.innerHTML);

调用打印预览:

var HKEY_Root,HKEY_Path,HKEY_Key;

HKEY_Root="HKEY_CURRENT_USER";

HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";

//打印设置:通过修改注册表实现

function doPrintPreview(){

try{

//注册表操作对象

var RegWsh = new ActiveXObject("WScript.Shell");

//设置页眉为空

HKEY_Key="header";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");

//设置页脚为空

HKEY_Key="footer";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");

//设置下边距为0

HKEY_Key="margin_bottom";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");

//设置左页边距(0)

HKEY_Key="margin_left";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");

//设置右页边距(0)

HKEY_Key="margin_right";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");

//设置上页边距为0

HKEY_Key="margin_top";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");

//设置 不收缩到纸张大小,默认100%

HKEY_Key="Shrink_To_Fit";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"no");

//设置 打印页面背景

HKEY_Key="Print_Background";

RegWsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"yes");

//调用ie组件打印预览

printWB.ExecWB(7,1);

}catch(e){

alert("打印失败,请修改IE安全设置");

};

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: