`

JS实现局部打印和预览

阅读更多
JS实现局部打印和预览:

第一种:

JS 实现简单的页面局部打印
function preview(oper)
......{
if (oper < 10)......{
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html

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


} else ......{
window.print();
}

}

使用很简单 将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
再加个打印按纽 onclick=preview(1) 第二中:组件法



WebBrowser是IE内置的浏览器控件,无需用户下载.

一、WebBrowser控件
  <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
二、WebBrowder控件的方法
//打印

WebBrowser1.ExecWB(6,1);

//打印设置

WebBrowser1.ExecWB(8,1);

//打印预览

WebBrowser1.ExecWB(7,1);

关于这个组件还有其他的用法,列举如下:
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>
.noprint......{display : none }
</style>
然后使用样式就可以:
<p class="noprint">不需要打印的地方</p>

代码如下:

<script language="javascript">
function printsetup()......{
// 打印页面设置
wb.execwb(8,1);
}
function printpreview()......{
// 打印页面预览

wb.execwb(7,1);

}

function printit()
......{
if (confirm('确定打印吗?')) ......{
wb.execwb(6,6)
}
}
</script>

<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();">

扩充一下,还有这种:
利用CSS实现局部打印
介绍两个关键的CSS
<style media="print">
         .Noprint { DISPLAY: none }
         .PageNext{ PAGE-BREAK-AFTER: always }
   </style>第一个在不需要打印的标签上添加(子标签也将不被打印),第二个在需要换行的标签处添加(该标签所表示的内容将在当前打印的一页内)
接下来通过调用最基本的js语句
window.print()就可实现页面局部打印了,很easy吧!
分享到:
评论

相关推荐

    LodopFuncs.js打印、前端开发直连打印机打印、js调用驱动 不经过传统预览页面后才可打印问题

    前端LodopFuncs.js打印,js打印,web打印,jq打印,html打印,不需要经过预览页面 直接调起默认打印机进行局部打印。该打印js可局部打印也可全局打印而且该驱动...局部打印功能和jQuery.print.min.js使用方法一样简单。

    js实现局部页面打印预览原理及示例代码

    js 如何打印预览,实局部打印页面很简单。就是把你需要打印的部分做一个起始标记,下面有个示例大大家不妨参考下

    js或jquery实现页面打印可局部打印

    js或jquery实现页面打印(局部打印) 1、js实现(可实现局部打印) 代码如下: &lt;html&gt; &lt;title&gt;js打印&lt;/title&gt; &lt;head&gt;&lt;/head&gt;&lt;body&gt; &lt;input id=”btnPrint” type=”button” ...

    JS实现浏览器打印、打印预览示例

    目前正在做浏览器端采用JS方式实现打印这么一个功能,JS打印实现的方法很多,但是兼容各个浏览器实现打印预览的功能有些棘手,现将实现的内容及遇到的问题记录下来,希望有大牛看到所提的问题后可以给予解答,在此...

    【JavaScript源代码】vue使用lodop打印控件实现浏览器兼容打印的方法.docx

    vue使用lodop打印控件实现浏览器兼容打印的方法  前言 此控件直接进行打印底部会有水印,通过官网购买可以解决; 如不想购买,可先执行预览,弹出预览框进行打印; 需要用到的js文件和api文档附后,请注意查看。 ...

    Lodpo6.0js打印组件

    非常强大的js打印组件,实现打印预览、局部打印、样式打印等功能。

    jquery打印

    jquery jsp css 实现全局 局部打印功能 很全面 可打印预览 js css jsp 皆全

    JS打印组合功能

    本文为大家分享了JS打印组合功能,功能全面...然后给不想打印的页面元素添加: class=”Noprint” ,那就不会出现在打印和打印预览中了。 想分页的地方添加: ”PageNext”&gt;&lt;/div&gt; 就可以了。 &lt;/style&gt; 在将不想

    PHP和MySQL Web开发第4版pdf以及源码

    6.10.8 实现迭代器和迭代 6.10.9 将类转换成字符串 6.10.10 使用Reflection(反射)API 6.11 下一章 第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件...

    PHP和MySQL WEB开发(第4版)

    6.10.8 实现迭代器和迭代 6.10.9 将类转换成字符串 6.10.10 使用Reflection(反射)API 6.11 下一章 第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件商店应用...

    PHP和MySQL Web开发第4版

    6.10.8 实现迭代器和迭代 6.10.9 将类转换成字符串 6.10.10 使用Reflection(反射)API 6.11 下一章 第7章 错误和 异常处理 7.1 异常处理的概念 7.2 Exception类 7.3 用户自定义异常 7.4 Bob的汽车零部件...

    互联网创意产品众筹平台

    │ 11-附录1.JS中局部变量和全局变量区别 │ d( L, Z2 p" ] ├─众筹项目-第05天《Atcrowdfunding》) A% ]3 K. N. T& e) [7 J │ ├─代码 │ ├─笔记 │ └─视频2 @8 e5 L% ~) b6 _) f. H: i │ 1-用户管理模块-...

Global site tag (gtag.js) - Google Analytics