`
shirlly
  • 浏览: 1624786 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

JavaScript实现网页打印,可设置页眉、页脚、页边距

阅读更多
WebBrowser是IE内置的浏览器控件,无需用户下载,即可实现客户端页面打印。

关于这个组件还有其他的用法,列举如下:
1.WebBrowser.ExecWB(1,1) 打开    
2.Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口    
3.Web.ExecWB(4,1) 保存网页    
4.Web.ExecWB(6,1) 打印    
5.Web.ExecWB(7,1) 打印预览    
6.Web.ExecWB(8,1) 打印页面设置    
7.Web.ExecWB(10,1) 查看页面属性    
8.Web.ExecWB(15,1) 好像是撤销,有待确认    
9.Web.ExecWB(17,1) 全选    
10.Web.ExecWB(22,1) 刷新    
11.Web.ExecWB(45,1) 关闭窗体无提示  

注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:

打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用。
1.<SCRIPT language=javascript>   
2.var HKEY_Root,HKEY_Path,HKEY_Key;    
3.HKEY_Root="HKEY_CURRENT_USER";    
4.HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";    
5.var head,foot,top,bottom,left,right;   
6.  
7.//取得页面打印设置的原参数数据   
8.function PageSetup_temp() {   
9.    try    
10. {    
11.  var Wsh=new ActiveXObject("WScript.Shell");    
12.  HKEY_Key="header";    
13.//取得页眉默认值   
14.  head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);    
15.  HKEY_Key="footer";    
16.//取得页脚默认值   
17.  foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);    
18.  HKEY_Key="margin_bottom";    
19.//取得下页边距   
20.  bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);    
21.  HKEY_Key="margin_left";    
22.//取得左页边距   
23.  left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);    
24.  HKEY_Key="margin_right";    
25.//取得右页边距   
26.  right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);    
27.  HKEY_Key="margin_top";    
28.//取得上页边距   
29.  top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);    
30. }    
31. catch(e){   
32.    alert("不允许ActiveX控件");   
33. }    
34.}   
35.  
36.//设置网页打印的页眉页脚和页边距   
37.function PageSetup_Null()    
38.{    
39. try    
40. {    
41.  var Wsh=new ActiveXObject("WScript.Shell");    
42.  HKEY_Key="header";    
43.//设置页眉(为空)   
44.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");    
45.  HKEY_Key="footer";    
46.//设置页脚(为空)   
47.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");    
48.  HKEY_Key="margin_bottom";    
49.//设置下页边距(0)   
50.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");    
51.  HKEY_Key="margin_left";    
52.//设置左页边距(0)   
53.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");    
54.  HKEY_Key="margin_right";    
55.//设置右页边距(0)   
56.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");    
57.  HKEY_Key="margin_top";    
58.//设置上页边距(8)   
59.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"8");    
60. }    
61. catch(e){   
62.    alert("不允许ActiveX控件");   
63. }    
64.}    
65.//设置网页打印的页眉页脚和页边距为默认值    
66.function  PageSetup_Default()    
67.{      
68. try    
69. {    
70.  var Wsh=new ActiveXObject("WScript.Shell");    
71.  HKEY_Key="header";    
72.  HKEY_Key="header";    
73.//还原页眉   
74.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head);    
75.  HKEY_Key="footer";    
76.//还原页脚   
77.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot);    
78.  HKEY_Key="margin_bottom";    
79.//还原下页边距   
80.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom);    
81.  HKEY_Key="margin_left";    
82.//还原左页边距   
83.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left);    
84.  HKEY_Key="margin_right";    
85.//还原右页边距   
86.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right);    
87.  HKEY_Key="margin_top";    
88.//还原上页边距   
89.  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top);    
90. }   
91. catch(e){   
92.    alert("不允许ActiveX控件");   
93. }   
94.}   
95.  
96.function printorder()   
97.{   
98.        PageSetup_temp();//取得默认值   
99.        PageSetup_Null();//设置页面   
100.        factory.execwb(6,6);//打印页面   
101.        PageSetup_Default();//还原页面设置   
102.        //factory.execwb(6,6);   
103.        window.close();   
104.}   
105.  
106.</script>   
107.<OBJECT id=factory height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>  


转自:http://tiwson.iteye.com/blog/617976
分享到:
评论

相关推荐

    js打印设置页边距

    js打印设置页边距,设置页眉页脚,初始化页眉页脚,左右边距

    ReYoPrint.zip_ReYoPrint _activex_reyoprint.cab_web 票据打印_套打

    ReYoPrint内含一个在vc7.0上开发的ActiveX控件(73k), 这个控件主要实现对打印参数的控制,ReYoPrint使用户通过JavaScript脚本可以控制分页,页眉页脚,页边距,打印方向,自定义纸张,直接打印,弹出打印对话框再...

    ReYoPrint web打印控件

    ReYoPrint内含一个在vc7.0上开发的ActiveX控件(73k), 这个控件主要实现对打印参数的控制,ReYoPrint使用户通过JavaScript脚本可以控制分页,页眉页脚,页边距,打印方向,自定义纸张,直接打印,弹出打印对话框再...

    转贴ReYoPrint (锐洋WEB打印控件)是一款实现网页套打的专用工具

    ReYoPrint是一个ActiveX WEB打印控件(96k,支持windows7及IE8,带数字签名), 这个控件主要实现对打印参数的控制,ReYoPrint使用户通过JavaScript脚本可以控制分页,页眉页脚,页边距,打印方向,自定义纸张,直接...

    WEB直接打印js源码

    在js中真接设置打印页面,页眉,页脚,页边距。A4纸直接打印。

    Web打印控件Lodop+JavaScript

    控制多种打印设置。程序员可以通过控件进行多项设置,包括设置打纸的页边距,页眉页脚,纸张大小等。 WEB套打可选方案不多,理想的更少,利用控Lodop+JavaScript实现精确套打,算是较为经典的选择。

    免费web打印控件 V1.88

    ePrint内含一个在vc7.0上开发的ActiveX控件(180k), 这个控件主要实现对打印参数的控制,eprint使用户通过JavaScript脚本可以控制自定义纸张尺寸,打印方向,页边距,打印份数,页眉,页脚,web打印分页等等属性 ...

    锐洋Java Web打印控件

    ePrint内含一个在vc7.0上开发的ActiveX控件(180k), 这个控件主要实现对打印参数的控制,eprint使用户通过JavaScript脚本可以控制自定义纸张尺寸,打印方向,页边距,打印份数,页眉,页脚,web打印分页等等属性 ...

    web打印控件(免费的哦,带一个例子页面)

    简介:这是B/S应用打印控件DLPrinter使用介绍的详细页面,介绍了和javascript,Web综合 B/S应用打印控件DLPrinter使用介绍有关的知识,加入收藏请按键盘ctrl+D,要查看更多相关信息,请点击此处 项目中用到页面打印...

    web-ext-experiment-printservice:提出“ printservice” JavaScript API的网络扩展实验

    API必须提供具有以下功能的自定义打印过程的功能:-页眉/页脚-媒体格式-页边距-静默打印(无打印对话框)-范围打印-输出格式-打印到文件-打印到不同的打印机 通常,所有功能都是通过接口提供的。 可以从已授予...

    pdfmake:使用纯JavaScript的Clientserver端PDF打印

    访问当前页码和页数, 背景层页面尺寸和方向, 边距自定义分页符字体嵌入, 支持复杂的多层(嵌套)结构, 目录, 打开/打印/下载生成的PDF的辅助方法, PDF元数据的设置(例如作者,主题)。文献资料文档URL: : ...

    HTML5与CSS3基础教程(第8版)高清文字

    11.8 在元素周围添加内边距 217 11.9 设置边框 219 11.10 设置元素周围的外边距 222 11.11 使元素浮动 224 11.12 控制元素浮动的位置 226 11.13 对元素进行相对定位 230 11.14 对元素进行绝对...

    vue-document-editor:适用于Vue应用程序的纸张大小的所见即所得文档编辑器

    vue-document-editor是一个基于构建的富文本编辑器,它使用本机可编辑浏览器实现和一些JavaScript将内容分布在纸张大小的页面上。 它的主要目的是允许使用HTML或交互式模板对预先格式化的文档进行有针对性的修改。 :...

    pdfmake-arabic

    页眉和页脚: 静态或动态内容, 访问当前页码和页数, 背景层 页面尺寸和方向, 边距 自定义分页符 字体嵌入, 支持复杂的多层(嵌套)结构, 目录, 打开/打印/下载生成的PDF的辅助方法, PDF元数据的设置(例如...

    BaseballGame:201个最终项目的棒球游戏

    棒球比赛 201项目的棒球比赛 ... 即添加标题,输入的占位符和按钮。 同时设置背景图片。 下一步: 创建记分牌(球罢工)和猜测历史的占位符。 添加锚点,以了解如何在页脚上进行排名...将页脚移到页眉以实现更好的可视化

Global site tag (gtag.js) - Google Analytics