web|web列印 呵呵,菜鳥一個,只會用IE內建的列印功能,感覺一般也夠用了,在這裡算是提醒一下大家使用時要注意的問題吧
首先在網頁中添加:
<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"
VIEWASTEXT>
</OBJECT>
然後就可以依次加入功能按鈕了:
<input onclick="document.all.WebBrowser.ExecWB(6,1)" type="button" value="列印"> <input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接列印">
<input onclick="document.all.WebBrowser.ExecWB(8,1)" type="button" value="版面設定">
<input onclick="document.all.WebBrowser.ExecWB(7,1)" type="button" value="預覽列印"> <INPUT type="button" value="關閉視窗" onclick="javascript:window.close()">
將這兩塊東西放到<center class=noprint></center>就不會列印這些按鈕了。當然要定義noprint了:
<style media="print">.Noprint { DISPLAY: none }</style>只要把不想列印的東西的css設定成noprint就可以了。
現在就實現了基本的web列印,需要注意的情況如下:
必須將ie的internet選項的安全設定中對於沒有標記為安全的ActiveX控制項進行...設定成提示或者啟用,否則會報錯,導致不可用。
如果在vs.net編輯環境下編輯該頁面,它經常自動的給object添加多餘的參數,有了這些東西,列印就會出錯,所以要記得最後儲存的時候刪除它們。
為了簡便並且達到最好的效果,我們可以在一個頁面實現編輯和列印,這時候會需要很多的textbox,我們把它的css設定成.edittext
{
overflow-y:visible;
width: 100%;
border-top: none;
border-right: none;
border-bottom: none;
border-left: none;
}就可以實現在列印的時候不顯示邊框和multiline的textbox不顯示捲軸了。
還有一些小經驗就是在設定標格寬度的時候,對於A4紙張,橫打用920,豎打用640,效果最好。
呵呵,以上都是我的一些經驗之談,可能有些錯誤或者大家有更好的辦法,歡迎批評指正。