IE调用WebBrowser控件实现WEB打印、分页打印、无预览打印
WebBrowser控件 WebBrowser ActiveX 控件提供托管的包装。 托管的包装便可以在 Windows 窗体客户端应用程序中显示网页。 你可以使用WebBrowser控件重复中你的应用程序或你的 Internet Explorer Web 浏览功能可以禁用默认 Internet 资源管理器功能和控件用作简单的 HTML 文档查看器。 你可以使用控件以将基于 DHTML 的用户界面元素添加到你的窗体和隐藏它们是否承载在事实WebBrowser控件。 这种方法,可以无缝组合与单个应用程序中的 Windows 窗体控件的 Web 控件。
1.调用 WebBrowser 控件代码,其中style="display: none;" 是因为打印时如果没隐藏会出现空白,将下面代码放入body下
<OBJECT id=WebBrowser style="display: none;" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 ></OBJECT>
2.设置打印页眉页脚边距等等参数
//设置打印页眉页脚等
function pageSetup() { var hkey_root, hkey_path, hkey_key; hkey_root = "HKEY_CURRENT_USER"; hkey_path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; try { var RegWsh = new ActiveXObject("WScript.Shell"); hkey_key = "header"; //页眉RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, ""); hkey_key = "footer"; //页脚RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");hkey_key = "margin_left"; //左边距RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0");hkey_key = "margin_bottom"; //下边距RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0");hkey_key = "margin_top"; //上边距RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0");hkey_key = "margin_right"; //右边距RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0");} catch (e) { }
}
3.打印选定部分设置CSS
<style media="screen">.noVisable{display:none;}
</style>
<style media="print">.noPrint{display:none;}
</style>
4.使用CSS方法
//页面不显示-打印显示:class='noVisable' , 如果想又显示又打印,去掉CLASS属性即可<center class='noVisable'><input type=button class='noPrint' value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)><input type=button class='noPrint' value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6) /><input type=button class='noPrint' value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1) /><input type=button class='noPrint' value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1) />
</center>//页面显示-打印隐藏:class='noPrint'
<center class='noPrint'><input type=button class='noPrint' value=打印(选择打印机) onclick=document.all.WebBrowser.ExecWB(6,1)><input type=button class='noPrint' value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6) /><input type=button class='noPrint' value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1) /><input type=button class='noPrint' value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1) />
</center>
5.分页打印,加入以下标签。 或者写成CSS引用,方法很多看自己喜欢
<p style='page-break-before:always;'>
IE调用WebBrowser控件实现WEB打印、分页打印、无预览打印相关推荐
- 基于http请求web打印组件,实现浏览器、移动端、服务端无预览打印
打印功能在项目开发中比较常用,尤其是工业级应用十分广泛,且无预览打印,而因浏览器安全机制,无法直接实现无预览打印,根据项目需求,做了一个打印的插件,可以实现无预览打印,且模板调整十分便捷 环境:Bar ...
- jeecg实现无预览打印
jatoolprint官网地址:收费版:http://print.jatools.com/ 免费版: http://printfree.jatools.com/ 代码结构如下: 打印效果如下(因为免 ...
- linux qt 打印预览控件,Qt实现保存、浏览、预览、打印功能的示例代码
Qt提供了以文本.图片.HTML等方式来实现对文档的操作,主要用到了QPrinter类和QPainter类,用到了QFileDialog文件窗口.QPrintPreviewDialog预览窗口类和QP ...
- lodop web打印 vue项目 无预览直接打印
封装 LodopFuncs.js var CreatedOKLodop7766=null;//====判断是否需要安装CLodop云打印服务器:==== export function needCLo ...
- Android通过系统打印功能实现PDF预览打印
一. 简介 Android4.4(KitKat,api-19)系统内置了打印框架,通过安装对应打印机的打印插件,就可以容易实现打印功能: 关于 图片.webview.layout及截屏相关的打 ...
- java pdf预览打印_Android实现PDF预览打印功能
最近在做一个项目,需要用到android手机连接打印机进行打印的功能,目前在网上找到的教程介绍的都是蓝牙连接热敏打印机(pos机大小的打印机)和蓝牙打印机,如果连接日常所见到的网络打印机,进行打印,很 ...
- 控制 WebBrowser 控件的外观和行为
控制 WebBrowser 控件的外观和行为 2011-03-23 09:33 在 CSDN 上经常看到以下两个问题: 1.在 MFC 应用程序中,如果创建了一个 WebBrowser 控件(包括 C ...
- 用 .Net WebBrowser 控件获取POST数据
用 .Net WebBrowser 控件获取POST数据 很多应用中,开发者需要自己构建一个浏览器,并且对通过这个浏览器提交的请求进行截获,比如用户通过这个浏览器浏览了一个网页,并向网站提交( ...
- IE内置的WebBrowser控件之--WEB打印
本文主要使用了IE内置的WebBrowser控件,无需用户下载和安装.WebBrowser有很多功能,除打印外的其他功能就不再赘述了,你所能用到的打印功能也几乎全部可以靠它完成,下面的问题就是如何使用 ...
最新文章
- 苹果微信更新不了最新版本_微信版本又双叒叕更新了,这个功能正式下线
- 20165206 2017-2018-2 《Java程序设计》第三周学习总结
- 【原创】modb 功能设计之“跨线程通信”
- shell-1.shell注释
- java校验码的设计_Java动态验证码单线设计的两种方法
- [翻译] WindowsPhone-GameBoy模拟器开发二--Rom文件分析
- 【安富莱二代示波器教程】第8章 示波器设计—测量功能
- 离线环境安装dotnet framework nuget包
- 基于Axis1.4的webservice接口开发(环境搭建)
- 专访Virtu创始人Doug Cifu:找到你做得最好的那件事,反复做!
- 线程Java的两种方式_[转载]Java线程的两种实现方式
- LeaRun.Java快速开发平台 高效代码自动化生成
- oracle 裸设备使用方法,Linux上如何使用裸设备
- 【Web安全从入门到放弃】02_跨站脚本漏洞
- 计算机编程那个好学点,计算机编程好学吗?
- 提问:微信网页授权到第三方调用错误、调用微信公众号扫码登陆错误、微信SCOP权限错误或没有权限
- undefined is not a function错误解决
- K8S 多 Maser 集群架构和 Dashboard UI 的二进制部署
- socket 5协议详解
- X86-64指令解析
热门文章
- 将 MySQL安装在U盘中实现随时开发
- 用于退出access的宏命令是_access2007 宏_access创建宏_退出access的宏命令(2)
- gcc/g++命令参数中文帮助手册
- [yotroy.cool]给博客配置botui添加对话交互框架-以halo博客为例
- 计算机基础知识大眼睛,大眼睛的说说 描写大眼睛的句子
- c盘里面java能不能删_c盘中的哪些文件不能删除?
- Linux中的Shell用SSH自动登录远程服务器后执行命令并自动退出
- mysql中net start mysql57出现服务无法启动显现
- 陷入“产品纠结”的王振滔,与学不来波司登的奥康
- Wind-Up Knight:发条骑士冒险记