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 飛天 閱讀(797) 評論(1) 編輯 收藏 引用 所屬分類: Web

