`
bear999
  • 浏览: 74463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • web
阅读更多

 

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

关于这个组件还有其他的用法,列举如下: 
Java代码  收藏代码
  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控件进行初始化和脚本运行 设置为启用。 

Java代码  收藏代码
  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>  

分享到:
评论

相关推荐

    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