利用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM