【利用WebBrowser彻底解决Web打印问题(包括后台打印) 】利用WebBrowser彻底解决Web打印问题(包括后台打印)BS架构下的打印大家是怎么解决的呢,我最近作了一个项目正好负责这一块,不仅要求打印页面的特定部分,还要求有后台的批量打印,在网上查了一些资料,最后终于解决了。抱着“取之于众 服务于众”的思想,我总结了一下,把它拿到网上来与大家分享,希望能帮助遇到类似问题的朋友。我主要使用了IE内置的WebBrowser控件,无需用户下载和安装。WebBrowser有很多功能,除打印外的其他功能就不再赘述了,你所能用到的打印功能也几乎全部可以靠它完成,下面的问题就是如何使用它了。先说显示后打印,后面说后台打印。1.首先引入一个WebBrowser在需要打印的页面,可以直接添加:到页面,或者使用JavaScript在需要的时候临时添加也可以:document.body.insertAdjacentHTML("beforeEnd","");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 属性,可以分开设置打印和显示的格式。如 … 中间的格式将只在打印时起作用,不会影响显示界面。所以可以设定.Noprint{display:none;}.PageNext{page-break-after: always;}然后给不想打印的页面元素添加: class="Noprint" ,那就不会出现在打印和打印预览中了。想分页的地方添加: 就可以了。4.打印页面的特定部分我是通过将需要打印的特定部分另建一个页面,然后装入主页面的一个IFrame中,再调用IFrame的打印方法,只打印IFrame中的内容实现的。如:下面的pringFrame js函数将只打印Iframe中的内容,可以直接引用使用,如printFrame(FrameId);window.print = printFrame;// main stufffunction printFrame(frame, onfinish) {if ( !frame ) frame = window;function execOnFinish() {switch ( typeof(onfinish) ) {case "string": execScript(onfinish); break;case "function": onfinish();}if ( focused && !focused.disabled ) focused.focus();}if (( frame.document.readyState !== "complete") &&( !frame.document.confirm("The document to print is not downloaded yet! Continue with printing?") )){execOnFinish();return;}var eventScope = printGetEventScope(frame);var focused = document.activeElement;window.printHelper = function() {execSc
1
基本思路:每份写到EEPRM的数据,都做三个备份,每个备份的数据都做CRC16校验,只要系统运行中出错,错误地修改了EEPROM数据,那么根据校验字节就知道哪个备份的数据被修改了,然后用正确的备份覆盖出错的备份,达到数据恢复的目的。
2021-07-26 14:33:42 60KB AVR单片机 EEPROM数据 丢失问题 文章
1
vector彻彻底底干干净净清理内存方法
2021-07-26 10:52:46 294B vector 内存
1
美容整形是大家非常关注的焦点,非常face是中国首款整容模拟软件,它源于专业美容整形医疗机构,你可以使它模拟出你预想的美丽面容,也可以当作是朋友之间的互动娱乐游戏,它还同时满足时尚美丽达人不断变换造型的需求并成为她们的心爱之选。 众多的功能更加专业。方便使用,让你得心应手。 屏幕上所有的图形对象都可以任意调整、任意旋转灵活性是一般软件望尘莫及的,所见既所得的屏幕效果让您更快捷的看到照片更改效果,使用既方便又不失灵活性,即使电脑初学者也能很快的掌握使用方法。你不再需要安装Photoshop之类复杂工具实现那些功能, 现在用这个软件就可以了! 安装/卸载介绍 -------------------- 请按以下步骤安装非常face: 1. 将安装包iface.exe拷贝到硬盘上, 如C:\temp下; 2. 双击它开始安装; 3. 按安装程序提示进行安装, 通常只需按缺省情况进行即可; 4. 安装完成后, 通过桌面上的图标或开始菜单启动程序. 请按以下步骤卸载iface: 1. 启动控制面板; 2. 选择"添加或删除程序"项; 3. 在程序清单中选定"iface"; 4. 按"更改/删除"键后再选择"删除"项即可.
2021-07-25 16:28:04 448KB 图像处理 美容 模拟
1
一键彻底关闭win10自动更新工具.zip
2021-07-22 09:00:58 1.91MB win10
1
C语言(彻底理解指针和地址,彻底!)
2021-07-20 15:46:19 36KB C语言 c指针
1
适合谷歌浏览器重装失效、卸载不干净的情况,先用控制面板卸载,然后双击.reg,重启即可
2021-07-17 20:26:27 2KB 谷歌卸载
1
万能U盘格式化工具(FormatTool): 不管什么牌子任意型号都可以格式化,本格式化工具界面非常的简单,就几个简单的按钮,当你觉得U盘用电脑上的格式化无效的时候就可以用本工具来解决,另外它也是可以选择无损转换到ntfs格式,还可以选择强制格式化,就算U盘写保护了,中病毒了,被其他启动工具导致容量不对了都可以用它来恢复实际大小
2021-07-16 12:21:38 465KB formatTool
1
新云 v3.0.0.518 高级企业版(所有组件已经彻底破解). 带破解组件。可采集软件到本地
2021-07-16 11:32:43 4.04MB 新云
1
亲测有用。windows install clean up,用于清除桌面系统、win10、win7等卸载不干净的内容。 运行方式,用管理员方式运行。 安装软件后,运行软件,选中需要删除项,remove即可
2021-07-13 13:00:11 310KB msicuu 彻底清除软件残留文件
1