Lodop控件NewPage();测试输出空白页
LODOP.NewPage();和LODOP.NewPageA();是强制分页语句,两者的区别可查看本博客的相关博文:Lodop强制分页LODOP.NewPage()和LODOP.NewPageA()
可在打印项之间强制分页,手动分页,如果一个任务在不添加打印项的情况下一开始就分页,结果会怎样?如果强制分页之间没有任何打印项又会怎样?该文就是测试这两个的。
如果按照想法,一开始没打印项就强制分页,那么第一页应该是空白页,分页语句之间没有打印项,应该也会是空白页,实际测试发现不是这样的。
一开始没打印项就强制分页,在第一个打印项之前,不管多少次分页,都不会有空白页。
有打印项之后,该打印项会作为第一页,往后如果强制分页之间没有打印项,会显示成空白页。
由于多页预览截图较麻烦,因此把纸张设置小,然后用xps虚拟打印机打印出文件,一块用xps查看器查看,一起截图。(打印开发避免浪费纸张,虚拟打印机测试是很有必要的)
效果如图所示:
测试中JS代码:
<script language="javascript" type="text/javascript"> var LODOP; //声明为全局变量 function prn1_preview() { //单个任务循环 LODOP=getLodop(); LODOP.PRINT_INIT("");//初始化在循环中 LODOP.SET_PRINT_PAGESIZE(1,300,500,""); //不会有空白页 LODOP.NewPage(); //不会有空白页 LODOP.NewPage(); //不会有空白页 LODOP.NewPage(); LODOP.ADD_PRINT_TEXT(75,6,100,20,"文本");//该任务首个打印项 LODOP.NewPage(); //空白页 LODOP.NewPage(); //空白页 LODOP.NewPage(); LODOP.ADD_PRINT_TEXT(75,6,100,20,"文本2");//该任务第二个打印项 LODOP.PREVIEW(); // LODOP.PRINT_DESIGN(); }; </script>
效果:
这里没测试如果NewPage();在最后,也就是最后一个打印项后多次加强制分页语句,后来测了一下,效果和在初始化后打印项之前加一样,都不会强制分出空白页。这里没测试如果NewPage();在最后,也就是最后一个打印项后多次加强制分页语句,后来测了一下,效果和在初始化后打印项之前加一样,都不会强制分出空白页。