C# 开发网页的打印版
在项目中,有一个需求时是需要打印产品页面。但是打印出来的版本和网页上的版本不太一致,有些图片不需要,网页上以tab选项卡显示的内容,都需要在打印页面中看到..等等
CSS针对这种需求,引入了一个@media 规则,@media规则允许你根据不同的media指定不同的css style. @media print 指的就是print version的css样式
@media screen //screen的样式 { p.bodyCss {font-family: arial;} } @media print //print的样式 { p.bodyCss {font-family: serif;} } @media screen, print { p.bodyCss {font-size: 15pt} }
在上面的例子中,对于p的bodyCss样式, 页面上(screen样式)呈现的和打印出来的(print样式)是不一样的字体,但是字体大小是一样的
你也可以专门为打印print样式,引用一个专门的外部样式
<link rel="stylesheet" type="text/css" media="print" href="css/printpage.css">
也可以使用在页面中直接包含css的形式
<style type="text/css" media="print"> .noprint {display = none} </style> 网页上打印时不需要显示的部分加上 class="noprint"
有时,需要在打印的页面上,显示网页上折叠隐藏的内容,将内容完整的展示在纸上
<style type="text/css" media="print"> .print-show {display = block;} </style>
设置好需要打印内容的css后,我们一般会在页面上增加一个button,button上面的内容为"Print this Page". 当点击这个button时,会打印这个页面。这个是通过javascript来实现的
<script type="text/javascript"> function printpage() { window.print(); } </script>
有的时候,一个网页内容非常丰富, 有整个网站共享的layout,包括该网页中的头部,底部。而我们只需要打印这个网页中间的内容,这种时候我们可以通过JavaScript来实现
假定网页中间的内容,我们用一个div来包裹,这个div的Id为printDiv, 那么写一个JavaScript函数如下
<script type="text/javascript"> function printversion() { document.body.innerHTML = document.getElementById("printDiv").innerHTML; window.print(); history.go(0); } </script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律