执法文书打印的实现(四):调用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安全设置");
};
}
上篇博客被移出首页了,有点灰心。这几篇博客可能没用心,只当做一个任务了。以后质量不高的都发候选了,咱要有自觉啊。这篇写完终于完结了,好开心。
文书页面是通过渲染静态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安全设置");
};
}
相关文章推荐
- 执法文书打印的实现(二):基于freemaker技术生成可打印的word文档
- JS实现IE下打印和打印预览
- jsp调用IE打印控件实现打印功能,并且实现分页功能
- IE中js调用脚本实现打印预览(按钮本身不打印)
- IE中js调用脚本实现打印预览(按钮本身不打印)
- 执法文书打印的实现(三)(word→png的实现)
- 用最简单的办法,实现最好的打印(用BCB调用WORD的打印功能)
- 如何实现通过IE打印窗体中的所有信息?
- VB在程序中调用Web实现打印
- 抛开IE,实现我们自己的打印模板
- 实现类似IE的打印网页功能
- 也谈WEB打印(二):简单的分析一下IE的打印原理并实现简单的打印和预览
- 用最简单的办法,实现最好的打印(用BCB调用WORD的打印功能)
- 也谈WEB打印(三):抛开IE,实现我们自己的打印模板
- 使用IE内置组件实现web页面打印 --终于找到了
- 利用css和js实现firefox和IE都支持的页面局部打印
- 用最简单的办法,实现最好的打印(用BCB调用记事本的打印功能)
- 有关打印、收藏等的JS代码(打印等主要使用了一个IE组件来实现)
- 利用VB实现对IE的调用与控制
- JS调用IE打印