管理员
|
1#
大 中
小 发表于 2018-1-2 10:15 只看该作者
【jcp使用手册】自动分页
在web打印中,我们经常需要打印一些长的表格( ),可能跨好几页,对于这种长表格,用浏览器打印,和jcp的预分页方式(即做若干div,每个div为一页),都不能理想地解决表格分页打印问题。
如果用浏览器的window.print方法打印,经常会出现在分页处断行,断线现象,如下:
当然,现在也有print css,但各浏览器厂商对该标准支持程度不一样,在不同的浏览器上打印,可能样式有很大差异。
能不能采取前面所说的方法,将大表格分成多个,然后,用前面所说的方法,把它们放在一个个div页上,再用jcp来打印?
如果是规则表格,比如行高一样,上述方法可行,只需要算出每页合适的行数就行了,但如果类似简历这种表格,有很多不规则的合并单元格,行高不一样,比如,工作经历一行,经历丰富的可以有好几页,刚毕业的可能是空白。这样,就无法知道,该在哪里分页了,如果再考虑有单元格上的段落文字,也需要分页的情况,那就更复杂了。
jcp针对上述问题,引入了自动分页功能,它可以很好地解决表格分页断线的问题,也可以解决行高不等表格的自动分页,另外,你也可以使用jcp有关分页的加强功能,比如,合并单元格表格分页、大单元格文字分页的问题,表头表尾保留,合计、本页小计等计算。
实际上,jcp的自动分页,不仅只针对,对html的其他容器对象,比如,, , 等也适用。
如果某个div页中的内容,需要自动分页,则只需要在该 div 上,设置样式类 breakable即可,如下所示:复制内容到剪贴板 代码:<script>
var myDoc = {
documents : document,
copyrights : '杰创软件拥有版权 www.jatools.com'
};
getJCP().print(myDoc);
</script>
<div id="page1" class="breakable"> 本页内容较多,有可能打印不下,请自动分页之,blablalbla...</div>
<div id="page2" > 不需要自动分页</div>
<div id="page3" class="breakable">请将我自动分页,blablalbla...</div> 没设置breakable样式类的page div,仍然按预分页方式打印,即如果有一页打印不下的部分,会被截去。
要自动分页,不需要在js代码中进行任何设置。
jcp总是检查 page div上的样式类,有则分之。
jcp的分页算法,总是尽可能地利用可打印区域,
可打印区域=打印纸张大小-边距-页眉高度-页脚高度
|
|
管理员
|
2#
大 中
小 发表于 2018-1-2 10:22 只看该作者
|
|
|
|