LODOP关联后眉脚条码的遮挡的一种情况

前面的博文中,有介绍层级关系,最先输出的打印项在下层,后输出的在上层,但是最近发现了一种例外,就是前面有关联的情况下,后面把一个条码设置为页眉页脚项,眉脚项和前面关联其他的项的那个项位置重合,虽然这个条码打印项是在该任务的最后一个输出,但是也会出现覆盖现象。
解决方法:
1.去掉关联,改用直接定位等方式。
2.两者位置不要重合

相关博文:
层级相关博文:Lodop调整打印项输出顺序 覆盖与层级
关联相关博文:LODOP打印控件关联输出各内容
正常情况下是先输出的打印项在下层,后输出的在上层。
关联某个打印项后,top、left值变成相对值,相对于被关联的打印项,-1关联很多后,被关联的打印项的高度,是整个串的高度,按照这个串的高度分页。
本文测试中,第一个方法里第一个被关联的打印项的高度为60,按照该高度整个串分了两页。
第二第三方法里,被关联的打印项高度为100,可以两个htm显示全,因此没有分页。

测试代码:

<a href="javascript:prn1_preview()">条码设置为眉脚项,每页输出,和前面的带关联的项位置重合</a><br>
<a href="javascript:prn2_preview()">条码设置为眉脚项,每页输出,和前面的带关联的项位置重合</a><br>
<a href="javascript:prn3_preview()">去掉关联,用普通的定位方法</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
        function prn1_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_HTM(0,0,300,60,"<div style='background:red;'>d<br>d</div>");
        LODOP.ADD_PRINT_HTM(5,0,300,60,"<div style='background:blue;'>d<br>d</div>");
        LODOP.SET_PRINT_STYLEA(0,"LinkedItem",-1);//关联前面的打印项
        LODOP.ADD_PRINT_BARCODE("2mm","3mm","7cm","4cm",'EAN128B',"234");//某条码
        LODOP.SET_PRINT_STYLEA(0,"ItemType",1);//设置上面的为页眉页脚,每页固定位置输出1.每页固定位置输出
        LODOP.PREVIEW();    
    };
        function prn2_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_HTM(0,0,300,100,"<div style='background:red;'>d<br>d</div>");
        LODOP.ADD_PRINT_HTM(5,0,300,60,"<div style='background:blue;'>d<br>d</div>");
        LODOP.SET_PRINT_STYLEA(0,"LinkedItem",-1);//关联前面的打印项
        LODOP.ADD_PRINT_BARCODE("2mm","3mm","7cm","4cm",'EAN128B',"234");//某条码
        LODOP.SET_PRINT_STYLEA(0,"ItemType",1);//设置上面的为页眉页脚,每页固定位置输出1.每页固定位置输出
        LODOP.PREVIEW();    
    };
        function prn3_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_HTM(0,0,300,40,"<div style='background:red;'>d<br>d</div>");
        LODOP.ADD_PRINT_HTM(45,0,300,60,"<div style='background:blue;'>d<br>d</div>");
        LODOP.ADD_PRINT_BARCODE("2mm","3mm","7cm","4cm",'EAN128B',"234");//某条码
        LODOP.SET_PRINT_STYLEA(0,"ItemType",1);//设置上面的为页眉页脚,每页固定位置输出1.每页固定位置输出
        LODOP.PREVIEW();    
    };
</script> 

图示:

posted @ 2019-11-19 15:52  花谢悦神  阅读(600)  评论(0编辑  收藏  举报