lodop打印控件的使用

   这两天,经理让我用一个打印控件来取代原来代码中的打印功能。在网上百度了一下,看到了lodop打印控件。于是呢,边自学边实践吧。其实并不难,只要把他们的demo的代码看一遍,然后学着运用到自己的项目中就好了。
   我呢,需要打印控件实现的功能有可以支持纸张大小、可以分页、可以打印下划线、打印表格。呵呵。。。这是客户的需求。
   首先,支持纸张大小是一件so  easy 的事情,因为lodop控件本身就带有这一个功能。
   其次,实现分页。在做这个的时候,我遇到了问题。因为打印的是从页面获取的表单数据,这一个页面上呢,可以显示多个单据。因此呢,首先要解决的问题是如何把这多条单据给分页。我使用的方法是使用循环来分页。如:

function CreateOneFormPage(){
LODOP=getLodop(document.getElementById('LODOP'),document.getElementById('LODOP_EM')); 
LODOP.PRINT_INIT("打印入库单");
var num=document.getElementById("num").value;//这个参数是单据记录数
var va="${user3.tname}";//这是用js获取EL表达式的值的。
//alert(va);

for (i = 1; i <= num; i++) {//循环单据记录数,依次打印
var n="div"+i;
var n_width=$("#div"+i).width();//分别获取各个div的宽度
var n_height=$("#div"+i).height();//分别获取各个div的高度 
    LODOP.NewPage(); //强制分页
LODOP.ADD_PRINT_HTM(30,2,n_width,n_height,document.getElementById(n).innerHTML);
   
}
};
     打印下划线,用lodop里面的函数也是可以解决的,但是是一件很麻烦的事情。而且格式不容易控制,可以在需要下划线的地方用以下方式解决:
<td align="left" class="padding10" id="d1" >检查员:&nbsp;<font style="text-decoration: underline;"><c:if test="${user3.tname==null}">___________</c:if><c:if test="${user3.tname!=null}">${user3.tname}</c:if></font></td>
     打印表格只需要<table width="770" height="20" border="1" cellpadding="0" cellspacing="0">设置一下border属性值就可以啦,这样就可以打印出来的有表格的感觉了。
  

猜你喜欢

转载自0609xiaohua.iteye.com/blog/1253748