我的工控
不積跬步,無(wú)以至千里,不積小流,無(wú)以成江海。
級別: 略有小成
![]() |
// <style media="print" type="text/css"> .NoPrint { display:none } .PageNext { page-break-after: always } </style> <script language=javascript> //利用注測表進(jìn)行面頁(yè)設置 var hkey = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; var RegWsh; //注冊表 function pSetup(s1,s2,b1,b2,b3,b4){ //打印頁(yè)面設置 //本函數無(wú)法選擇打印機、設置默認紙張大小,請在window的打印設置中處理 if(!RegWsh) RegWsh = new ActiveXObject('WScript.Shell'); try{ RegWsh.RegWrite(hkey+'header', s1); //頁(yè)眉,默認為:&w&b頁(yè)碼,&p/&P RegWsh.RegWrite(hkey+'footer', s2); //頁(yè)腳,默認為:&u&b&d RegWsh.RegWrite(hkey+'margin_left', b1); //左邊距,默認為:0.75 RegWsh.RegWrite(hkey+'margin_right', b2); //右邊距,默認為:0.75 RegWsh.RegWrite(hkey+'margin_top', b3); //上邊距,默認為:0.75 RegWsh.RegWrite(hkey+'margin_bottom', b4); //下邊距,默認為:0.75 }catch(e){alert('頁(yè)面設置失敗。');} } //打印、打印預覽、頁(yè)面設置對話(huà)框 document.write('<object id="WebBrowser" width=0 height=0 classid= "clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></object>'); function printSetup() { document.all.WebBrowser.execwb(8,1); } //打印頁(yè)面設置(對話(huà)框方式) function printPreview(){ document.all.WebBrowser.execwb(7,1); } //打印頁(yè)面預覽 function printIt() { document.all.WebBrowser.execwb(6,6); } //打印 </script> 說(shuō)明: (1)、先在網(wǎng)頁(yè)的head標簽中加入以上代碼,這段代碼由兩部分組成:樣式表、javascript代碼。 (2)、要打印的網(wǎng)頁(yè)內容全部寫(xiě)在body標簽中。 (3)、如果網(wǎng)頁(yè)中的某些內容不想被打印出來(lái),可以使用NoPrint樣式。如: <body> <div class=NoPrint>不想被打印的內容</div> 欲打印的網(wǎng)頁(yè)內容.... </body> (4)、分頁(yè)使用PageNext樣式,比如在網(wǎng)頁(yè)中插入 <div class=PageNext></div> (5)、函數說(shuō)明 ·調用printSetup()函數,顯示頁(yè)面設置窗口 ·調用printPreview()函數,打印預覽 ·調用printIt()函數,打印 ·調用pSetup(s1,s2,b1,b2,b3,b4)函數,頁(yè)面設置。s1頁(yè)眉,s2頁(yè)腳,b1、b2、b3、b4分別為左右上下邊距。 一、原理 ·程序中使用了IE內置的WebBrowser控件,無(wú)需用戶(hù)下載和安裝。WebBrowser有很多功能,其中包含了打印功能。 WebBrowser.ExecWB(1,1) 打開(kāi) Web.ExecWB(2,1) 關(guān)閉現在所有的IE窗口,并打開(kāi)一個(gè)新窗口 Web.ExecWB(4,1) 保存網(wǎng)頁(yè) Web.ExecWB(6,1) 打印 Web.ExecWB(7,1) 打印預覽 Web.ExecWB(8,1) 打印頁(yè)面設置 Web.ExecWB(10,1) 查看頁(yè)面屬性 Web.ExecWB(15,1) 好像是撤銷(xiāo),有待確認 Web.ExecWB(17,1) 全選 Web.ExecWB(22,1) 刷新 Web.ExecWB(45,1) 關(guān)閉窗體無(wú)提示 ·有時(shí)候我們希能夠讓javascript直接進(jìn)行“頁(yè)面設置”,而不是讓用戶(hù)通過(guò)對話(huà)框進(jìn)行“頁(yè)面設置”,這時(shí)候可以考慮調用pSetup()實(shí)現,此函數通過(guò)操作“注冊表”實(shí)現基本的頁(yè)面設置功能。不過(guò)該函數無(wú)法選擇打印機、設置默認紙張大小,請在手動(dòng)在window的打印設置中完成。 ·在樣式表中,style標簽的media屬性設置為print,那么這里面的所有樣式只在打印時(shí)生效。我們稱(chēng)之為“打印樣式表”。程序中,在打印樣式表中定義一個(gè)NoPrint樣式,用于隱藏指定部分的網(wǎng)頁(yè)。PageNext樣式則用于分頁(yè)。 二、頁(yè)眉頁(yè)腳問(wèn)題: ·默認頁(yè)眉 &w&b頁(yè)碼,&p/&P ·默認頁(yè)腳 &u&b&d ·各種控制符含義: &w 網(wǎng)頁(yè)標題 &u 顯示URL &d 以短格式打印當前日期 &D 以長(cháng)格式打印當前日期 &t 打印當前時(shí)間 &T 以 24 小時(shí)制的格式打印當前時(shí)間 &p 打印當前頁(yè)碼 &P 打印總頁(yè)數 &b 右對齊文本(向右推移文本) && 打印單個(gè)與號 (&) 字符 &b中國&b “中國”二字居中 &b&b中國&b “中國”二字靠右2/3處對齊 三、其它問(wèn)題 ·默認IE設置下,網(wǎng)頁(yè)背景是不能打印出來(lái)的,需要手動(dòng)設置才行。所以為了保證您獲得最佳的打印效果,請調整您的瀏覽器設置,以IE5.5為例:工具菜單=》Internet選項》高級=》打印背景顏色和圖像,打鉤起來(lái)。 ·必須將IE的internet選項的安全設置中對于沒(méi)有標記為安全的ActiveX控件進(jìn)行設置成提示或者啟用,否則會(huì )報錯,導致不可用?梢栽谑苄耪军c(diǎn)中處理。 ·瀏覽器窗口大小與打印頁(yè)面大小對頁(yè)面影響的區別:在瀏覽器窗口中,頁(yè)面以窗口大小為界,文字在窗口指定的范圍內排版,版面溢出部分通過(guò)移動(dòng)滾動(dòng)條顯示出來(lái)。打印時(shí),則在“紙張大小”的范圍(去除頁(yè)邊距)內排版,橫向溢出部分不打印,縱向溢出部分則換頁(yè)。 四、打印一個(gè)表格 (使用背景色制作表格線(xiàn),應在IE的Internet高級選項中鉤上“打印背景顏色和圖像”) ![]() |
|
---|---|---|
|