用運之前簡單介紹幾個東西。
install_lodop32.exe與install_lodop64.exe這兩個是2個網頁打印控件,網頁打印必須安裝這個控件在客戶端,分為32和64位安裝控件。(如果自行找不到控件,請在博客下留言下qq,看到后會第一時間發給你控件)
1、LodopFuncs.js 這個js的作是,在用戶點擊此功能的時候,用來檢查用戶是否將install_lodop.exe安裝。特別注意下面js中的紅色部分,是控件在項目中的位置。
function getLodop(oOBJECT,oEMBED){ /************************** 本函數根據瀏覽器類型決定采用哪個對象作為控件實例: IE系列、IE內核系列的瀏覽器采用oOBJECT, 其它瀏覽器(Firefox系列、Chrome系列、Opera系列、Safari系列等)采用oEMBED, 對於64位瀏覽器指向64位的安裝程序install_lodop64.exe。 **************************/ var strHtmInstall="<br><font color='#FF00FF'>打印控件未安裝!點擊這里<a href='./ocx/install_lodop32.exe' target='_self'>執行安裝</a>,安裝后請刷新頁面或重新進入。</font>"; var strHtmUpdate="<br><font color='#FF00FF'>打印控件需要升級!點擊這里<a href='./ocx/install_lodop32.exe' target='_self'>執行升級</a>,升級后請重新進入。</font>"; var strHtm64_Install="<br><font color='#FF00FF'>打印控件未安裝!點擊這里<a href='./ocx/install_lodop64.exe' target='_self'>執行安裝</a>,安裝后請刷新頁面或重新進入。</font>"; var strHtm64_Update="<br><font color='#FF00FF'>打印控件需要升級!點擊這里<a href='./ocx/install_lodop64.exe' target='_self'>執行升級</a>,升級后請重新進入。</font>"; var strHtmFireFox="<br><br><font color='#FF00FF'>注意:<br>1:如曾安裝過Lodop舊版附件npActiveXPLugin,請在【工具】->【附加組件】->【擴展】中先卸它。</font>"; var LODOP=oEMBED; try{ if (navigator.appVersion.indexOf("MSIE")>=0) LODOP=oOBJECT; if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) { if (navigator.userAgent.indexOf('Firefox')>=0) document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML; if (navigator.userAgent.indexOf('Win64')>=0){ if (navigator.appVersion.indexOf("MSIE")>=0) document.write(strHtm64_Install); else document.documentElement.innerHTML=strHtm64_Install+document.documentElement.innerHTML; } else { if (navigator.appVersion.indexOf("MSIE")>=0) document.write(strHtmInstall); else document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML; } return LODOP; } else if (LODOP.VERSION<"6.1.5.7") { if (navigator.userAgent.indexOf('Win64')>=0){ if (navigator.appVersion.indexOf("MSIE")>=0) document.write(strHtm64_Update); else document.documentElement.innerHTML=strHtm64_Update+document.documentElement.innerHTML; } else { if (navigator.appVersion.indexOf("MSIE")>=0) document.write(strHtmUpdate); else document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML; } return LODOP; } //=====如下空白位置適合調用統一功能:===== //======================================= return LODOP; }catch(err){ if (navigator.userAgent.indexOf('Win64')>=0) document.documentElement.innerHTML="Error:"+strHtm64_Install+document.documentElement.innerHTML;else document.documentElement.innerHTML="Error:"+strHtmInstall+document.documentElement.innerHTML; return LODOP; } }
2、頁面調用js
<script language="javascript" type="text/javascript" src="Lodop/LodopFuncs.js"></script> //引入打印控件檢索js <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 pluginspage="install_lodop32.exe"></embed> </object>
3、引入已經繪制好的js打印文件,這個js需要自己去繪制,可以自行在網上查找網頁工具繪制,也可以點此鏈接繪制http://www.hbsszx.com/lodop/PrintSample3.html找到里面的空白設計就可以自行繪制。(下面的js只是樣例,和圖中的不對應)
var LODOP; function f_print(){ LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4"); //規定紙張大小;使用A4紙。 //SET_PRINT_STYLE:設置純文本打印項風格,格式:SET_PRINT_STYLE(strStyleName,varStyleValue)。 //strStyleName:打印風格名,設定純文本風格名稱及其含義如下:|varStyleValue:打印風格值,相關值如下: //“FontName”: 字體名稱。|值: 字符型,與操作系統字體名一致,缺省是“宋體”。 //“FontSize”: 字體大小。|值:數值型,單位是pt,缺省值是9,可以含小數,如13.5。 //“FontColor”: 字體顏色。|值:整數或字符型,如同CSS的color。 //“Bold”: 是否粗體。|值:數字型,1代表粗體,0代表非粗體,缺省值是0。 //“Italic”: 是否斜體。|值:數字型,1代表斜體,0代表非斜體,缺省值是0。 //“Underline”: 是否下滑線。|值:數字型,1代表有下划線,0代表無下划線,缺省值是0。 //“Alignment”: 內容左右靠齊方式。|值:數字型,1--左靠齊 2--居中 3--右靠齊,缺省值是1。 //“Angle”: 旋轉角度。|值:數字型,逆時針旋轉角度數,單位是度,0度表示不旋轉 //注意:設定樣式可以覆蓋,更多設置參考技術使用文檔。 LODOP.SET_PRINT_STYLE("FontColor", "#000000");//字體顏色 LODOP.SET_PRINT_STYLE("FontSize", 14); //字體大小 LODOP.ADD_PRINT_TEXT(50, 50, 100, 39, "我的博客"); //內容,參數(左邊距,上邊距,內容顯示寬度,內容顯示高度) LODOP.SET_PRINT_STYLE("FontColor", "#00ff00"); //更換顏色 LODOP.ADD_PRINT_TEXT(80, 50, 360, 39, "更換顏色"); LODOP.SET_PRINT_STYLE("FontSize", 24); //更換大小 LODOP.ADD_PRINT_TEXT(110, 50, 360, 39, "更換大小"); LODOP.ADD_PRINT_LINE(150, 50, 200, 50, 0, 1); //線,豎杠(上邊距1,1左邊距,上邊距2,2左邊距,intLineStyle, intLineWidth) //intLineStyle:線條類型,默認為0;0--實線 1--破折線 2--點線 3--點划線 4--雙點划線 //intLineWidth:線條寬,默認是1,整數型,單位是(打印)像素,非實線的線條寬也是0。 LODOP.ADD_PRINT_LINE(150, 50, 150, 200, 0, 1); //線,橫杠(上邊距1,1左邊距,上邊距2,2左邊距,intLineStyle, intLineWidth) LODOP.PREVIEW();//打印預覽 //LODOP. PRINT (); //不經打印預覽的直接打印。
4、看下效果圖