发布网友 发布时间:2022-04-24 13:34
共1个回答
热心网友 时间:2023-10-14 15:20
用浏览器自带的打印功能直接打印; 这种方式是最直接的,方便的,不需要加什么插件jar包,只要前台在一个 div 中模仿着报表的格式去设置界面布局,然后把数据动态的填充进去,再调用JavaScript打印函数,就可以实现界面的局部打印功能。(如果不想让报表div在界面中显示出来可以隐藏之)PS:不过直接在前台界面打印还是会遇到意想不到的情况,不同浏览器的问题,反正我就遇到不同浏览器打印出来的报表排版不一的情况,用的时候需要注意。eg:<pre t="code" l="java">div布局
<div id="printdiv" style="display:none;">
<table id="tableid" class="main" cellspacing="0" cellpadding="0" border="1"
bordercolor="#" width="800px;">
/****** your code ******/
</table>
</div>
JavaScript部分:(自己根据需要选择触发响应的JS函数)
function windowprint() {
var f = document.getElementById("printdiv");
f.style.display = "";
window.print();
f.style.display = "none";
}
function myPrint(obj){
var newWindow=window.open("打印窗口","_blank");
var docStr = obj.innerHTML;
newWindow.document.write(docStr);
newWindow.document.close();
newWindow.print();
newWindow.close();
}