抱著“取之于眾 服務于眾”的思想,我總結了一下,把它拿到網上來與大家分享,希望能幫助遇到類似問題的朋友。 
我主要使用了IE內置的WebBrowser控件,無需用戶下載和安裝。WebBrowser有很多功能,除打印外的其他功能就不再贅述了,你所能用到的打印功能也幾乎全部可以靠它完成,下面的問題就是如何使用它了。先說顯示后打印,后面說后臺打印。 
1.首先引入一個WebBrowser在需要打印的頁面,可以直接添加: 
<object id="WebBrowser" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height="0" width="0"> 
</object> 
到頁面,或者使用JavaScript在需要的時候臨時添加也可以: 
document.body.insertAdjacentHTML("beforeEnd", 
"<object id=/"WebBrowser/" width=0 height=0 / 
classid=/"clsid:<st1:chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8856" unitname="F" w:st="on">8856F</st1:chmetcnv>961<st1:chmetcnv tcsc="0" numbertype="1" negative="True" hasspace="False" sourcevalue="340" unitname="a" w:st="on">-340A</st1:chmetcnv>-11D0-A96B<st1:chmetcnv tcsc="0" numbertype="1" negative="True" hasspace="False" sourcevalue="0" unitname="C" w:st="on">-00C</st1:chmetcnv>04FD<st1:chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="705" unitname="a" w:st="on">705A</st1:chmetcnv>2/">"); 
2 .頁面設置和打印預覽 
如下所示,直接調用即可 
document.all.WebBrowser.ExecWB(6,6) 直接打印 
document.all.WebBrowser.ExecWB(8,1) 頁面設置 
document.all.WebBrowser.ExecWB(7,1) 打印預覽 
或者: 
execScript("document.all.WebBrowser.ExecWB 7, 1","VBScript"); 
3 隱藏不打印的頁面元素和分頁 
CSS 有個Media 屬性,可以分開設置打印和顯示的格式。 
如 <style media="print" type="text/css"> …</style> 中間的格式將只在打印時起作用,不會影響顯示界面。 
所以可以設定 
<style media="print" type="text/css"> 
.Noprint{display:none;} 
.PageNext{page-break-after: always;} 
</style> 
然后給不想打印的頁面元素添加: class="Noprint" ,那就不會出現在打印和打印預覽中了。 
想分頁的地方添加: <div class="PageNext"></div> 就可以了。 
4.打印頁面的特定部分 
我是通過將需要打印的特定部分另建一個頁面,然后裝入主頁面的一個IFrame中,再調用IFrame的打印方法,只打印IFrame中的內容實現的。 
如: 
<iframe style="visibility: visible" name="FrameId" width="100%" height="30%" src="NeedPrintedPage.asp"></iframe> 
下面的pringFrame js函數將只打印Iframe中的內容,可以直接引用使用,如printFrame(FrameId); 
window.print = printFrame; 
// main stuff 
function printFrame(frame, onfinish) { 
if ( !frame ) frame = window; 
function execOnFinish() {             
新聞熱點
疑難解答
圖片精選