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 轉帖
          主站蜘蛛池模板: 平原县| 宜阳县| 丽水市| 吉安县| 澳门| 阜宁县| 开远市| 绥德县| 炉霍县| 许昌市| 西林县| 宁远县| 金山区| 延安市| 明溪县| 元江| 阳新县| 兴城市| 祁阳县| 绥德县| 宜黄县| 泽普县| 江山市| 美姑县| 府谷县| 东宁县| 林周县| 苗栗县| 东乌珠穆沁旗| 乌鲁木齐县| 河南省| 信丰县| 华蓥市| 龙陵县| 奎屯市| 石泉县| 博罗县| 东明县| 新民市| 华亭县| 张家界市|