"; eprnstr=""; prnh" />
当前位置:文档之家› javascript打印如何自定义 纸张大小(代码)

javascript打印如何自定义 纸张大小(代码)

function preview(){bdhtml=window.document.body.innerHTML;sprnstr="<!--startprint-->";eprnstr="<!--endprint-->";prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));window.document.body.innerHTML=prnhtml;window.print();}问题又来了~会有页脚和页眉~还有横向和纵向之分~怎么办?最好就是用到打印预览~因为它里面有设置这时必须引用IE的一个控件"WebBrowser"在页面里引用:<object id="WebBrowser" width=0 height=0classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>其控件方法:复制代码代码如下:WebBrowser.ExecWB(1,1) 打开WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口WebBrowser.ExecWB(4,1) 保存网页WebBrowser.ExecWB(6,1) 打印WebBrowser.ExecWB(7,1) 打印预览WebBrowser.ExecWB(8,1) 打印页面设置WebBrowser.ExecWB(10,1) 查看页面属性WebBrowser.ExecWB(15,1) 好像是撤销,有待确认WebBrowser.ExecWB(17,1) 全选WebBrowser.ExecWB(22,1) 刷新WebBrowser.ExecWB(45,1) 关闭窗体无提示示例:<object id="WebBrowser" width="0" height="0"classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">打印测试<input type="button" onclick="WebBrowser.ExecWB(7,1)" value="打印预览">随便用个文本文件复制粘贴~改后缀名~ie运行~点预览~设置打印~打印~OK然后再把其考到项目里~比如aspx里同样运行,点预览~咦~怎么出现ie安全警告"internet explorer"已阻止此站点用不安全方式使用ActiveX 控件"这时就要改ie的安全设置了(如果没装补丁就没事~那是你"rp"好,不一定客户和其他的人的"rp"和你一样好)操作:主菜单"工具"——Internet选项——安全——自定义级别,将"安全设置"中"对没有标记为安全的ActiveX"控件进行初始化和脚本运行由"禁用"改为"启用"另一种方法,"工具" "Internet选项" "受信任的站点(可信站点)""站点",然后填入网址即可,如果这个网站不是以https:连接的把下面"对该区域中的所有站点要求服务器验证(https:)"前面的勾去掉即可。

(如果是局域网:那就是"工具" "Internet选项" "本地Internet" "高级")(无线网貌似不是局域网的)推荐第二种~万事俱备~ok了~打印方法集(没有一一测试):复制代码代码如下:--------------------------------------------------------------------------<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""><script>var hkey_root,hkey_path,hkey_keyhkey_root="HKEY_CURRENT_USER"hkey_path="file://software//Microsoft//Internet Explorer\\PageSetup\\"//设置网页打印的页眉页脚为空function pagesetup_null(){try{var RegWsh = new ActiveXObject("WScript.Shell")hkey_key="header"RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")hkey_key="footer"RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")}catch(e){}}//设置网页打印的页眉页脚为默认值function pagesetup_default(){try{var RegWsh = new ActiveXObject("WScript.Shell")hkey_key="header"RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P") hkey_key="footer"RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&u&b&d")}catch(e){}}function setdivhidden(id){//把指定id以外的层统统隐藏var divs=document.getElementsByTagName("DIV");for(var i=0;i<divs.length;i++){if(divs.item(i).id!=id)divs.item(i).style.display="none";}}function setdivvisible(id){//把指定id以外的层统统显示var divs=document.getElementsByTagName("DIV");for(var i=0;i<divs.length;i++){if(divs.item(i).id!=id)divs.item(i).style.display="block";}}function printpr() //预览函数{pagesetup_null();//预览之前去掉页眉,页脚setdivhidden("div1");//打印之前先隐藏不想打印输出的元素var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; document.body.insertAdjacentHTML('beforeEnd', WebBrowser);//在body标签内加入html(WebBrowser activeX控件)WebBrowser1.ExecWB(7, 1);//打印预览WebBrowser1.outerHTML = "";//从代码中清除插入的html代码pagesetup_default();//预览结束后页眉页脚恢复默认值setdivvisible("div1");//预览结束后显示按钮}function print() //打印函数{pagesetup_null();//打印之前去掉页眉,页脚setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; document.body.insertAdjacentHTML('beforeEnd', WebBrowser);//在body标签内加入html(WebBrowser activeX控件)WebBrowser1.ExecWB(6, 1);//打印WebBrowser1.outerHTML = "";//从代码中清除插入的html代码pagesetup_default();//打印结束后页眉页脚恢复默认值setdivvisible("div1");//打印结束后显示按钮}</script><body><div id=div0><input type=button value=打印预览onclick="printpr()"><input type=button onClick="print()" value="打印">表格一:</div><div id=div1><table><tr><td>1111</td><td>1111</td><td>1111</td></tr><tr><td>1111</td><td>1111</td><td>1111</td></tr><tr><td>1111</td><td>1111</td><td>1111</td></tr></table></div></body></HTML>----------------------------------------------------------------------------JS实现局部打印和预览:第一种:JS 实现简单的页面局部打印复制代码代码如下:function preview(oper){if (oper < 10){bdhtml=window.document.body.innerHTML;//获取当前页的html代码sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html window.document.body.innerHTML=prnhtml;window.print();window.document.body.innerHTML=bdhtml;} else {window.print();}}。

相关主题