最近在做公司的一个项目,其中本来程序调用的是浏览器中的打印方法,这种方法灵活度不够,很难去调试,想的用Lodop结合一下公司应用的essyui 打印,但是在网上找了很久,几乎没有人分享这方面的知识,是在没有办法,自己就去研究了,经过自己研究,终于让我写出来,这里和大家一起分享,当然其中遇到不少问题
话不多说,下面代码粘贴出来让大家来参考,第一次写博文,随便写的,就是想把这个方法分享给大家,顺便提一句话,因为涉及到前面数据要在表中后面列算出来每一行中一些数据的和,所以里面出现了很多的sum,这个大家用到就可以用,没有用到后面的求和不用,这个就是用push方法来拼接table表格,然后打印出来,希望大家有帮助,如果不懂可以给我留言,一起讨论,我也是菜鸟一个
print:function(){
var LODOP = LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
LODOP.PRINT_INITA(0, 0, 1400, 600, "");
LODOP.SET_PRINT_PAGESIZE(2, 0, 0, "A4");
LODOP.ADD_PRINT_TEXT(1050, 1200, 144, 22, "第#页/共&页");
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
LODOP.SET_PRINT_STYLEA(0, "Horient", 1);
var rows = $("#box").datagrid("getRows");
var opts=$('#box').datagrid("options");//返回属性对象
var prinHtml=[];//准备一个数组
var sumCQ=0;//出勤和
var sumGC=0;//公出和
var sumBJ=0;//病假和
var sumGS=0;
var sumDYB=0;
var sumXYB=0;
var sumCJ=0;
var sumSJ=0;
var sumHSJ=0;
var sumTQ=0;
prinHtml.push("<table cellpadding=\"0\" cellspacing=\"0\" border=\"1\" style=\"width:" +98+ "%; border-collapse:collapse;border:inhert;font-size:12px;\">");
prinHtml.push("<tr>");
for (var i = 0; i < opts.columns[0].length; i++) {
if(opts.columns[0][i].title!=