ASP.NET网页打印(只打印相关内容/自写功能)

 更新时间:2021年9月22日 10:17  点击:2344

昨晚朋友要求在前段时间完成的新闻的网站上加上一个功能,就是在每篇新闻浏览的页面, 加一个打印铵钮。让用户一点打印,能把整篇文章打印。一开始建议朋友,叫用户使用IE浏览器的打印功能,但是朋友说,那个打印功能是把页面的不相关的内容也打印了,用户只想打印整篇文章即可。

既然要改,照做就是了。没有这方面经验,在网上找到很多相关的ASP.NET打印例子,要么太过复杂,要么效果不太理想。最后还是结合这诸多的例子,改写一个合适的功能。

下面是改写的地方,首先在文章浏览的.aspx页面,添加一个Div,并加上runat="server" ,让其包含整篇文章,如:

复制代码 代码如下:

<div id="PrintContent" runat="server">
ASP.NET网页打印测试<br />
内容内容内容内容内容内容内容内容内容内容内容内容内容<br />
内容内容内容内容内容内容内容内容内容内容内容内容内容<br />
内容内容内容内容内容内容内容内容内容内容内容内容内容<br />
内容内容内容内容内容内容内容内容内容内容内容内容内容<br />
内容内容内容内容内容内容内容内容内容内容内容内容内容<br />
内容内容内容内容内容内容内容内容内容内容内容内容内容<br />
内容内容内容内容内容内容内容<br />
</div>

然后,添加一个打印铵钮
复制代码 代码如下:

<asp:Button ID="btnPrint" runat="server" Text="打印" OnClientClick="return PrintArticle();" />

看到否,上面的打印铵钮需要执行一段Javascript代码,也是重点部分。Insus.NET写在下面,这段Javascript放置在.aspx页最未端部分,也就是让网页最后执行。
复制代码 代码如下:

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网页打印测试</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;
}

最后来一个动画演示
 

打印输出结果

还可以,但有一点不理想,就是页头页尾有一行信息,即是Highlight的部分,能否取消它,答案是肯定的,参考下面设置方法设置。

[!--infotagslink--]

相关文章

  • js实现浏览器打印功能的示例代码

    这篇文章主要介绍了js如何实现浏览器打印功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
  • c# 获取已安装的打印机并调用打印文件

    这篇文章主要介绍了c#如何获取已安装的打印机并调用打印文件,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2020-12-08
  • vue实现页面打印自动分页的两种方法

    这篇文章主要为大家详细介绍了vue实现页面打印自动分页的两种方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-29
  • Springboot+MDC+traceId日志中打印唯一traceId

    本文主要介绍了Springboot+MDC+traceId日志中打印唯一traceId,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-17
  • C#操作excel打印的示例

    这篇文章主要介绍了C#操作excel打印的示例,帮助大家利用c#打印表格,提高办公效率,感兴趣的朋友可以了解下...2020-12-08
  • C#基本打印事件用法实例

    这篇文章主要介绍了C#基本打印事件用法,实例分析了C#中print打印及DrawString文本字符串绘制等相关技巧,需要的朋友可以参考下...2020-06-25
  • C# 实现简单打印的实例代码

    C# 实现简单打印的实例代码,需要的朋友可以参考一下...2020-06-25
  • web打印 window.print()介绍

    web打印 window.print()介绍,需要的朋友可以参考一下...2020-06-25
  • C语言打印华氏-摄氏温度对照表的方法

    这篇文章主要介绍了C语言打印华氏-摄氏温度对照表的方法,涉及C语言字符串与数字操作的相关技巧,非常简单实用,需要的朋友可以参考下...2020-04-25
  • C#打印PDF文档的10种方法(小结)

    这篇文章主要介绍了C#打印PDF文档的10种方法(小结),可分多种情况来进行,如设置静默打印、指定打印页码范围和打印纸张大小、双面打印、黑白打印等等,一共分成10种等,感兴趣的可以了解一下...2020-06-25
  • asp.net css控制打印功能方法实例

    这篇文章介绍了asp.net css控制打印功能方法实例,有需要的可以参考一下...2021-09-22
  • C#打印绘图的实现方法

    这篇文章主要介绍了C#打印绘图的实现方法,涉及C#针对图片的绘制与打印相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • ASP.NET网页打印(只打印相关内容/自写功能)

    朋友要求在前段时间完成的新闻的网站上加上一个功能,就是在每篇新闻浏览的页面, 加一个打印铵钮。让用户一点打印,能把整篇文章打印...2021-09-22
  • 从训练好的tensorflow模型中打印训练变量实例

    今天小编就为大家分享一篇从训练好的tensorflow模型中打印训练变量实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • SpringBoot打印POST请求原始入参body体方式

    这篇文章主要介绍了SpringBoot打印POST请求原始入参body体方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-12
  • vue打印功能实现的两种方法总结

    在项目中,有时需要打印页面的表格,所以下面这篇文章主要给大家介绍了关于vue打印功能实现的两种方法,以及批量打印的完整代码,需要的朋友可以参考下...2021-06-17
  • Python字符串对齐、删除字符串不需要的内容以及格式化打印字符

    这篇文章主要给大家介绍了关于Python字符串对齐、删除字符串不需要的内容以及格式化打印字符的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-25
  • C#实现打印与打印预览功能的思路及代码

    这篇文章主要介绍了C#实现打印与打印预览功能的思路及代码,有需要的朋友可以参考一下...2020-06-25
  • C# 打印网页不显示页眉页脚的实现方法

    这篇文章主要介绍了C# 打印网页不显示页眉页脚的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C语言打印某一年的日历

    这篇文章主要为大家详细介绍了C语言打印某一年的日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-06-14