<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    內蒙古java團隊

    j2se,j2ee開發組
    posts - 139, comments - 212, trackbacks - 0, articles - 65
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JavaScript實現Web打印

    Posted on 2010-04-25 22:24 帥子 閱讀(2403) 評論(1)  編輯  收藏
    在Web中想用JavaScript實現打印功能,需要一個瀏覽器控件WebBrowser。WebBrowser是IE內置的瀏覽器控件,無需用戶下載,只需要在頁面簡單的設置,就可以Dom方法獲取到該對象.

      WebBrowser 控件為 WebBrowser ActiveX 控件提供了托管包裝。托管包裝使您可以在 Windows 窗體客戶端應用程序中顯示網頁。使用 WebBrowser 控件,可以復制應用程序中的 Internet Explorer Web 瀏覽功能,還可以禁用默認的 Internet Explorer 功能,并將該控件用作簡單的 HTML 文檔查看器。此外,可以使用該控件將基于 DHTML 的用戶界面元素添加到窗體中,還可以隱瞞這些元素在 WebBrowser 控件中承載的事實。通過這種方法,可以將 Web 控件和 Windows 窗體控件無縫地整合到一個應用程序中。

      WebBrowser 控件包含多種可以用來實現 Internet Explorer 中的控件的屬性、方法和事件。例如,可以使用 Navigate 方法實現地址欄,使用 GoBack、GoForward、Stop 和 Refresh 方法實現工具欄中的導航按鈕。可以處理 Navigated 事件,以便使用 Url 屬性的值更新地址欄,使用 DocumentTitle 屬性的值更新標題欄。

      用WebBrowser實現打印方法如下:

      1.引入一個WebBrowser:

      <object id=”WebBrowser” classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=”0″ width=”0″>

      </object>

      2. 隱藏不打印的頁面元素和分頁

      CSS 有個Media 屬性,可以分開設置打印和顯示的格式。

      如 <style media=”print” type=”text/css”> …</style> 中間的格式將只在打印時起作用,不會影響顯示界面。

      所以可以設定

      <style media=”print” type=”text/css”>

      .Noprint{display:none;}

      .PageNext{page-break-after: always;}

      </style>

      然后給不想打印的頁面元素添加: ,那就不會出現在打印和打印預覽中了。 想分頁的地方添加: <div></div> 就可以了。

      3. 頁面設置和打印預覽

      常用的:

      WebBrowser.ExecWB(1,1) 打開

      WebBrowser.ExecWB(2,1) 關閉現在所有的IE窗口,并打開一個新窗口

      WebBrowser.ExecWB(4,1) 保存網頁

      WebBrowser.ExecWB(6,1) 打印

      WebBrowser.ExecWB(7,1) 打印預覽

      WebBrowser.ExecWB(8,1) 打印頁面設置

      WebBrowser.ExecWB(10,1) 查看頁面屬性

      WebBrowser.ExecWB(15,1) 撤銷

      WebBrowser.ExecWB(17,1) 全選

      WebBrowser.ExecWB(22,1) 刷新

      WebBrowser.ExecWB(45,1) 關閉窗體無提示

      在ExtJs中實現打印

      簡單來說就是將要打印的innerHtml內賦值給window.document.body.innerHTM,然后調用window.focus():

      function doPrint(){

      var printArea=…….;//這個是取得要打印的那個組件

      window.document.body.innerHTML=printArea.innerHTML;

      window.focus();

      WebBrowser.ExecWB(6,6);

      }

      window.print()

      上面ExtJs打印代碼用到了window.print() ,實際上,window.print() 是瀏覽器打印功能菜單的一種程序調用。

      與點擊打印功能菜單一樣,不能精確分頁,不能設置紙型,套打的問題更加無從談起,只不 過,可以讓用戶不用去點菜單,直接點擊網頁中的一個按鈕,或一個鏈接里面調用罷了。事實上,很多用戶都是采用這種方式打印,但 是這種方式最致命的缺點是不能設置打印參數,比如紙型,頁邊距,選擇打印機等等。

      需要指出的是這種方法提供一個打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的時候重新編輯一些格式,專門送 去打印,打印后又處理回來。

      分享一個國內打印工具 JatoolsPrinter:官方網站

      jatoolsPrinter (杰表.打印控件)是一款實現網頁套打的專用工具。作為web應用開發者,我們經常會遇到在瀏覽器中打印報表、票據的需求,這些需求瀏覽器本身的打印功能 一般不能滿足, 如精確分頁,套打等。這就需要有一種能解決常見的瀏覽器端打印問題的軟件工具,這也是 jatoolsPrinter 的研發背景。

      jatoolsPrinter 的特點是可以直接對web頁面進行精確的分頁打印。jatoolsPrinter 通過在網頁中嵌入控件,解決了web客戶端精確打印,批量打印,打印配置自動保留等問題。

      Related posts:

      JavaScript判斷瀏覽器類型及版本

      獲取XMLHttpRequest的步驟

      JavaScript中的閉包

      javascript 彈出子窗口


    評論

    # re: JavaScript實現Web打印  回復  更多評論   

    2010-04-27 18:48 by bywqcnll
    jatoolsPrinter功能超強,價錢超貴.

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 无码精品A∨在线观看免费| 真人无码作爱免费视频| 久久久久亚洲Av无码专| 亚洲AV无码专区国产乱码4SE| 亚洲人成精品久久久久| 国产亚洲3p无码一区二区| 国产亚洲av片在线观看16女人| 亚洲综合AV在线在线播放| 伊伊人成亚洲综合人网7777| 亚洲国产人成中文幕一级二级| 久久精品国产精品亚洲| 国产亚洲AV手机在线观看| 亚洲精品二区国产综合野狼 | 成人无码视频97免费| 一级片在线免费看| 精品免费久久久久国产一区| a毛看片免费观看视频| 日本视频在线观看永久免费| 久久综合国产乱子伦精品免费| 真实国产乱子伦精品免费| 啦啦啦完整版免费视频在线观看 | 一个人看的免费视频www在线高清动漫| 一级毛片正片免费视频手机看| 好吊色永久免费视频大全| 黄网站色视频免费在线观看的a站最新| 久久精品国产这里是免费| 在线看片v免费观看视频777| 成年人性生活免费视频| 亚洲AV无码成人精品区大在线| 国产L精品国产亚洲区久久| 亚洲国产精品无码久久久蜜芽| 亚洲人成网站在线播放影院在线| 亚洲午夜国产精品| 久久水蜜桃亚洲AV无码精品 | 亚洲六月丁香六月婷婷蜜芽| 亚洲色成人WWW永久在线观看| 污污污视频在线免费观看| 久久精品国产免费一区| 99久久综合国产精品免费| 免费一级毛片一级毛片aa| 国产av天堂亚洲国产av天堂|