接着上一篇博文,继续说说关于lodop,关于模板设计及相关的这里不多说了,上一篇博文最下面的推荐可以看看,说的很比较清楚,今天说说我在项目中运用套打实现分页预览和打印的,

  之前弄lodop打印的时候发现如果要分页的话,结果你点打印预览的时候会吃出现已经有预览也打开了,也就是说,当时的分页打印只能预览一张,最后在lodop的官方实例中找到相关解决办法。

function prn1_preview() {   //打印预览的方法
        LODOP=getLodop();  
        LODOP.PRINT_INIT(0,-1,1177,600,"");
        LODOP.SET_PRINT_PAGESIZE(1,"977mm","524mm","");//设置纸张高度, 实现分页打印
        LODOP.ADD_PRINT_SETUP_BKIMG("C:\\Users\\44806\\Desktop\\销货清单套打样板.png");
        LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",true);
        LODOP.SET_SHOW_MODE("BKIMG_PRINT",true);
       //连续打印几页  arr数组是我从数据库读取出来的数据
        var totalPageCount = arr.length / 6;
        for(var i = 0; i < totalPageCount; i++){
            //每次截取6条数据
            if(totalPageCount > 1){   //需要分页
                //每次截取6个
                printArr = arr.slice(i*6,i*6+6);   //截取每页打印的数量
            }else{
                printArr = arr;
            }
            
            
          //分页打印
        CreateOneFormPage(printArr);
        }
        LODOP.PREVIEW();
   };

 

function CreateOneFormPage(printArr){   //创建数据的方法
        LODOP.ADD_PRINT_TEXT(40,873,146,20,"AOI020170620000001");
        LODOP.ADD_PRINT_TEXT(73,542,161,20,"北京益友汇科技有限公司");
        LODOP.ADD_PRINT_TEXT(397,867,100,20,"2017-06-20");
        LODOP.ADD_PRINT_TEXT(397,749,60,20,"张三");
        LODOP.ADD_PRINT_TEXT(333,232,368,20,"玖拾万元整");
        
        var len = 34;   //多条记录打印
        for(var i = 0; i < printArr.length; i++){   //每页最多打印六条
            LODOP.ADD_PRINT_TEXT(133 + (i * len),113,103,20,printArr[i].prodName);
            LODOP.SET_PRINT_STYLEA(0,"FontSize",7);
            LODOP.ADD_PRINT_TEXT(133 + (i * len),218,85,20,printArr[i].prodSpecifications);
            LODOP.SET_PRINT_STYLEA(0,"FontSize",8);
            LODOP.ADD_PRINT_TEXT(133 + (i * len),318,40,20,printArr[i].prodMaxUnitName);
            LODOP.ADD_PRINT_TEXT(133 + (i * len),365,55,20,"1500.00");
            LODOP.ADD_PRINT_TEXT(133 + (i * len),427,50,20,"100");
            LODOP.ADD_PRINT_TEXT(133 + (i * len),497,70,20,"1500");
            LODOP.ADD_PRINT_TEXT(133 + (i * len),604,75,20,"1400");
            LODOP.ADD_PRINT_TEXT(133 + (i * len),707,87,20,"150000.00");
            
        }
        
        LODOP.NEWPAGEA();   //分页
    };

这样就可以进行分页打印预览了,我可能描述的不清楚,有问题可以在下面提问。