使用IEWebBrowser元件進行列印的總結

bolan392發表於2010-09-01

  專案中需要使用web頁面的列印功能,所以選用了IEWebBrowser元件,下面總結一下使用到的內容:

  直接在JSP頁面中新增如下程式碼,就可以使用了:

 

<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT> 
<input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=開啟>
<input name=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=關閉所有>
<input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存為> 
<input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=列印>
<input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=直接列印>
<input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=列印預覽>
<input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=頁面設定>
<input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=屬性>
<input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全選>
<input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=重新整理>
<input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=關閉>

 

  但是當我進行列印預覽時發現並非所有的網頁內容都是需要列印的,所以採用以下方式將不需要列印的內容排除在外:

 

<style type="text/css" media=print> 
	.noprint{display : none } 
	.PageNext{page-break-after: always;}
</style> 

 

 

<p class="noprint">
   不需要列印的內容
</p>

 

  使用這種方式就可以將不需要列印的內容遮蔽掉。

  那上面還有一個PageNext樣式有什麼作用,答案是分頁時使用,我們可以在需要列印分頁的地方新增如下程式碼:

 

<div class="PageNext"></div>

 

  遇到上述標記,就會進行分頁列印。

  另外,在我的列印功能中還遇到了一個問題,那就是分頁表頭的問題,我發現只有第一頁有表頭,而第二頁開始就沒有表頭了,採用以下方法可解決此問題,使列印的每一頁都具有相同的表頭:

 

 			<thead style="display:table-header-group;font-weight:bold">
				 <tr><th colspan="13"><b style="font-size:15px;">工人入場三級安全教育考核彙總登記表</b></th></tr>
				<tr>
					<th colspan="5"><b style="font-size:13px;">單位:<bean:write name="workerForm" property="unit.unitName" /></b></th>
					<th colspan="4"><b style="font-size:13px;">登記日期:<bean:write name="workerForm" property="unit.registerDate" format="yyyy-MM-dd"/></b></th>
					<th colspan="3"><b style="font-size:13px;">編號:<bean:write name="workerForm" property="unit.unitId" /></b></th>
				</tr>
				<tr>
					<th><b style="font-size:13px;">序號</b></th>
					<th><b style="font-size:13px;">姓名</b></th>
					<th><b style="font-size:13px;">性別</b></th>
					<th><b style="font-size:13px;">年齡</b></th>
					<th><b style="font-size:13px;">工種</b></th>
					<th><b style="font-size:13px;">籍貫</b></th>
					<th><b style="font-size:13px;">身份證號碼</b></th>
					<th><b style="font-size:13px;">教育考核時間</b></th>
					<th><b style="font-size:13px;">考核成績</b></th>
					<th><b style="font-size:13px;">教育卡號</b></th>
					<th><b style="font-size:13px;">照片</b></th>
					<th><b style="font-size:13px;">操作</b></th>
				</tr>
			</thead>

 

  只要應用了藍色程式碼部分的樣式,則表頭就會出現在每一頁中。

 

相關文章