开始尝试用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]);
}
本文介绍了一种使用JavaScript和LODOP实现对表格中特定行数进行分页打印的方法,通过循环删除已打印的行并创建新页来达到目的。
3390

被折叠的 条评论
为什么被折叠?



