`
bh三少
  • 浏览: 101144 次
  • 性别: Icon_minigender_1
  • 来自: 北海
社区版块
存档分类
最新评论

IE下利用js实现打印功能

阅读更多

这主要是用到了IE的一个内置插件,在html代码的<head>中加入这句:

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

 这就是IE的内置插件。
然后需要写一个样式,来表明不需要打印的地方,如下:

<style type="text/css" media=print>
 .noprint{display : none;}
</style>

 最后写几个js函数,分别实现打印、打印预览、打印设置等功能:

//打印
function doPrint() {
 wb.execwb(6,1);
}
//打印预览
function doPrintView() {
 wb.execwb(7,1);
}
//打印设置
function doPrintSetting() {
 wb.execwb(8,1);
}

 在页面调用这几个函数就可以了。
还有另外一种方法,就是调用window.print(),直接调用window.print()这个方法就会打印整个网页了,如果想打印自己需要的内容,就需要做一些处理:
先获得body的内容:

bodyContent = window.document.body.innerHTML;

 获得需要打印的内容,这个内容可以用特殊的标识符来区分:

printContent = bodyContent.substr(bodyContent.indexOf(printStart)+"<!-- start -->".length);
printContent = printContent.substring(0,printContent.indexOf("<!-- end -->"));
window.document.body.innerHTML = printContent;
window.print();
分享到:
评论
1 楼 July01 2017-09-27  

最近了解到一款StratoIO打印控件,
功能如下:1、Html友好的打印方式
2、兼容主流浏览器
3、灵活配置的任务
4、交互式打印支持
5、丰富的管理面板和接口
6、个性化服务
浏览器和系统的兼容性都很好,而且不会崩溃。参考http://webprint.stratoio.com/features

相关推荐

    ASP.NET开发实战1200例(第Ⅰ卷)第十二章

    实例311 调用IE自身打印功能实现打印 490 实例312 用WebBrowser组件的execWB方法 进行打印 491 实例313 利用JavaScript获取焦点并且打印 框架中内容 492 实例314 智能放大或者缩小图片后进行打印 494 实例315 清空...

    利用WebBrowser彻底解决Web打印问题(包括后台打印)

    【利用WebBrowser彻底解决Web打印问题(包括后台打印) 】利用WebBrowser彻底解决Web打印问题(包括后台打印)BS架构下的打印大家是怎么解决的呢,我最近作了一个项目正好负责这一块,不仅要求打印页面的特定部分,...

    利用jqprint插件打印页面内容的实现方法

    客户需要在页面有一个打印按钮,点击之后可以打印Echarts图表的内容以及文字提示信息,经谷歌搜索发现,实现方法大概有三种之多,其他两种不太熟悉,而采用的这种打印方式是一个在jQuery的基本上开发的一个print插件...

    Web打印技术总结.pdf

    在打印操作的实现方面,IE 直接打印是最常用的方式。这种方式可以通过直接调用 window.print 或者 webrower 控件的 ExecWB 方法来打印。优点是方便快捷,客户端无需任何设置即可。但是,打印控制不是很灵活。如果...

    javascript网页特效实例大全(8-12)

    实例291 调用IE自身的打印功能实现打印 460 实例292 打印指定框架中的内容 461 实例293 利用WebBrowser打印 462 实例294 设置页眉页脚 463 11.2 利用Word打印报表 465 实例295 将页面中的表格导出到Word...

    js使用小技巧

    Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...

    利用Js的console对象,在控制台打印调式信息测试Js的实现

    既然可以这样在控制台输出信息,那以后再调试Js的时候不就可以省去很多麻烦了嘛!避免不误人子弟,特意使用for(var i in console)查看了下各种浏览器控制台对console的支持, 结果如下: IE 11 控制台 log , info , ...

    JavaScript网页特效范例宝典源码

    实例291 调用IE自身的打印功能实现打印 460 实例292 打印指定框架中的内容 461 实例293 利用WebBrowser打印 462 实例294 设置页眉页脚 463 11.2 利用Word打印报表 465 实例295 将页面中的表格导出到Word并打印 465 ...

    javascript常用对象梳理

    功能:该属性包含当前窗口的标志,利用这个属性,可以保证在多个窗口被打开 的情况下,正确调用当前窗口内的函数或属性而不会发生混乱。 9. name属性 语法格式: window.name=名称 功能:返回窗口名称,这个...

    多功能点评系统网站源码 v2.6 GBK.zip

    较少系统数据库资源消耗 支持本地和JS方式调用数据 插件功能 利用插件接口可丰富系统功能 集成提供多个插件(图片轮换,网站公告) 系统整合 万能整合API,可与任何PHP程序进行整合 整合UCenter(账户,短信,好友,...

    asp.net知识库

    SharpRewriter:javascript + xml技术利用#实现url重定向 采用XHTML和CSS设计可重用可换肤的WEB站点 asp.net的网址重定向方法的比较:面向搜索引擎友好 也谈 ASP.NET 1.1 中 QueryString 的安全获取写法 ASP.NET运行...

    用友华表CELL插件Demo

    Cell 插件用于开发B/S结构程序,使用Asp, Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 • 具备Cell组件的所有特色...

    vc++ 开发实例源码包

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

    Highcharts-Maps-8.1.2.zip

    Highmaps 继承了 Highcharts 简单易用的特性,利用它可以方便快捷的创建用于展现销售、选举结果等其他与地理位置关系密切的交互性地图图表。 Highmaps 可以单独使用,也可以作为 Highcharts 的一个组件来使用。 ...

    vc++ 应用源码包_1

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

    vc++ 应用源码包_2

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

    vc++ 应用源码包_6

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

Global site tag (gtag.js) - Google Analytics