web打印 window.print()介紹
我只給出比較有效的,方便的打印方法,有些WEB打印是調(diào)用ActiveX控件的,這樣就需要用戶去修改自己IE瀏覽器的Internet選項(xiàng)里的安全里的ActiveX,將它們?nèi)繂⒂?,有些麻煩,翻了下網(wǎng)絡(luò),下面的方法是可以直接打印,而不會(huì)去修改IE的Internet選項(xiàng)。
window.print來(lái)打印頁(yè)面,頁(yè)面上別的元素也會(huì)被打印處理,頁(yè)頭頁(yè)尾的格式也不好控制。
• 常用方法:大部分情況會(huì)把查詢的結(jié)果綁定到DataGrid上來(lái),然后打印DataGrid。這種情況的打印一般來(lái)說(shuō)格式比較固定簡(jiǎn)單,確定后基本不會(huì)再作更改。所以可以采用IE直接打印。
【實(shí)例代碼】
注:①這是客戶端通過(guò)window.print打印指定內(nèi)容。這里定義sprnstr和eprnstr來(lái)指定內(nèi)容
執(zhí)行代碼:
<input type="button" name="print" value="http://www.dbjr.com.cn/yc1990/archive/2012/03/03/預(yù)覽并打印" onclick="preview()">
②如果直接使用window.print將打印頁(yè)面上的所有內(nèi)容,但是我們可以使用
<style> @media Print { .Noprn { DISPLAY: none }}
是用來(lái)指定不打印的內(nèi)容。
<script language="Javascript">
function preview()
{
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
</script>
<!--省略部分代碼-->
<form id="WebForm1" method="post" runat="server">
<center>本部分以上不被打印</center>
<!--startprint-->
<div align="center">
<asp:DataGrid id="dgShow" runat="server">
<!--省略部分代碼-->
</asp:DataGrid>
</div>
<!--endprint-->
<center>本部分以下不被打印</center>
<div align="center">
<input type="button" name="print" value="http://www.dbjr.com.cn/yc1990/archive/2012/03/03/預(yù)覽并打印" onclick="preview()">
</div>
<style> @media Print { .Noprn { DISPLAY: none }}
</style>
<p class="Noprn">不打印</p>
<table id="datagrid">
<tr>
<td>打印</td>
</tr>
</table>
<input class="Noprn" type="button" onclick="window.print()" value="http://www.dbjr.com.cn/yc1990/archive/2012/03/03/print">
</form>
最主要的一句就是:
<input class="Noprn" type="button" onclick="window.print()" value="http://www.dbjr.com.cn/yc1990/archive/2012/03/03/print">
這樣就可以打印了,通過(guò)設(shè)置CSS屬性,將很容易控制哪些需要打印,哪些不需要打印,而且這樣的打印是沒(méi)有附加的頁(yè)眉和頁(yè)碼的信息的。
相關(guān)文章
利用WPF窗口程序設(shè)計(jì)簡(jiǎn)單計(jì)算器
這篇文章主要為大家詳細(xì)介紹了利用WPF窗口程序設(shè)計(jì)簡(jiǎn)單計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11C#面向?qū)ο筇卣鞯木唧w實(shí)現(xiàn)及作用詳解
所有的面相對(duì)象思想,歸根結(jié)底是為了簡(jiǎn)化代碼,減少代碼量,構(gòu)建更符合現(xiàn)實(shí)生活邏輯的程序代碼,從而減輕程序員的負(fù)擔(dān)。不能一味地或者說(shuō)刻意地去使用面相對(duì)象的思想而忽略了程序所實(shí)現(xiàn)的功能或者框架,要根據(jù)實(shí)際情況2013-10-10C#正則函數(shù)用法實(shí)例【匹配、替換、提取】
這篇文章主要介紹了C#正則函數(shù)用法,結(jié)合實(shí)例形式分析了C#基于正則的匹配、替換、提取相關(guān)操作技巧,需要的朋友可以參考下2017-01-01C#中單問(wèn)號(hào)(?)和雙問(wèn)號(hào)(??)的用法整理
本文詳細(xì)講解了C#中單問(wèn)號(hào)(?)和雙問(wèn)號(hào)(??)的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05