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>
图示: