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

在JavaScript中,打印功能是常见的需求,特别是在Web应用中。本文主要探讨了如何利用JavaScript以及WebBrowser控件来解决Web打印问题,包括隐藏不想打印的页面元素和后台打印的实现。 我们要理解JS中的打印功能通常是通过调用`window.print()`函数来实现的。这个函数会打开浏览器的默认打印对话框,允许用户选择打印机和打印设置。然而,有时候我们可能希望自定义打印行为,比如去除页眉、页脚,或者隐藏某些特定的页面元素。 为了去掉页眉和页脚,可以通过修改注册表来实现。在VBScript部分,可以看到两个函数:`pagesetup_null`和`pagesetup_default`。这两个函数分别用于设置网页打印时的页眉和页脚为空,以及恢复到默认值。它们通过创建`WScript.Shell`对象并调用`RegWrite`方法来写入注册表键值,这些键值对应于Internet Explorer的PageSetup设置。 在JavaScript部分,定义了两个函数:`printpr`和`printTure`。`printpr`函数用于预览打印,它首先模拟点击了页面上的"清空页眉页脚"按钮("qingkongyema"),然后隐藏了不需要打印的元素("dayinDiv")。接下来,它通过插入WebBrowser控件并调用`ExecWB`方法执行打印命令,`OLECMDID`参数为7表示打印操作,`PROMPT`参数为1表示显示打印对话框。函数恢复了隐藏元素的显示状态,以便用户在预览后可以继续操作。 `printTure`函数则直接执行打印,与`printpr`相似,但它没有调用`ExecWB`,而是使用`window.print()`,这会立即启动打印过程,无需用户确认。 WebBrowser控件是一个ActiveX控件,通常在Internet Explorer中使用,它可以嵌入到HTML页面中,提供浏览网页的功能。在本例中,它被用来执行后台打印,即在不显示打印对话框的情况下直接进行打印。通过在文档末尾动态插入WebBrowser控件,然后调用`ExecWB`方法,可以实现在无用户交互的情况下执行打印。 总结一下,解决Web打印问题的关键在于: 1. 使用JavaScript的`window.print()`或通过WebBrowser控件的`ExecWB`执行打印操作。 2. 隐藏不想打印的元素,通过改变CSS的`display`属性实现。 3. 修改注册表来控制打印的页眉和页脚。 4. 利用VBScript与注册表交互,设置打印选项。 对于后台打印的需求,可以使用WebBrowser控件,并通过`ExecWB`方法的适当参数来避免显示打印对话框。需要注意的是,这种方法可能只适用于支持ActiveX控件的环境,如Internet Explorer,对于其他现代浏览器可能不适用。在跨浏览器的解决方案中,可能需要寻找其他策略,如使用CSS媒体查询来控制打印样式,或者使用专门的打印库。

































剩余10页未读,继续阅读

- xiaohu20032016-01-11用着不错,谢谢!
- zain.wang2016-07-08网上那么多,都会弹出打印机选项,这个也不例外,相当于JS:window.print
- 普通网友2018-05-02很好用,完美啊
- moyuan1202015-04-30有点乱,不过还好能使用啦,谢谢
- airycanon2016-10-14看上去还可以,不过为啥不搞个 demo,用 word 看上去怪怪的。

- 粉丝: 47
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电子科技16春《电子商务与现代物流》在线作业1.doc
- 网络视频监控系统设计方案-公共场所其他.docx
- 第三章网络经济的新经济特性.ppt
- Windows-到-Linux-之旅.doc
- 大数据环境下面向知识服务的数据清洗研究.docx
- 西门子PLC在五层电梯中的应用.doc
- 【精选】2018简约大气互联网科技行业工作计划总结报告模板ppt模板.pptx
- ruoyi-react-Typescript资源
- 中国互联网金融监管问题初探.docx
- 沈阳工业大学机械设计制造及其自动化专业自考介绍.doc
- 聚焦信息化提高军校任职教育教学质量.docx
- WindowR防火墙的开启与web工程的访问配置.docx
- 基于PLC的温度控制系统方案设计书.doc
- 简单的C程序设计.doc
- excelize-Go资源
- 矩阵的奇异值分解在数字图像处理的应用.doc


