【C#】利用WebBrowser、CSS、JS控制开发HTML网页文件的打印版
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
在项目中,有一个需求时是需要打印产品页面。但是打印出来的版本和网页上的版本不太一致,有些图片不需要,网页上以tab选项卡显示的内容,都需要在打印页面中看到..等等。 CSS针对这种需求,引入了一个@media 规则,@media规则允许你根据不同的media指定不同的css style. @media print 指的就是print version的css样式: @media screen //screen的样式 { p.bodyCss {} }
@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> 该文章在 2023/8/11 18:29:55 编辑过
|
关键字查询
相关文章
正在查询... |