`
tiwson
  • 浏览: 333001 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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

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

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



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

打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用。

<SCRIPT language=javascript>
var HKEY_Root,HKEY_Path,HKEY_Key; 
HKEY_Root="HKEY_CURRENT_USER"; 
HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; 
var head,foot,top,bottom,left,right;

//取得页面打印设置的原参数数据
function PageSetup_temp() {
	try 
 { 
  var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key="header"; 
//取得页眉默认值
  head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key); 
  HKEY_Key="footer"; 
//取得页脚默认值
  foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key); 
  HKEY_Key="margin_bottom"; 
//取得下页边距
  bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key); 
  HKEY_Key="margin_left"; 
//取得左页边距
  left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key); 
  HKEY_Key="margin_right"; 
//取得右页边距
  right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key); 
  HKEY_Key="margin_top"; 
//取得上页边距
  top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key); 
 } 
 catch(e){
    alert("不允许ActiveX控件");
 } 
}

//设置网页打印的页眉页脚和页边距
function PageSetup_Null() 
{ 
 try 
 { 
  var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key="header"; 
//设置页眉(为空)
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); 
  HKEY_Key="footer"; 
//设置页脚(为空)
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); 
  HKEY_Key="margin_bottom"; 
//设置下页边距(0)
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); 
  HKEY_Key="margin_left"; 
//设置左页边距(0)
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); 
  HKEY_Key="margin_right"; 
//设置右页边距(0)
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0"); 
  HKEY_Key="margin_top"; 
//设置上页边距(8)
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"8"); 
 } 
 catch(e){
    alert("不允许ActiveX控件");
 } 
} 
//设置网页打印的页眉页脚和页边距为默认值 
function  PageSetup_Default() 
{   
 try 
 { 
  var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key="header"; 
  HKEY_Key="header"; 
//还原页眉
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head); 
  HKEY_Key="footer"; 
//还原页脚
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot); 
  HKEY_Key="margin_bottom"; 
//还原下页边距
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom); 
  HKEY_Key="margin_left"; 
//还原左页边距
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left); 
  HKEY_Key="margin_right"; 
//还原右页边距
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right); 
  HKEY_Key="margin_top"; 
//还原上页边距
  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top); 
 }
 catch(e){
 	alert("不允许ActiveX控件");
 }
}

function printorder()
{
		PageSetup_temp();//取得默认值
		PageSetup_Null();//设置页面
		factory.execwb(6,6);//打印页面
		PageSetup_Default();//还原页面设置
		//factory.execwb(6,6);
		window.close();
}

</script>
<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