页面中按条件查询出结果集后,数据放在一个table里,点击批量打印按钮将表格里面的数据逐张按固定格式打印出来,类似学校的批量打印报到证。

解决方案 »

  1.   

    经过两天摸索,baidu,问题终于解决了,分享如下:
    因为打印模版是非印刷版,对打印格式要求不是特别高,所以并没有采用lodop.js这样插件(确实挺强大的),而直接引得是IE的内置插件WebBrowser,缺点是非IE类浏览器(如FF),不能实现。但因为单位电脑基本都是IE,所以被我忽略了。
    根据查询结果通过window.open()的方法,将数据字符串放到URL里传递到打印模版页,再用window.location.href取字符串,根据字符串eval得到数据,再根据数组长度动态修改页面内容,
    比如有3条数据,就另外增加2个打印div,方法$().after(),在每页最上方加个分页div(在最下方加的话,会在每次打印后多打印一张空白页,费电)
    然后通过类选择器遍历<td>,$().eq()填空就行,
    最后document.all.WebBrowser.Execwb(6,6)整页打印,记得在打印之前将页眉、页脚的信息去掉就行了。