IE 自带的打印组件,WebBrowser,简单的解决B/S项目的打印解决方案,分页打印,打印预览


 在使用下面的语句时最好Try{}catch(e){}一下以为5.5以上的IE才可以使用

以下的内容在IE6 7 上测试过 ok  FF下测试有问题

注意,以下的方法调用 在IE6下,可以加括号,在IE7下不能加括号

为了方便最好都不要加括号

<script type=text/javascript> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </script>
  1. WebBrowser.ExecWB(1,1) 打开
  2. WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
  3. WebBrowser.ExecWB(4,1) 保存网页
  4. WebBrowser.ExecWB(6,1) 打印
  5. WebBrowser.ExecWB(7,1) 打印预览
  6. WebBrowser.ExecWB(8,1) 打印页面设置
  7. WebBrowser.ExecWB(10,1) 查看页面属性
  8. WebBrowser.ExecWB(15,1) 好像是撤销,有待确认
  9. WebBrowser.ExecWB(17,1) 全选
  10. WebBrowser.ExecWB(22,1) 刷新
  11. WebBrowser.ExecWB(45,1) 关闭窗体无提示

 

其中最后一项WebBrowser.ExecWB(45,1)可以有效解决IE7下,使用

WebBrowser.ExecWB(7,1)执行打印预览后返回到原窗口时,window.close()方法失效的问题。

  1. <style media="print" type="text/css"
  2. .Noprint{display:none;} 
  3. .PageNext{page-break-afteralways;} 
  4. </style>
    然后给不想打印的页面元素添加: class="Noprint" ,那就不会出现在打印和打印预览中了。
    想分页的地方添加:  <div class="PageNext></div>就可以了。


  1. <div class="PageNext">
  2. 打印的内容 第一页
  3. </div>
  4. <div class="PageNext">
  5. 打印的内容 第二页
  6. </div>
  7. <div class="PageNext">
  8. 打印的内容 第三页
  9. </div>

如果是预览则执行下面代码:

用临时窗口打开预览或打印的时候可以这样写

  1. WebBrowser.ExecWB(7,1); 
  2. window.opener=null
  3. window.close();

对于A4纸张,横打用920,竖打用640

<script type=text/javascript> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </script>


  1. 1、自动换行: 
  2. <style type="text/css"> 
  3. .AutoNewline 
  4. word-break: break-all;/*必须*/ 
  5. </style> 
  6. <table> 
  7. <tr> 
  8. <td class="AutoNewline">自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行自动换行</td> 
  9. </tr> 
  10. </table> 
  11. 2、不换行: 
  12. <style type="text/css"> 
  13. .NoNewline 
  14. word-break: keep-all;/*必须*/ 
  15. </style> 
  16. <table> 
  17. <tr> 
  18. <td class="NoNewline">不换行不换行不换行不换行不换行不换行不换行不换行不换行不换行</td> 
  19. </tr> 
  20. </table> 
页眉页脚的设置
google了一把发现都是用vsscript写的例子 不过我学过vb 所以可以看懂哈,但这个不影响你使用的,以下是代码
  1. <script language="VBScript"> 
  2. dim hkey_root,hkey_path,hkey_key 
  3. hkey_root="HKEY_CURRENT_USER" 
  4. hkey_path="/Software/Microsoft/Internet Explorer/PageSetup" 
  5. '//设置网页打印的页眉页脚为空 
  6. function pagesetup_null() 
  7. on error resume next 
  8. Set RegWsh = CreateObject("WScript.Shell") 
  9. hkey_key="/header" 
  10. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" 
  11. hkey_key="/footer" 
  12. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"" 
  13. end function 
  14. '//设置网页打印的页眉页脚为默认值 
  15. function pagesetup_default() 
  16. on error resume next 
  17. Set RegWsh = CreateObject("WScript.Shell") 
  18. hkey_key="/header" 
  19. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P" 
  20. hkey_key="/footer" 
  21. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d" 
  22. end function 
  23. </script> 
页眉页脚的一些参数用法
窗口标题 &w
网页地址 (URL) &u
短日期格式(由"控制面板"中的"区域设置"指定) &d
长日期格式(由"控制面板"中的"区域设置"指定) &D
当前页码 &p
总页数 &P
文本右对齐(后跟 &b) &b
文字居中(&b&b 之间) &b&b
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值