不用彈出列印資料窗口的列印方法

列印可能大家都非常熟悉了,這個方法很簡單,高手不要笑話我:
    列印這個功能,我的第一印象做法就是如下
       1.把符合列印資料的所有資料都放在另外一個頁面,姑且我們把這個頁面叫列印頁面吧
       2.我們在本頁面利用javascript的方法傳參數到列印頁面,如下:
             // 友好的列印
             <script language="javascript" type="text/javascript">
                function Print_onclick()
                 {
                    var win = window.open("about:blank");
                   win.location = "RegiPerson_Print.aspx?type=1"
                }
            </script>
 
       3.在列印頁面里面我們調用打印的javascript的函數,如下:
            <script language="javascript" type="text/javascript">
                 var aaa= "<%=Request.QueryString("type") %>";
                 if(aaa=="1")
                {
                   window.print();
                }
           </script>
     這樣就能實現簡單的列印了。
 
但是上面的做法我個人認為有個不好的地方,那就是列印頁面必須彈出來。(如果客戶有要求,那就更好,沒有要求那樣也是不好的)
所以,我想不要列印頁面彈出來,下面就是我的做法(我們利用iframe)
      1.首先我們用iframe把要顯示的頁面src進去, 列印頁面為RegiPerson_Print.aspx?type=1 如下
          <iframe width='0' height='0' name="printframe" src='RegiPerson_Print.aspx?type=1'></iframe>
 
      2.利用javascript來調用彈出頁面的打印函數,如下:
         <script language=javascript >
          function print()
         {
         
              try
              {
                  window.frames("printframe").DP();
              }
              catch(e)
              {
                 alert("no object to print!");
              }
          }
        </script>
            備注:printframe 為本頁面iframename
                  DP() 為列印頁面為RegiPerson_Print.aspx?type=1里面的實現打印的javascript函數
 
 
        3.在RegiPerson_Print.aspx?type=1畫面里面加上實現打印的javascript函數 如下:
            <script language="javascript" type="text/javascript">
             function DP() // mainFrame網頁中函數
              {
              window.focus();
              if (window.print)
              {
                 window.print();
              }
              }
         </script>
 
    這樣就實現了不用彈出列印頁面就可以列印的方法了。
posted @ 2008-02-13 11:36  andysun88  阅读(1310)  评论(0)    收藏  举报