zoukankan      html  css  js  c++  java
  • 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输出。如果表格很复杂,容易切行,可以用分页粒度调整。

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

  • 相关阅读:
    Centos命令参数自动补全
    使用pigz快速压缩TB级别文件
    yum使用http代理,wget使用http代理
    "Non Zero Exit Status” R 3.0.1 'XML' and 'RCurl' " in bioconductor while installing packages
    centos 6.5 编译 segemehl 出错的解决方法
    centos下raid详解
    CentOS6.5环境安装VMware虚拟机----解决启动虚拟机时could not open /dev/vmmon: No such file or directory的问题
    CentOS 6.5升级Firefox浏览器
    EditPlus正则表达式替换字符串详解
    makefile完毕,编译链接通过
  • 原文地址:https://www.cnblogs.com/huaxie/p/11459596.html
Copyright © 2011-2022 走看看