本例主要是使用WebBrowser.ExecWB方法与CSS对打印输出的控制,灵活实现WebBrowser内容的打印输出。

<OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0 VIEWASTEXT></OBJECT>

<input type=button value=打印     onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">

注意:
1、CSS对打印的控制:
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
    .Noprint{display:none;}
    .PageNext{page-break-after: always;}
</style>

Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能

PageNext样式可以设置分页,在需要分页的地方<div class="PageNext"></div>就OK了,呵呵

2、表格线粗细的设置,更是通过样式表:

<style>
.tdp
{
    border-bottom: 1 solid #000000;
    border-left:  1 solid #000000;
    border-right:  0 solid #ffffff;
    border-top: 0 solid #ffffff;
}
.tabp
{
    border-color: #000000;
    border-collapse:collapse;
}
</style>

或者:

<style>
.TdCs1 {
        border:solid windowtext 1.0pt;
}
.TdCs2 {
        border:solid windowtext 1.0pt; border-left:none;
}
.TdCs3 {
        border-top:none;
        border-left:solid windowtext 1.0pt;
        border-bottom:solid windowtext 1.0pt;
        border-right:solid windowtext 1.0pt;
}
.TdCs4 {
        border-top:none;
        border-left:none;
        border-bottom:solid windowtext 1.0pt;
        border-right:solid windowtext 1.0pt;
}
.underline {
        border-top-style: none;
        border-right-style: none;
        border-bottom-style: solid;
        border-left-style: none;
        border-bottom-color: #000000;
}
</style>

 

0 回复,0 引用: WebBrowser控件的打印解决方案

添加回复

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。