发新话题
打印

【jcp使用手册】自动分页

【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的分页算法,总是尽可能地利用可打印区域, 可打印区域=打印纸张大小-边距-页眉高度-页脚高度

TOP

TOP