昨晚朋友要求在前段時間完成的新聞的網(wǎng)站上加上一個功能,就是在每篇新聞瀏覽的頁面, 加一個打印銨鈕。讓用戶一點(diǎn)打印,能把整篇文章打印。一開始建議朋友,叫用戶使用IE瀏覽器的打印功能,但是朋友說,那個打印功能是把頁面的不相關(guān)的內(nèi)容也打印了,用戶只想打印整篇文章即可。
既然要改,照做就是了。沒有這方面經(jīng)驗(yàn),在網(wǎng)上找到很多相關(guān)的ASP.NET打印例子,要么太過復(fù)雜,要么效果不太理想。最后還是結(jié)合這諸多的例子,改寫一個合適的功能。
下面是改寫的地方,首先在文章瀏覽的.aspx頁面,添加一個Div,并加上runat="server" ,讓其包含整篇文章,如:
復(fù)制代碼 代碼如下:
div id="PrintContent" runat="server">
ASP.NET網(wǎng)頁打印測試br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容內(nèi)容br />
/div>
然后,添加一個打印銨鈕:
復(fù)制代碼 代碼如下:
asp:Button ID="btnPrint" runat="server" Text="打印" OnClientClick="return PrintArticle();" />
看到否,上面的打印銨鈕需要執(zhí)行一段Javascript代碼,也是重點(diǎn)部分。Insus.NET寫在下面,這段Javascript放置在.aspx頁最未端部分,也就是讓網(wǎng)頁最后執(zhí)行。
復(fù)制代碼 代碼如下:
function PrintArticle() {
var pc = document.getElementById("%=PrintContent.ClientID%>");
var pw = window.open('', '', 'width=500,height=400');
pw.document.write('html>');
pw.document.write('head>');
pw.document.write('title>ASP.NET網(wǎng)頁打印測試/title>');
pw.document.write('/head>');
pw.document.write('body>');
pw.document.write(pc.innerHTML);
pw.document.write('/body>');
pw.document.write('/html>');
pw.document.close();
setTimeout(function () {
pw.print();
}, 500);
return false;
}
最后來一個動畫演示:
打印輸出結(jié)果:
![](/d/20211017/077ae05c2fa2b122b4fc6108185de2b9.gif)
還可以,但有一點(diǎn)不理想,就是頁頭頁尾有一行信息,即是Highlight的部分,能否取消它,答案是肯定的,參考下面設(shè)置方法設(shè)置。
![](/d/20211017/19b51b70e9c08b5e766bff407ef545f2.gif)
您可能感興趣的文章:- asp.net中的“按需打印”(打印你需要打印的部分) 實(shí)現(xiàn)代碼
- 關(guān)于ASP.NET頁面打印技術(shù)的常用方法總結(jié)
- asp.net 打印控件使用方法
- 代碼實(shí)現(xiàn)打印功能(asp.net+javascript)
- ASP.NET 水晶報表打印功能實(shí)現(xiàn)代碼
- asp.net css控制打印功能方法實(shí)例