开始尝试用css的page-break-after 属性 实现对tr 的分页 打印效果,结果发现 该属性对 table 不起作用,
然后换了一种方法,方法的思路大概描述下
1 、 先找到 要进行打印的tbody 然后 利用tbody 得到在其内的 tr数组。
2 、利用循环, 每打印一页 ,就 删除打印过的tr (我这里是每6个tr是一页,所以每次删6行)
3、利用 LODOP.NewPage() 来创建新页。代码如下
var trs = tbodys.getElementsByClassName('sz-prst-table-row');
var length = trs.length; // tr的length 要取一个定值。
for(var i = 0; i< length; i+=6){
var labelHtml = doc.getElementsByTagName("html")[0].innerHTML;
LODOP.NewPage(); // 创建新页
LODOP.ADD_PRINT_HTM("0", "0", "100%", "101%",labelHtml); //设置新页的内容
tbodys.removeChild(trs[0]);tbodys.removeChild(trs[0]); //删除打印过的 tr
tbodys.removeChild(trs[0]);tbodys.removeChild(trs[0]);
tbodys.removeChild(trs[0]);tbodys.removeChild(trs[0]);
}