1.JavaScript局部打印
<input id="btnPrint" type="button" value="打印" οnclick="javascript:window.print();" />
可以用样式控制,你想让那块打印就打印啊,样式如下:
<style type="text/css" media=print>
.noprint{display : none }
</style>
然后使用样式就可以:
<p class="noprint">不需要打印的地方</p>
=============================================================
2:组件法
WebBrowser是IE内置的浏览器控件,无需用户下载.
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
一、WebBrowser控件
<
object ID
=
'
WebBrowser
'
WIDTH
=
0
HEIGHT
=
0
CLASSID
=
'
CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
'
></
object
>
二、WebBrowder控件的方法
//
打印
WebBrowser1.ExecWB(
6
,
1
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
打印设置
WebBrowser1.ExecWB(
8
,
1
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
打印预览
WebBrowser1.ExecWB(
7
,
1
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(
1
,
1
) 打开
Web.ExecWB(
2
,
1
) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(
4
,
1
) 保存网页
Web.ExecWB(
6
,
1
) 打印
Web.ExecWB(
7
,
1
) 打印预览
Web.ExecWB(
8
,
1
) 打印页面设置
Web.ExecWB(
10
,
1
) 查看页面属性
Web.ExecWB(
15
,
1
) 好像是撤销,有待确认
Web.ExecWB(
17
,
1
) 全选
Web.ExecWB(
22
,
1
) 刷新
Web.ExecWB(
45
,
1
) 关闭窗体无提示
但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:
<
style type
=
"
text/css
"
media
=
print
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
.noprint...
...
{display : none }
</
style
>
然后使用样式就可以:
<
p class
=
"
noprint
"
>
不需要打印的地方
</
p
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
script language
=
"
javascript
"
>
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
function
printsetup()...
...
{
// 打印页面设置
wb.execwb(8,1);
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
function
printpreview()...
...
{
// 打印页面预览
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
wb.execwb(7,1);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
function
printit()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
.
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if (confirm('确定打印吗?')) ......{
wb.execwb(6,6)
}
}
</
script
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
<
OBJECT classid
=
"
CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
"
height
=
0
id
=
wb name
=
wb width
=
0
></
OBJECT
>
<
input type
=
button name
=
button_print value
=
"
打印
"
class
=
"
noprint
"
onclick
=
"
javascript:printit()
"
>
<
input type
=
button name
=
button_setup value
=
"
打印页面设置
"
class
=
"
noprint
"
onclick
=
"
javascript:printsetup();
"
>
<
input type
=
button name
=
button_show value
=
"
打印预览
"
class
=
"
noprint
"
onclick
=
"
javascript:printpreview();
"
>
3:
JS 实现简单的页面局部打印
function
preview(oper)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
...
{
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
if (oper < 10)......{
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML=bdhtml;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
} else ......{
window.print();
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
使用很简单 将页面内要打印的内容加入中间
<!--
startprint1
-->
XXXXX
<!--
endprint1
-->
再加个打印按纽 onclick
=
preview(
1
)
source:http://blog.chinaunix.net/u/26845/showart_1087849.html