`
shirlly
  • 浏览: 1646536 次
  • 性别: 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 iframe 打印 打印预览 页眉页脚的设置

    以上就是使用JavaScript和iframe实现打印预览及自定义页眉页脚的基本步骤。需要注意的是,不同浏览器对CSS打印规则的支持程度可能会有所不同,因此在实际应用中可能需要进行兼容性处理。同时,对于复杂的需求,如...

    js打印设置页边距

    本文将深入探讨如何使用JavaScript来调整打印时的页边距,设置或重置页眉页脚,以及如何初始化这些设置为默认值。 ### 一、了解打印设置的基本概念 在讨论具体实现之前,我们首先需要理解打印设置的一些基本概念:...

    scriptx smsxweb打印去页眉 页脚

    通过ScriptX,开发者可以精确地控制打印输出,包括设置纸张大小、方向、页边距以及删除不必要的页眉和页脚。对于那些希望在打印文档时去除默认的页码、日期或其他打印元素的用户,ScriptX提供了必要的API来实现这一...

    javascript实现window.print()去除页眉页脚

    在JavaScript中,`window.print()`方法是一个非常实用的功能,它允许用户直接从浏览器打印网页内容。然而,默认情况下,打印操作可能会包含页眉和页脚,这些元素可能包含URL、日期或者页码等信息,有时并不符合我们...

    js 客户端打印html 并且去掉页眉、页脚的实例

    在网页开发中,有时我们需要提供一个功能,让用户能够方便地打印网页内容,而且希望打印时去除不必要的页眉和页脚,以保持整洁的输出。本文将深入探讨如何使用JavaScript(简称JS)实现在客户端打印HTML内容,并去掉...

    Javascript网页打印大全(有图版).docx

    三、设置页眉页脚 可以使用ActiveXObject访问注册表来清除或设置页眉和页脚。例如,使用WScript.Shell对象的RegWrite方法修改注册表中的相应键值,以实现打印时不显示页眉和页脚。 四、使用外部控件/方法实现多功能...

    javaScript设置注册表打印.pdf

    总结起来,这个JavaScript代码片段展示了如何利用JavaScript控制注册表设置来影响打印行为,包括页面方向、页眉页脚、边距以及打印内容的选择。然而,由于其对IE特性的依赖,这种方法可能不适用于所有现代浏览器环境...

    WEB直接打印js源码

    "WEB直接打印js源码"这个主题就涉及到了如何利用JavaScript控制浏览器的打印行为,包括设置页眉、页脚和页边距,并确保内容适应A4纸张大小。下面我们将深入探讨这个话题。 首先,JavaScript中的`window.print()`...

    网页打印问题集锦(页面设置、打印预览)

    1. **边距设置**:合理调整页边距,确保内容不会被裁切,同时留出足够的空间用于装订。 2. **纸张尺寸与方向**:根据打印内容的特性选择合适的纸张大小(如A4、Letter等),并设置为纵向或横向布局。 3. **打印范围*...

    printTest01.rar_java 打印_javascript_javascript 打印

    JavaScript提供了一种更灵活的方式,通过CSS和JavaScript结合,可以在用户打印网页时实现更高级的定制效果,如消除页眉页脚、自定义页面布局和调整颜色等。对于开发者来说,理解并熟练掌握这些技巧对于提升用户体验...

    网页打印功能的实现

    这会弹出一个打印对话框,用户可以设置打印机、页边距、页眉和页脚等选项。在后台,浏览器使用CSS媒体查询和HTML的`&lt;print&gt;`媒体类型来呈现适合打印的页面版本。默认情况下,非打印元素(如导航栏、侧边栏和广告)...

    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脚本可以控制分页,页眉页脚,页边距,打印方向,自定义纸张,直接...

    js页面打印设置

    该函数用于将页眉、页脚设为空,并将底部、左侧、右侧边距设为0,顶部边距设为8,实现打印时无页眉页脚和最小边距的效果。 #### 3. 恢复默认设置 ```javascript function PageSetup_Default() { try { var Wsh =...

    javascript编写基于chrome浏览器的打印程序,本例用来打印小票.zip

    在JavaScript中,我们可以利用`window.print()`函数来触发浏览器的打印对话框,从而实现打印功能。例如: ```html &lt;!DOCTYPE html&gt; 小票打印 &lt;!-- 这里填写你要打印的小票内容 --&gt; &lt;!-- 小票的具体内容如...

    jsp页面打印

    在开发过程中,有时我们需要控制用户从网页打印时的页面布局,包括设置页眉和页脚。本篇文章将深入探讨如何实现这一功能,并涉及与`修改页眉`和`修改页脚`相关的技术。 首先,当用户点击打印按钮时,浏览器通常会...

    实现jsp打印的控件

    - 开发者可以根据业务需求对打印控件进行扩展,比如加入对特定内容的隐藏、格式调整、页眉页脚设置等。 - 需要理解CSS媒体查询(Media Queries),以适应不同的打印环境,如区分屏幕显示和打印样式。 - 可能需要...

    通过调用 JS 打印图片信息

    本文将深入探讨如何利用 JavaScript 实现这一功能,特别是在解决谷歌浏览器首次打印时图片不显示及去除IE浏览器页眉页脚的问题。 首先,我们需要理解为什么在某些情况下,如谷歌浏览器,图片在第一次打印时不显示。...

Global site tag (gtag.js) - Google Analytics