利用lodop打印控件轻松实现批量打印

最近在做一个打印程序,要实现批量打印功能,在网上找了很多天,也在tp官网咨询大牛们,对大家的的提议我一一进行了研究,总结如下:
要实现批量打印可以有两个办法:

一是利用专业的报表程序,能实现十分复杂的需求,但学习报表也是很痛苦的一件事,我专心研究了一天都没啥进展,也许我实在太菜了。这种方法推荐锐浪报表,免费还好用。

二是利用js插件实现,也在网上找了很多,最后感谢hunduncn,他建议我使用lodop(详见:http://www.thinkphp.cn/topic/12938.html),由于对html+css十分熟悉,所以上手不难,真的很好用。

Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印。控件功能强大,却简单易用,所有调用如同JavaScript扩展语句。官网:http://www.lodop.net/,从官网下载的程序中有很多例子,也非常全面。

下面奉上代码:

  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2.  <head>
  3.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.  <title>无标题文档</title>
  5.  <script language="javascript" src="LodopFuncs.js"></script>
  6.  </head>
  7.  <body>
  8.  <form id="form1">
  9. 11111
  10.  </form>
  11.  <a href="javascript:prn1_preview()">打印预览</a><br/>
  12.  <a href="javascript:prn1_print()">直接打印</a>
  13.  <script language="javascript" type="text/javascript">   
  14.         var LODOP; //声明为全局变量 
  15.     function prn1_preview() {    
  16.         CreateOneFormPage();    
  17.         LODOP.PREVIEW();    
  18.     };
  19.     function prn1_print() {        
  20.         CreateOneFormPage();
  21.         LODOP.PRINT();    
  22.     };
  23.     function CreateOneFormPage(){
  24.         LODOP=getLodop();  
  25.         LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_表单一");
  26.         LODOP.SET_PRINT_STYLE("FontSize",18);
  27.         LODOP.SET_PRINT_STYLE("Bold",1);
  28.         LODOP.ADD_PRINT_TEXT(50,231,260,39,"");
  29.         LODOP.ADD_PRINT_HTM(88,200,350,600,document.getElementById("form1").innerHTML);
  30.     };
  31.  </script>
  32.  </body>
  33.  </html>
复制代码

应该都能看懂,通过id操作,要是实现打印时候的样式导入,代码如下:

  1.     function CreateOneFormPage(){
  2.         LODOP=getLodop(); 
  3.         var strStyleCSS="<link href='print.css' type='text/css' rel='stylesheet'>";
  4.         var strFormHtml=strStyleCSS+"<body>"+document.getElementById("form1").innerHTML+"</body>";
  5.         LODOP.PRINT_INIT("打印准考证");
  6.         LODOP.ADD_PRINT_HTM(0,0,"100%","100%",strFormHtml);
  7.     };
复制代码

ps:lodop的A4纸张,打印区域大小为758px*1090px

 

posted @ 2015-10-20 08:50  relix  阅读(9240)  评论(1编辑  收藏  举报