零、测试页面及预览页面

测试页面:

<div>
<table id="test0" border="1">
<tr><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td></tr>
</table>
</div>

<div id="test">
<h2>所有部门信息</h2>
<table id="test2" border="1">
<tr><th>序号</th><th>部门编号</th><th>部门名称</th><th>部门地址</th></tr>
<c:forEach items="${deptList}" var="dept" varStatus="s">
<tr>
<td>${s.index+1}</td>
<td>${dept.deptNo}</td>
<td>${dept.dName}</td>
<td>${dept.loc}</td>
</tr>
</c:forEach>
</table>
</div>

<div><button class="btn">打印</button></div>

预览页面:

Java Web使用JS实现简单打印功能_html

一、调用window对象print()方法打印当前窗口所有内容

此方法兼容IE浏览器,只是IE下无打印预览功能。
【注】未测试浏览器版本。

$(".btn").click(function(){
window.print();
});

Java Web使用JS实现简单打印功能_html_02

二、IE浏览器打印当前窗口所有内容

代码:

<div style="border:1px red solid; width:400px; hight:300px;">
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="wb" name="wb" width="0"></OBJECT>
<input class="btn" type="button" name="button_print" value="IE浏览器直接打印" onclick="javascript:wb.execwb(6,6);">
<input class="btn" type="button" name="button_show" value="IE浏览器打印预览" onclick="javascript:wb.execwb(7,1);">
</div>

IE浏览器直接打印:

Java Web使用JS实现简单打印功能_刷新页面_03

IE浏览器打印预览:

Java Web使用JS实现简单打印功能_html_04

以下代码未测:

wb.ExecWB(6,1);//打印 
wb.ExecWB(7,1);//打印预览
wb.ExecWB(8,1);//打印页面设置

三、打印局部内容

第一种: 利用hide(),show()等显示/隐藏方法或css属性,在打印前隐藏其他内容,在打印后恢复。

// 不打印“打印”按钮
$(".btn").click(function(){
$(this).hide();
window.print();
$(this).show();
window.location.reload();//不管是否打印,切记刷新页面,防止因打印影响页面其他业务
});

预览图:

Java Web使用JS实现简单打印功能_html_05


第二种: 备份初始页面内容,在打印前删除不需要的页面内容,在打印后恢复初始页面内容。

【注意】 需要将打印的内容 父级元素 赋给window.document.body.innerHTML,方可在打印时保留页面css样式,否则会丢失样式,只打印文本, ​切记​

<a href="javascript:printme();" target="_self">打印</a>

// 只打印中间表格
<script type="text/javascript">
function printme() {
var bodyHTML=window.document.body.innerHTML;//备份初始html
window.document.body.innerHTML=$('#test').html();//删除不需要的页面内容,仅保留需要打印的内容
window.print();
window.document.body.innerHTML=bodyHTML;//回复初始html
window.location.reload();//不管是否打印,切记刷新页面,防止因打印影响页面其他业务
}
</script>

预览图:

Java Web使用JS实现简单打印功能_java打印_06


以下其他方式的代码未测试:

代码1:新建浏览器对话框打印

var newStr = document.getElementById("printDiv").innerHTML;//获取打印部分
var win = window.open("","新建打印窗口","height=300,width=700,top=100");//新建窗口
win.document.body.innerHTML = newStr;//打印内容写到新建窗口中
win.print();//执行打印

代码2:新建浏览器对话框中通过url获取内容

var url = "http://....";
var win = window.open(url,"新建打印窗口","height=300,width=700");
win.print();

四、java后台代码打印(暂未整理)


vim如何配置java vim配置成ide

公司服务器上的vim用的异常痛苦,自己写几个小脚本又不想用IDE,于是简单改造下vim,尝试了一次以后发现公司的机器装的是vim6x,很多插件不支持,于是干脆重装成7.x 1.安装vim  先去下载vim安装包,然后解压,执行安装命令,一般有./configure --prefix=/usr/local/  安装目录 --enable-perlinterp  perl集成 --ena