Web打印組件jatoolsPrinter(轉載)

應用web化,不論對開發商,仍是對用戶來講,實在是一種很經濟的選擇,由於基於web的應用,客戶端的規則很簡單,容易學習,容易維護,容易發佈。但對程序員來講,由於瀏覽器的侷限性,卻要面對不少挑戰。怎麼樣來進行基於web的套打,就是這麼一個令多數程序員頭痛不已的問題。 
基於web的套打,難度在於要將瀏覽器中呈現的html,精確地打印到票據中,並且可以實現對分頁位置的控制。下面就ie瀏覽器所能採用的套打解決方案,來個彙總分析,但願對你們有所幫助。javascript

jatoolsPrinter 是一款實現網頁套打的免費工具。該工具的特色是能夠直接對web頁面進行精確的分頁打印,這不只使「會設計網頁就會作網頁套打」成爲可能,也使項目經理們擺脫了預算緊張的壓力。jatoolsPrinter經過在網頁中嵌入控件,解決了web客戶端精確打印,批量打印,打印配置自動保留等問題。jatoolsPrinter 官方正式免費版,支持ie6+,http://printfree.jatools.comhtml

功能特色: 
真正免費,不加水印,沒有ip或域名限制,不限時間,兼容ie6+ 
無須註冊,下載即用 
提供通過微軟數字簽名的cab自動安裝包,安裝更方便 
長期升級保障,免費論壇支持,讓你無後顧之憂 
穩定可靠,啓動速度遠勝同類產品 
經常使用功能集於一身,簡約而不簡單,軟件大小隻有84kjava

 

本文主要介紹jatoolsPrinter打印控件來完成web的打印功能,這個控件已經把打印功能封裝的很是好,主要是把這個控件引入,以後寫一些簡單的js代碼就能完成相應的打印功能。程序員

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <!-- 插入打印控件 --> <object id="jatoolsPrinter" classid="CLSID:B43D3361-D075-4BE2-87FE-057188254255" codebase="jatoolsPrinter.cab#version=5,7,0,0"> </object> <script type="text/javascript"> function doPrint(how) { //打印文檔對象 var myDoc = { documents: document, // 打印頁面(div)們在本文檔中 copyrights: '傑創軟件擁有版權 www.jatools.com' // 版權聲明必須 }; // 調用打印方法 if (how == '打印預覽...') jatoolsPrinter.printPreview(myDoc); // 打印預覽 else if (how == '打印...') jatoolsPrinter.print(myDoc, true); // 打印前彈出打印設置對話框 else jatoolsPrinter.print(myDoc, false); // 不彈出對話框打印 } </script> </head> <body> <form id="form1" runat="server"> <div id='page1' style='width:300px;height:300px;'> test </div> <input type="button" value="打印預覽..." onclick="doPrint('打印預覽...')"/> <input type="button" value="打印..." onclick="doPrint('打印...')"/> <input type="button" value="打印" onclick="doPrint('打印')"/> </form> </body> </html>

主要分幾個步驟:web

1、引入打印控件jatoolsPrinter瀏覽器

<!-- 插入打印控件 --> <object id="jatoolsPrinter" classid="CLSID:B43D3361-D075-4BE2-87FE-057188254255" codebase="jatoolsPrinter.cab#version=5,7,0,0"> </object>

2、給要打印的div取id名工具

image

3、編寫js代碼實現打印div的功能學習

(注意:在同一頁面中,有多個可打印文檔,他們能夠用page_div_prefix屬性來區別page_div_prefix前綴+page+頁序號 構成可打印div的id,如前綴爲 'report1' ,則找到以 'report1page1'爲id的div做爲文檔首頁該屬性,默認值爲空)spa

 

注意事項:設計

1. 控件在打印指定div對象時,若是紙張過小不夠打印時,超出部分將被截掉(clip)。 2. 被指定的div中的內容,能夠是html任何可見對象,圖片,flash,或文本等等。 3. 控件打印時,邊距可設,不設則取打印機默認值。 4. div的id必須連續,若是你的div,存在 'page1'、'page2'、'page4',而不存在'page3',則控件只打印前兩頁,'page4'不會被打印。 5. div對象在頁面中的位置,能夠是隨意的,好比,page1顯示在page2後面,也是合法的。 6. 指定的div會被打印,沒被指定的html元素將不會被打印,好比,本示例中的‘打印’按鈕,不會被打印。 7. copyrights屬性是版權信息,必須寫。

相關文章
相關標籤/搜索