winform打印的方案比較多,實現也比較容易,並且效果也很是炫;但如今愈來愈多的系統是web系統,甚至是移動端。網上也有很是的web打印方案,但各式各樣的問題很是多,好比js兼容性,穩定性等一直纏繞着衆多的程序員,或者就是web 打印須要瀏覽器安裝 ActiveX 組件,ActiveX安裝不容易成功等等問題。程序員
下面咱們來看一種web在線閱覽,在線編輯,在線打印的解決方案,Lodop這一款在線打印工具在各版本瀏覽器的兼容性表現不錯,功能方面,咱們經常使用的打印閱覽,打印設計,打印機設置等他都提供了,並且額外的功能也是不少的,足夠咱們開發使用了。他對瀏覽器安裝 ActiveX 組件提供了另一種方法,首先檢測有沒有安裝插件,未檢測到插件時,自動提示,並給出下載插件的地址,這裏的插件使用的是exe 格式的,這樣就避免了瀏覽器安全設置的問題,至於怎麼安裝這裏就不在贅述。web
1.準備工做:瀏覽器
下載lodop:http://www.lodop.net/uploads/file/Lodop6.198.zip,解壓後放到工程中,在頁面引入以下代碼:安全
其中:
是專爲 FireFox 瀏覽器設計的代碼,若是你這個打印控件只在 IE 上應用,那麼上面這名話徹底能夠不用的。函數
只這樣加就好了:工具
把這些引入頁面之後,剩下的就是一些基本的lodop API調用了。字體
2.加幾個按鈕調用spa
複製代碼
1 .net
複製代碼
1 var LODOP; //聲明爲全局變量
2 // 打印預覽
3 function print_preview() {
4 CreatePrintPage();
5 LODOP.PREVIEW();
6 };
7 // 直接打印
8 function print() {
9 CreatePrintPage();
10 LODOP.PRINT();
11 };
12 // 選擇打印機
13 function print_printA() {
14 CreatePrintPage();
15 LODOP.PRINTA();
16 };
17 //打印維護
18 function printSetup() {
19 CreatePrintPage();
20 LODOP.PRINT_SETUP();
21 };
22 //打印設計
23 function printDesign() {
24 CreatePrintPage();
25 LODOP.PRINT_DESIGN();
26 };
27 // 建立打印頁面
28 function CreatePrintPage() {
29 LODOP = getLodop();
30 LODOP.PRINT_INIT("web在線打印");
31 LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");
32 //設置打印頁面屬性:2:表示橫向打印,0:定義紙張寬度,爲0表示無效設置,A4:設置紙張爲A4
33 //LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印頁面部份內容");
34 LODOP.SET_PRINT_STYLE("FontSize", 18);
35 LODOP.SET_PRINT_STYLE("Bold", 1);
36 LODOP.ADD_PRINT_HTM(10, 30, 760, 860, $('#CurrentDocumentPage')[0].contentWindow.document.body.innerHTML);
37 }
複製代碼
具體API不用詳細介紹,這裏只說一下ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)增長超文本項,
$('#CurrentDocumentPage')[0].contentWindow.document.body.innerHTML,就是Iframe頁面的內容,須要仔細研究的能夠到lodop官網查閱。
1
4.最終效果
頁面內容
打印閱覽
打印維護的目標用戶是頁面操做者,開發者在根據業務須要將該界面提供給操做者時,有時會發現其默認功能權限不符合業務要求(亦多亦少),以下是默認的功能權限範圍,試着改變勾選,看看演示程序是如何經過SET_SHOW_MODE函數解決這一問題的。
1:位置移動和寬高調整
2:顏色選擇
3:字體名選擇
4:字大小選擇
5:旋角調整
6:粗斜體功能條
7:線型功能條
8:對齊功能條
9:刪除功能
10:頁眉設置
11:頁腳設置
12:位置鎖定功能
13:屬性設置
14:顯示關閉鈕(界面內嵌時)
打印機設置
5.總結:
最後,簡單說下Lodop的優點吧:
(1)、操做簡單,API通俗易懂,兼容性好,主流的瀏覽器都支持了;
(2)、插件能實現自動安裝提醒,而且不須要其餘額外的設置;
(3)、打印維護可以實現權限控制,好比在不修改內容的前提下修改打印的樣式,好比調整字體,好比調整位置等等
(4)、用戶設計的打印頁面,能夠做爲個性化的我的設置,系統維護的同一個模板能夠適應不一樣的打印機。