posts - 23,comments - 12,trackbacks - 0

          1
          方式:采用css來控制打印,提供一個專門的控制打印的css文件,然后在需要打印的頁面的代碼中將該css文件引入
          下面通過例子來講解如何實現頁面的打印:
          1.寫控制打印的樣式表文件print.css,文件內容如下:
          @media print {
          header{display:none}
          button{display:none}
          textarea{display:none}
          select{display:none}
          .noprint{display:none;
           position: relative;
           right:0px}
          input{position: relative;left:0px;
            right:19px;
            BORDER-TOP: 0px;
            BORDER-LEFT: 0px;
            BORDER-RIGHT: 0px;
            BORDER-BOTTOM: 0px;
            COLOR : #FFFFFF;
            display:""}
          select{position: relative;left:-50px;
             border:0pt;
             vertical-align:justify;
             display:""}
            table{
              position: relative;left:-40px;
             MARGIN-TOP: 1px;
             MARGIN-BOTTOM: 1px;
             PADDING-BOTTOM: 1px;
             BORDER-TOP: 1px;
             BORDER-LEFT: 1px;
             BORDER-RIGHT: 1px;
             BORDER-BOTTOM: 1px;
             COLOR : #FFFFFF;  
             display:""
             }  
          .print{position: relative;left:-50px;
             right:10px;
             display:""
             }
          }
          其中,@media print中的print指定了需要使用的設備,就是—打印機(網絡打印機)。
          .noprint{display:none; position: relative; right:0px}
          說明其上面的所有元素都不打印,所以display屬性設置為none.
          位置position屬性設置為relative,表示相對位置。如果不設置為relative,則打印出來的效果會和頁面上的位置一模一樣,如果確實需要和頁面一致的話,當然可以不設置成relative。Right屬性以及它的值表示打印出來的位置相對于頁面原始位置的偏移方向以及偏移量,當然還可以是left.
          根據上面的定義,header,button,textarea和select是不打印的,當然這些都是根據需要可以添加和修改的。
          接下來就是需要打印的元素的定義了,其各個屬性的含義都是顧名思義的,很容易理解,在此不做贅述,只需要記住將display屬性的值這是為空串””就可以了。
          2.在需要打印的頁面的代碼中,將該樣式表文件引入:
          <head>
          <link rel=stylesheet href="print.css">
          ………………………………
          </head>
          其中,href屬性指定的是樣式表文件的位置。
          3.在頁面代碼中加入使用打印API的代碼,一般來說加在<body>……..</body>之間即可:
          <OBJECT ID="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
          這段代碼是必不可少的,不必了解其確切含義。
          4.用js寫執行打印動作的函數,一個簡單的例子如下:
          function doPrint()
          {
          WebBrowser.ExecWB(6,6);
          }
          其中的WebBrowser.ExecWB(6,6);語句表示執行打印。還有其他的一些功能,如下:
          WebBrowser.ExecWB(1,1) 打開
          WebBrowser.ExecWB(2,1) 關閉現在所有的IE窗口,并打開一個新窗口
          WebBrowser.ExecWB(4,1) 保存網頁
          WebBrowser.ExecWB(6,6) 打印
          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) 關閉窗體無提示
          5.在頁面代碼中添加打印按鈕:
          <input type=button value="toPrinter" onclick="doPrint()">
          6.調整頁面元素,控制打印細節。具體做法是:如果想打印某個頁面元素,只需要將該元素放在<div class=print>…</div>中;如果不想打印,則將該元素放在<div class=noprint>…</div>中。

          做到以上幾點,一個簡單的打印功能就實現了!



          2

          <%@ page contentType="application/msword;charset=GBK" %>

          posted on 2005-08-29 09:51 my java 閱讀(581) 評論(0)  編輯  收藏 所屬分類: java 轉帖
          主站蜘蛛池模板: 永川市| 五华县| 大姚县| 怀安县| 河曲县| 大田县| 新源县| 酉阳| 太保市| 卓资县| 德化县| 大宁县| 涿鹿县| 湖南省| 微山县| 陵水| 宝兴县| 辽阳市| 息烽县| 嘉荫县| 廊坊市| 利辛县| 陇西县| 新乡市| 山东| 宁德市| 甘谷县| 游戏| 长子县| 白城市| 五华县| 通江县| 民丰县| 澳门| 绩溪县| 类乌齐县| 泗阳县| 青阳县| 鄂州市| 廉江市| 百色市|