最近做的项目需要用到打印页面的功能,记录下打印页面的工过程
打开需要打印的界面,如下
点击打印按钮出现如下界面
下面贴代码
打印开始区域
打印结束区域
function day(){
// 获取当前页的html代码
var bdhtml = window.document.body.innerHTML;
//设置打印开始区域
var startStr = '<!--startprint-->';
// 设置打印结束区域
var endStr = '<!--endprint-->';
//从标记里获取需要打印的页面
var printHtml = bdhtml.substring(bdhtml.indexOf(startStr) + startStr.length, bdhtml.indexOf(endStr));
//隐藏不必要的按钮和样式
// var iframe = document.getElementById('rightMain');
// var iframeHtml=iframe.contentWindow.document.body;
// $(iframeHtml).find("a").each(function(){
// var fileName=$(this).text();
// var qq=$(this).parent("td");
// qq.empty();
// qq.append("<span>"+fileName+"</span>");
// })
// var iframeHtml2=iframeHtml.innerHTML;
// var printHtml = document.getElementById('dy_html').innerHTML;
// var allHtml=iframeHtml2+printHtml;
var allHtml=printHtml;
//iframe.contentWindow.focus();
//iframe.contentWindow.print();
// 通过id获取需要打印的页面
window.document.body.innerHTML = allHtml;
if (!!window.ActiveXObject || "ActiveXObject" in window) { //是否ie
remove_ie_header_and_footer();
}
remove_ie_header_and_footer();
window.print();
// 还原界面
window.document.body.innerHTML = allHtml;
window.location.reload();
}
//去掉页眉、页脚
function remove_ie_header_and_footer() {
var hkey_path;
hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
try {
var RegWsh = new ActiveXObject("WScript.Shell");
RegWsh.RegWrite(hkey_path + "header", "");
RegWsh.RegWrite(hkey_path + "footer", "");
} catch (e) {
}
}
这就完成了,是不是非常简单