WebBrowser控件实战:解决Web页面打印难题(含后台批量打印)

3星 · 超过75%的资源 需积分: 33 149 下载量 140 浏览量 更新于2024-09-18 1 收藏 46KB DOC 举报
本文档详细介绍了如何利用Windows Internet Explorer (IE) 内置的WebBrowser控件彻底解决Web页面的打印问题,包括前台显示后打印、隐藏不想打印的页面元素、分页设置以及后台批量打印。以下是文章的关键知识点: 1. **WebBrowser控件的使用**: - 在网页中嵌入WebBrowser控件,可通过HTML `<object>`标签或JavaScript动态添加。ID可以设置为"WebBrowser",用于后续调用其打印功能。 - 使用`ExecWB`方法执行打印操作,通过参数指定打印(6)、页面设置(8)或打印预览(7)。 2. **页面设置与打印预览**: - `document.all.WebBrowser.ExecWB(6, 6)`直接调用打印。 - `document.all.WebBrowser.ExecWB(8, 1)`执行页面设置。 - `document.all.WebBrowser.ExecWB(7, 1)`或`execScript("document.all.WebBrowser.ExecWB 7, 1","VBScript")`用于打印预览。 3. **隐藏不想打印的元素**: - 使用CSS的`@media print`规则,定义`.Noprint`类将元素隐藏,不会在打印中显示。 - 对分页,添加`.PageNext`类并在适当位置插入`<div>`标签。 4. **打印特定页面区域**: - 创建一个独立页面,放入主页面的IFrame中,然后针对IFrame调用打印方法,只打印IFrame内的内容。 5. **后台打印**: - 通过隐藏的IFrame实现,页面通过URL加载并打印,`printHidden`函数负责创建IFrame、加载页面并触发打印。 6. **JavaScript辅助函数**: - 如`printIsNativeSupport`检测浏览器是否原生支持打印,`printFireEvent`和`printGetEventScope`处理事件和范围。 通过以上步骤,开发者可以有效地利用WebBrowser控件解决各种复杂的Web打印需求,包括自定义页面布局和控制打印行为。这种方法不需要用户额外安装插件,兼容性较好,适合在Web开发中广泛应用。
2006-02-23 上传
网页自由打印控件使用方法功能:本控件可以在浏览器中直接实现任意定位打印;用途:适用于B/S系统的报表打印,尤其适用于票据打印和套打;现在这个新编写的DLL控件比以前发布的OCX更稳定使用前,先注册一下,运行目录下的“注册控件.bat”即可注册然后在网页中直接调用卸载时运行“反注册控件.bat”使用方法:在网页中可以直接用JavaScript和VBScript调用被控件JavaScript调用语句:TML = new ActiveXObject("TML.TMLi");VBScript调用语句:set TML=CreateObject("TML.TMLi") ‘创建对象,DLL库名为TML,其中TMLi为对象控件中包含两个函数addTXT "作者,字体,字号,X坐标,Y坐标,文字"p dmPaperWidth文档宽,dmPaperLength文档长addTXT语句为添加文字到打印文档中,参数有"作者,字体,字号,X坐标,Y坐标,文字"p语句为打印函数,格式:dmPaperWidth文档宽,dmPaperLength文档长以下为完整的VBScript打印程序:(查看源代码) <script language="vbscript">set TML=CreateObject("TML.TMLi") ‘创建对象,DLL库名为TML,其中TMLi为对象TML.addTXT "李天盟,华文中宋,24,100,200,额外认为" ‘本addTXT语句为添加文字到打印文档中TML.addTXT "李天盟,华文中宋,12,110,300,额外认为" ‘格式为"作者,字体,字号,X坐标,Y坐标,文字"TML.addTXT "李天盟,华文中宋,12,120,320,┏━━━━━━━━━━━━━━━━┓"TML.addTXT "李天盟,华文中宋,12,120,325,┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ "TML.p 3000,2000 ‘语句p为打印函数,格式:dmPaperWidth文档宽,dmPaperLength文档长set TML=nothing</script>