• 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;170pt;">
            <tr>
                <td style="70pt;">分析差异点,因浏览器版本不同遵循的html标准不同</td>  
                <td style="50pt;">分析差异点</td> 
                <td style="20pt;">排查样式</td>
                <td style="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输出。如果表格很复杂,容易切行,可以用分页粒度调整。

    如果表格页数很多,每页下方到达的行都差异很大 ,也可以用手动分页,每页多行由自己输出决定 ,不用自动分页功能。

  • 相关阅读:
    Spring boot 基于注解方式配置datasource
    Java任务调度框架之分布式调度框架XXL-Job介绍
    mysql使用联合索引提示字符长度超限制解决办法
    程序访问一个地址时候报400错误,浏览器访问正常怎么解决
    JDK8stream将list转Map对象报错java.lang.IllegalStateException
    如何应对互联网行业的「中年危机」?
    SpringMVC访问出错No converter found for return value of type
    怎么设置tomcat在get请求的中文也不乱码?两种情况下配置
    使用tomcat方式实现websocket即时通讯服务端讲解
    服务端向客户端推送消息技术之websocket的介绍
  • 原文地址:https://www.cnblogs.com/huaxie/p/11459596.html
Copyright © 2020-2023  润新知