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打印、分页打印、无预览打印相关推荐

  1. 基于http请求web打印组件,实现浏览器、移动端、服务端无预览打印

    打印功能在项目开发中比较常用,尤其是工业级应用十分广泛,且无预览打印,而因浏览器安全机制,无法直接实现无预览打印,根据项目需求,做了一个打印的插件,可以实现无预览打印,且模板调整十分便捷 环境:Bar ...

  2. jeecg实现无预览打印

    jatoolprint官网地址:收费版:http://print.jatools.com/ 免费版:  http://printfree.jatools.com/ 代码结构如下: 打印效果如下(因为免 ...

  3. linux qt 打印预览控件,Qt实现保存、浏览、预览、打印功能的示例代码

    Qt提供了以文本.图片.HTML等方式来实现对文档的操作,主要用到了QPrinter类和QPainter类,用到了QFileDialog文件窗口.QPrintPreviewDialog预览窗口类和QP ...

  4. lodop web打印 vue项目 无预览直接打印

    封装 LodopFuncs.js var CreatedOKLodop7766=null;//====判断是否需要安装CLodop云打印服务器:==== export function needCLo ...

  5. Android通过系统打印功能实现PDF预览打印

    一.     简介 Android4.4(KitKat,api-19)系统内置了打印框架,通过安装对应打印机的打印插件,就可以容易实现打印功能: 关于 图片.webview.layout及截屏相关的打 ...

  6. java pdf预览打印_Android实现PDF预览打印功能

    最近在做一个项目,需要用到android手机连接打印机进行打印的功能,目前在网上找到的教程介绍的都是蓝牙连接热敏打印机(pos机大小的打印机)和蓝牙打印机,如果连接日常所见到的网络打印机,进行打印,很 ...

  7. 控制 WebBrowser 控件的外观和行为

    控制 WebBrowser 控件的外观和行为 2011-03-23 09:33 在 CSDN 上经常看到以下两个问题: 1.在 MFC 应用程序中,如果创建了一个 WebBrowser 控件(包括 C ...

  8. 用 .Net WebBrowser 控件获取POST数据

    用 .Net WebBrowser 控件获取POST数据     很多应用中,开发者需要自己构建一个浏览器,并且对通过这个浏览器提交的请求进行截获,比如用户通过这个浏览器浏览了一个网页,并向网站提交( ...

  9. IE内置的WebBrowser控件之--WEB打印

    本文主要使用了IE内置的WebBrowser控件,无需用户下载和安装.WebBrowser有很多功能,除打印外的其他功能就不再赘述了,你所能用到的打印功能也几乎全部可以靠它完成,下面的问题就是如何使用 ...

最新文章

  1. 苹果微信更新不了最新版本_微信版本又双叒叕更新了,这个功能正式下线
  2. 20165206 2017-2018-2 《Java程序设计》第三周学习总结
  3. 【原创】modb 功能设计之“跨线程通信”
  4. shell-1.shell注释
  5. java校验码的设计_Java动态验证码单线设计的两种方法
  6. [翻译] WindowsPhone-GameBoy模拟器开发二--Rom文件分析
  7. 【安富莱二代示波器教程】第8章 示波器设计—测量功能
  8. 离线环境安装dotnet framework nuget包
  9. 基于Axis1.4的webservice接口开发(环境搭建)
  10. 专访Virtu创始人Doug Cifu:找到你做得最好的那件事,反复做!
  11. 线程Java的两种方式_[转载]Java线程的两种实现方式
  12. LeaRun.Java快速开发平台 高效代码自动化生成
  13. oracle 裸设备使用方法,Linux上如何使用裸设备
  14. 【Web安全从入门到放弃】02_跨站脚本漏洞
  15. 计算机编程那个好学点,计算机编程好学吗?
  16. 提问:微信网页授权到第三方调用错误、调用微信公众号扫码登陆错误、微信SCOP权限错误或没有权限
  17. undefined is not a function错误解决
  18. K8S 多 Maser 集群架构和 Dashboard UI 的二进制部署
  19. socket 5协议详解
  20. X86-64指令解析

热门文章

  1. 将 MySQL安装在U盘中实现随时开发
  2. 用于退出access的宏命令是_access2007 宏_access创建宏_退出access的宏命令(2)
  3. gcc/g++命令参数中文帮助手册
  4. [yotroy.cool]给博客配置botui添加对话交互框架-以halo博客为例
  5. 计算机基础知识大眼睛,大眼睛的说说 描写大眼睛的句子
  6. c盘里面java能不能删_c盘中的哪些文件不能删除?
  7. Linux中的Shell用SSH自动登录远程服务器后执行命令并自动退出
  8. mysql中net start mysql57出现服务无法启动显现
  9. 陷入“产品纠结”的王振滔,与学不来波司登的奥康
  10. Wind-Up Knight:发条骑士冒险记