飛天

快乐的生活......

 

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下載

posted on 2008-07-23 11:22 飛天 阅读(752) 评论(1)  编辑 收藏 引用 所属分类: Web

评论

# re: Web中的打印控制[未登录] 2009-02-12 12:32 fred

有能使用高级功能的吗?例如设置打印机,打印份数和纸张,及进纸方式等.
发一份gaofei2111@163.com.
谢谢!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

Blogs

搜索

最新评论

阅读排行榜

评论排行榜