Web中的打印控制

Web中的打印控制

      在Web系統中,使用瀏覽器自帶的打印功能,打印出來的結果會加上頁碼,日期等信息,不是用戶要的結果。如果要去掉這些信息,可以手工設置。但這樣比較麻煩,用戶也不會接受。
      這里要介紹的是用控件來打印。
     1.在頁面上加上控件
      <object   id="factory"   style="display:none"   viewastext    
      classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"    
      codebase="/smsx.cab#Version=5,60,0,360"    
  ></object>
      codebase="/smsx.cab#Version=5,60,0,360" 是控件的路徑,如果用戶沒有安裝的話會自動到該地址去下載(瀏覽器要支持ActiveX才行)  
       2.打印的代碼
< script type = " text/javascript " >
function  PrintPage()
{
 
if(!factory.object)
 
{
   alert(
"控件沒有安裝成功");
   
return;
 }

 
var header=factory.printing.header;
 
var footer=factory.printing.footer;
 
var leftmar=factory.printing.leftMargin;
 
var topmar=factory.printing.topMargin;
 
var rightmar=factory.printing.rightMargin;
 
var bottommar=factory.printing.bottomMargin;
  
 
 factory.printing.header   
=   "";
 factory.printing.footer   
=   "";
 factory.printing.portrait   
=   true;
 factory.printing.leftMargin   
=   0.3;
 factory.printing.topMargin   
=   0 ;
 factory.printing.rightMargin   
=   0.3;
 factory.printing.bottomMargin   
=   0.1;

 factory.printing.Print(
false);

 factory.printing.header
=header;
 factory.printing.footer
=footer;
 factory.printing.leftMargin
=leftmar;
 factory.printing.topMargin
=topmar;
 factory.printing.rightMargin
=rightmar;
 factory.printing.bottomMargin
=bottommar;
}

</ script >

      需要註意的是邊距的單位,如果你是以cm為單位設置的邊距的話,在英文系統中是使用英寸(in)為單位,打印的結果就會有問題。 
     smsx.cab下載

你可能感兴趣的:(Web中的打印控制)