LODOP打印table不切行TableRowThickNess
不切行的调整方法有三种:
1.简单表格,不嵌套合并等,可以用ADD_PRINT_TABLE输出,该 语句不切行,相关博文:LODOP设置超文本不自动分页的方法、
2.进入打印设计,调整打印项到合适的高度,在高度处分页,不切行,相关博文:Lodop打印控件 超文本自动分页、
3.用ADD_PRINT_HTM输出,并调整TableRowThickNess分页粒度。该文主要测试。
由于1中的语句本来就不切行,这里再演示下后两种方法,用打印设计进行调整到合适的高度,不切行,和用htm语句输出,调整分页粒度。
图1的表格是简单表格,宽高一样,且无嵌套合并行合并列等。
上面1链接到的博文可以看出,ADD_PRINT_TABLE对于超过纸张的单元格,会隐藏掉,不会切行到下一页显示。
如果是非常复杂的表格,还可以不用自动分页,采用手动分页,自己组织每页的数据。
不切行的方法简短问答:
超文本超过设置的打印项高度就会自动分页,可通过调整超文本打印项的高度,控制当前页面输出的多少内容。(打印项高度可在打印设计界面可视化调整)
减小打印项高度,不要紧贴纸张输出。
,单个表格输出 可以用add_print_table,这个语句不切行。
如果有合并行、嵌套表格等复合表格 可以用 add_pirnt_htm, 切行时调整分页粒度TableRowThickNess,参考 样例30
http://www.c-lodop.com/demolist/PrintSample30.html
手动分页 参考样例30 http://www.c-lodop.com/demolist/PrintSample30.html
测试代码:
<div id="div1"> <table border=1 cellSpacing=0 cellPadding=0 style="border-collapse:collapse;width:170pt;"> <tr> <td style="width:70pt;">分析差异点,因浏览器版本不同遵循的html标准不同</td> <td style="width:50pt;">分析差异点</td> <td style="width:20pt;">排查样式</td> <td style="width:30pt;">在ie下不同版本仿真情况下验证差异</td> </tr> 同上,多行,。。。省略。。。。 </table> </div> <a href="javascript:prn1_preview()">htm高度100%的自动分页</a><br> <a href="javascript:prn2_preview()">调整分页粒度的自动分页</a><br> <a href="javascript:prn3_preview()">调整打印项高度的自动分页</a><br> <a href="javascript:prn4_preview()">调整打印项高度到合适的自动分页</a><br> <script language="javascript" type="text/javascript"> var LODOP; //声明为全局变量 function prn1_preview() {//高度100%,纸张最下方正好有单元格显示不全,自动分页,切行 LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.SET_PRINT_PAGESIZE(1,1200,1000,""); LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("div1").innerHTML); //LODOP.PRINT_DESIGN(); LODOP.PREVIEW(); }; function prn2_preview() {//高度100%,调整分页粒度,分页不切行 LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.SET_PRINT_PAGESIZE(1,1200,1000,""); LODOP.ADD_PRINT_HTM(0,0,"100%","100%",document.getElementById("div1").innerHTML); LODOP.SET_PRINT_STYLEA(0,"TableRowThickNess",100); //LODOP.PRINT_DESIGN(); LODOP.PREVIEW(); }; function prn3_preview() {//调整打印项高度具体值,小于纸张,被切行,一行分两行 LODOP=getLodop(); LODOP.PRINT_INITA(0,0,"120mm","100mm",""); LODOP.SET_PRINT_PAGESIZE(1,1200,1000,""); LODOP.ADD_PRINT_HTM(10,10,454,359,document.getElementById("div1").innerHTML); LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); }; function prn4_preview() {//调整打印项高度具体值,到合适值,分页不切行 LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.SET_PRINT_PAGESIZE(1,1200,1000,""); LODOP.ADD_PRINT_HTM(0,0,454,300,document.getElementById("div1").innerHTML); LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); }; </script>
图示:图中是两种不切行方法,由于是简单表格,没有嵌套等复杂的,也可以用本文的1的方法,直接用add_print_table输出。如果表格很复杂,容易切行,可以用分页粒度调整。
如果表格页数很多,每页下方到达的行都差异很大 ,也可以用手动分页,每页多行由自己输出决定 ,不用自动分页功能。