IE 內建的列印組件,WebBrowser,簡單的解決B/S項目的列印解決方案,分頁列印,預覽列印

來源:互聯網
上載者:User


 在使用下面的語句時最好Try{}catch(e){}一下以為5.5以上的IE才可以使用

以下的內容在IE6 7 上測試過 ok  FF下測試有問題

注意,以下的方法調用 在IE6下,可以加括弧,在IE7下不能加括弧

為了方便最好都不要加括弧

  1. WebBrowser.ExecWB(1,1) 開啟
  2. WebBrowser.ExecWB(2,1) 關閉現在所有的IE視窗,並開啟一個新視窗
  3. WebBrowser.ExecWB(4,1) 儲存網頁
  4. WebBrowser.ExecWB(6,1) 列印
  5. WebBrowser.ExecWB(7,1) 預覽列印
  6. WebBrowser.ExecWB(8,1) 列印版面設定
  7. WebBrowser.ExecWB(10,1) 查看頁面屬性
  8. WebBrowser.ExecWB(15,1) 好像是撤銷,有待確認
  9. WebBrowser.ExecWB(17,1) 全選
  10. WebBrowser.ExecWB(22,1) 重新整理
  11. WebBrowser.ExecWB(45,1) 關閉表單無提示

 

其中最後一項WebBrowser.ExecWB(45,1)可以有效解決IE7下,使用

WebBrowser.ExecWB(7,1)執行預覽列印後返回到原視窗時,window.close()方法失效的問題。

  1. <style media="print" type="text/css"> 
  2. .Noprint{display:none;} 
  3. .PageNext{page-break-after: always;} 
  4. </style>
    然後給不想列印的頁面元素添加: class="Noprint" ,那就不會出現在列印和預覽列印中了。
    想分頁的地方添加:  <div class="PageNext></div>就可以了。


  1. <div class="PageNext">
  2. 列印的內容 第一頁
  3. </div>
  4. <div class="PageNext">
  5. 列印的內容 第二頁
  6. </div>
  7. <div class="PageNext">
  8. 列印的內容 第三頁
  9. </div>

如果是預覽則執行下面代碼:

用臨時視窗開啟預覽或列印的時候可以這樣寫

  1. WebBrowser.ExecWB(7,1); 
  2. window.opener=null; 
  3. window.close();

對於A4紙張,橫打用920,豎打用640

  1. 1、自動換行: 
  2. <style type="text/css"> 
  3. .AutoNewline 
  4. word-break: break-all;/*必須*/ 
  5. </style> 
  6. <table> 
  7. <tr> 
  8. <td class="AutoNewline">自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行自動換行</td> 
  9. </tr> 
  10. </table> 
  11. 2、不換行: 
  12. <style type="text/css"> 
  13. .NoNewline 
  14. word-break: keep-all;/*必須*/ 
  15. </style> 
  16. <table> 
  17. <tr> 
  18. <td class="NoNewline">不換行不換行不換行不換行不換行不換行不換行不換行不換行不換行</td> 
  19. </tr> 
  20. </table> 
頁首頁尾的設定google了一把發現都是用vsscript寫的例子 不過我學過vb 所以可以看懂哈,但這個不影響你使用的,以下是代碼
  1. <script language="VBScript"> 
  2. dim hkey_root,hkey_path,hkey_key 
  3. hkey_root="HKEY_CURRENT_USER" 
  4. hkey_path="/Software/Microsoft/Internet Explorer/PageSetup" 
  5. '//設定網頁列印的頁首頁尾為空白 
  6. function pagesetup_null() 
  7. on error resume next 
  8. Set RegWsh = CreateObject("WScript.Shell") 
  9. hkey_key="/header" 
  10. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" 
  11. hkey_key="/footer" 
  12. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" 
  13. end function 
  14. '//設定網頁列印的頁首頁尾為預設值 
  15. function pagesetup_default() 
  16. on error resume next 
  17. Set RegWsh = CreateObject("WScript.Shell") 
  18. hkey_key="/header" 
  19. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b頁碼,&p/&P" 
  20. hkey_key="/footer" 
  21. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d" 
  22. end function 
  23. </script> 
頁首頁尾的一些參數用法視窗標題 &w
網頁地址 (URL) &u
短日期格式(由"控制台"中的"地區設定"指定) &d
長日期格式(由"控制台"中的"地區設定"指定) &D
當前頁碼 &p
總頁數 &P
文本靠右對齊(後跟 &b) &b
文字置中(&b&b 之間) &b&b

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.