当前位置:首页 > JS实现局部打印和预览

JS实现局部打印和预览

点击次数:1587  更新日期:2011-01-05
\n

 

\n

JS实现局部打印和预览:

\n

 

\n

第一种:

\n

 

\n

JS 实现简单的页面局部打印
\nfunction preview(oper)
\n{
\nif (oper < 10){
\nbdhtml=window.document.body.innerHTML;//获取当前页的html代码
\nsprnstr=”<!–startprint”+oper+”–>”;//设置打印开始区域
\neprnstr=”<!–endprint”+oper+”–>”;//设置打印结束区域
\nprnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html

\n

 

\n

prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
\nwindow.document.body.innerHTML=prnhtml;
\nwindow.print();
\nwindow.document.body.innerHTML=bdhtml;

\n

\n

} else {
\nwindow.print();
\n}
\n}
\n使用很简单 将页面内要打印的内容加入中间<!–startprint1–>XXXXX<!–endprint1–>
\n再加个打印按纽 onclick=preview(1)
\n第二中:组件法

\n

 

\n

 

\n

WebBrowser是IE内置的浏览器控件,无需用户下载.
\n一、WebBrowser控件
\n<object ID=’WebBrowser’ WIDTH=0 HEIGHT=0 CLASSID=’CLSID:8856F961-340A-11D0-A96B-00C04FD705A2′></object>
\n二、WebBrowder控件的方法
\n//打印
\nWebBrowser1.ExecWB(6,1);
\n//打印设置
\nWebBrowser1.ExecWB(8,1);
\n//打印预览
\nWebBrowser1.ExecWB(7,1);
\n关于这个组件还有其他的用法,列举如下:
\nWebBrowser.ExecWB(1,1) 打开
\nWeb.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
\nWeb.ExecWB(4,1) 保存网页
\nWeb.ExecWB(6,1) 打印
\nWeb.ExecWB(7,1) 打印预览
\nWeb.ExecWB(8,1) 打印页面设置
\nWeb.ExecWB(10,1) 查看页面属性
\nWeb.ExecWB(15,1) 好像是撤销,有待确认
\nWeb.ExecWB(17,1) 全选
\nWeb.ExecWB(22,1) 刷新
\nWeb.ExecWB(45,1) 关闭窗体无提示
\n但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
\n样式内容:
\n<style type=”text/css” media=print>
\n.noprint{display : none }
\n</style>
\n然后使用样式就可以:
\n<p class=”noprint”>不需要打印的地方</p>
\n代码如下:
\n<script language=”javascript”>
\nfunction printsetup(){
\n// 打印页面设置
\nwb.execwb(8,1);
\n}
\nfunction printpreview(){
\n// 打印页面预览
\nwb.execwb(7,1);
\n}
\nfunction printit()
\n{
\nif (confirm(‘确定打印吗?’)) {
\nwb.execwb(6,6)
\n}
\n}
\n</script>
\n<OBJECT classid=”CLSID:8856F961-340A-11D0-A96B-00C04FD705A2″ height=0 id=wb name=wb width=0></OBJECT>
\n<input type=button name=button_print value=”打印” class=”noprint” onclick=”javascript:printit()”>
\n<input type=button name=button_setup value=”打印页面设置” class=”noprint” onclick=”javascript:printsetup();”>
\n<input type=button name=button_show value=”打印预览” class=”noprint” onclick=”javascript:printpreview();”>

\n

\n

 

\n