1、Javascript网页打印大全Javascript网页打印大全 Javascript网页打印大全已有 136 次阅读 2010-07-31 15:17 一、普通打印(整页打) 二、打印网页内部分内容(自定义) 三、打印去掉/添加页眉页脚 四、使用外部控件/方法实现多功能打印 五、打印背景(以上为代码控制)六、设置“页面设置”实现打印参数设置(Window系统图文版) 一、普通打印(整页打)这个不用多说,直接用引用:window.print();二、打印网页内部分内容(自定义)分三种方法实现:1、用css控制引用:media print.a display:block.
2、b display:hidden把你不想打印的部分class设为b首先在网页中添加:引用:<OBJECT id=WebBrowser height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2VIEWASTEXT></OBJECT>然后就可以依次加入功能按钮了:引用:<input type=button value=打印> <input type=button value=直接打印><input type=button value=页面设置><input
3、 type=button value=打印预览> <INPUT type=button value=关闭窗口 >将这两块东西放到<center class=noprint></center>就不会打印这些按钮了。当然要定义noprint了:<style media=print>.Noprint DISPLAY: none </style>只要把不想打印的东西的css设置成noprint就可以了。现在就实现了基本的web打印,需要注意的情况如下:a. 必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控
4、件进行.设置成提示或者启用,否则会报错,导致不可用。 b. 如果在编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。2、用javascript打印固定标签内的内容a、在页面的代码头部处加入JavaScript:引用:<script language=javascript>function doPrint() bdhtml=window.document.body.innerHTML; /获取当前页的html代码sprnstr=<!-startprint-> /设置打印开始区域eprnstr=&l
5、t;!-endprint-> /设置打印结束区域prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); /从开始代码向后取htmlprnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr); /从结束代码向前取htmlwindow.document.body.innerHTML=prnhtml; window.print(); </script>b、在页面正文处加上<!-startprint->与<!-endprint->标识。也就是在需要用户打印保存的正文所对
6、应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。3、截取内容部分已完成,现在加个“打印”的链接:XML/HTML代码 <a href=javascript:; onClick=doPrint()>打印</a>引用:<script language=JavaScript>var hkey_root,hkey_path,hkey_keyhkey_root=HKEY_CURRENT_USERhkey_path=SoftwareMicrosoftInternet ExplorerPageS
7、etup/设置网页打印的页眉页脚为空function pagesetup_null()tryvar RegWsh = new ActiveXObject(WScript.Shell)hkey_key=header RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,)hkey_key=footerRegWsh.RegWrite(hkey_root+hkey_path+hkey_key,)catch(e)/设置网页打印的页眉页脚为默认值function pagesetup_default()tryvar RegWsh = new ActiveXObject(
8、WScript.Shell)hkey_key=header RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,&w&b页码,&p/&P)hkey_key=footerRegWsh.RegWrite(hkey_root+hkey_path+hkey_key,&u&b&d)catch(e)</script><input type=button value=清空页码 onclick=pagesetup_null()><input type=button value=恢复页码
9、onclick=pagesetup_default()>复制出去,看下效果就可以了四、使用外部控件/方法实现多功能打印1、IEWebBrowser组件介绍 代码引用:<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT> <input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开> <input n
10、ame=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=关闭所有> <input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为> <input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印> <input name=Button onClick=docum
11、ent.all.WebBrowser.ExecWB(6,6) type=button value=直接打印> <input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印预览> <input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置> <input name=Button onClick=document.all.WebBrowser.Ex
12、ecWB(10,1) type=button value=属性> <input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全选> <input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=刷新> <input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button v
13、alue=关闭> 2、使用ScriptX.cab控件1下载ScriptX.cab控件官网2使用object元素,修改codebase,classid的值这里调用控件ScriptX.cab代码引用:<OBJECT id=factory style=DISPLAY: none codeBase=$rootUrljs/smsx.cab#VVersion=6,3,435,20 classid=clsid:1663ed61-23eb-11d2-b92f-008048fdd814 viewastext></OBJECT> 这段代码用来加载cab文件,clsid和codebas
14、e必须要和你下载的cab中的信息对应,否则组件会加载错误,这两项其实不难找,只要你用winrar打开你下载的cab文件,然后找到扩展名是.inf的文件,然后打开之,就能看到了。3调用控件脚本Print.js文件代码引用:function setPrintBase(headerText,footerText,rootUrl) / - advanced features ,未曾使用过,有待确认。 /factory.printing.SetMarginMeasure(2); / measure margins in inches /factory.SetPageRange(false, 1, 3);
15、/ need pages from 1 to 3 /factory.printing.printer = HP DeskJet 870C; /factory.printing.copies = 2; /factory.printing.collate = true; /factory.printing.paperSize = A4; /factory.printing.paperSource = Manual feed var header = (headerText=null|headerText=)?默认页眉:headerText; var footer = (footerText=nul
16、l|footerText=)?默认页角:footerText; factory.printing.header = &b+header+&b ; factory.printing.footer = &b+footer; factory.printing.portrait = true; factory.printing.leftMargin =10.00; factory.printing.topMargin =10.00; factory.printing.rightMargin =10.00; factory.printing.bottomMargin =10.00
17、; 例子引用:<html> <head> <meta http-equiv=imagetoolbar c> <script language=javascript src=print.js></script> <style media=print> .Noprint DISPLAY: none; </style> <title>打印测试</title> </head> <OBJECT id=factory style=DISPLAY: none codeBase=sms
18、x.cab#VVersion=6,3,435,20 classid=clsid:1663ed61-23eb-11d2-b92f-008048fdd814 viewastext></OBJECT> <script defer> function window.onload() setPrintBase(页眉,页脚); </script> <body topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0 marginwidth=0 marginheight=0> <center cla
19、ss=Noprint> <input type=button value=打印 > <input type=button value=页面设置 > <input type=button value=打印预览 > <input type=button value=关闭 > </center> <center> <table width=100% border=0 cellpadding=0 cellspacing=0> <tr><td align=center><b>内容
20、</b></td></tr> </table> </center> </body> </html> 五、打印背景默认情况下,使用IE浏览器打印网页时,不打印网页背景。如果需要打印网页背景,可以采用如下的方法设置:1. 启动IE浏览器。2. 选择【工具】菜单中的【Internet选项】菜单项,打开【Internet选项】对话框。3. 打开【高级】选项卡,在【打印】选区中选择【打印背景颜色和图像】复选框。4. 单击【确定】按钮,关闭对话框。六、如何用IE打印网页Internet Explorer(简称IE)5.0以
21、上版本强大的打印及打印预览功能。本文就向大家介绍如何用IE来打印网页。(谁?谁?谁在扔西红柿?下面一片嘘声: 这还用得着你讲呀?!)咳咳咳,是的是的,在IE中打印网页实在是太简单不过了。只需点一下工具栏上“打印”按钮就可将当前网页打印出来。如下图所示: 不过,你这样打出来的效果怎么样呢?我就不敢说了。我今天要和大家讲的就是一些打印方面的设置参数。如何大家把这些参数设置好,你就会发现IE的打印功能 快追得上Word了。今后你打印网页时就可以想怎么打就怎么打了。好,闲话少说,现在就跟我来一起看看怎么样设置IE的打印参数。 我们以下图要打印的学生名单(学生学籍管理系统MX查询
22、结果网页)为例,讲解如何设置这些打印参数: 假如我们直接点工具栏的“打印”按钮或点“文件”菜单中的“打印”进行打印这个网页的话,就会打印出很多不必要的信息。所以在打印前我们应先用IE5新增的“打印预览”功能查看当前网页的实际打印效果。如下图所示: 在如下图所示的“打印预览”对话框中,我们可以看到,网页标题、网页的URL地址及打印日期等我们所不需要的信息也被打印出来了。而页码又在右上角,能不能把它移到其他位置(如我们常见的右下角)呢? 能不能按照我们所想要的样式来打印网页呢?当
23、然可以。一切就在“页面设置”中。 弹出如下图所示的“页面设置”对话框,所有的秘密都在这里! 原来,IE自动给我们在页眉和页脚处加上了这些不必要的打印信息。如果我们不想要任何页眉和页脚的话,直接删除它们就行了。:-)大部分时候我都是这样做 的。但如果你想自定义页眉和页脚的时候,该怎么做呢?上面的那些“&w&b&p”等等究竟表示什么意思呀?给你个表格就知道了。 符号含义&w 网页标题 &u 网页地址 (URL) &d 短日期格式(由“控制面板”中的R
24、20;区域设置”指定) &D 长日期格式(由“控制面板”中的“区域设置”指定) &t 由“控制面板”中的“区域设置”指定的时间格式 &T 24 小时时间格式 &p 当前页码 &P 总页数 &b 文本右对齐(请把要右对齐的文字放在“&b”之后) &b&b 文字居中(请把要居中的文字放在“&b”和“&b” 之间) &&
25、 单个 & 号 (&)注:1、这些符号可以与文字组合使用,如本教程中的“页码,&p/&P”。 8×-ôóƒ Hœ¥„ I²6î?›0 2、页眉和页脚默认是左对齐的,所以IE只提供了右对齐和居中的设置符号。8×-ôóƒ Hœ¥„ I²6î?›03、推荐给大家一种设置方法:页眉为空,页脚设为“&b第 &p 页
26、/ 共 &P 页&b”,打印效果为在页脚居中显示“第 1 页 / 共 4 页”的效果。8×-ôóƒ Hœ¥„ I²6î?›0 知道了上面的知识,你就可以打印了。但有时你会发现,网页中的一些图像在打印时不见了。Why?为什么会这样?别着急,IE的默认设置是不打印网页的背景 颜色和图像的。您只需进入IE的Internet选项将它选中(打上勾)就行了。具体操作方法是:点IE的主菜单中的“工具”“Internet
27、选 项”再在弹出的对话框中占击“高级”选项卡,找到“打印背景颜色和图像”一项。如下图所示: 然后将上图中红色圈住的选项打上勾,再点“确定”就OK了。 至此,我们就完成了对IE的打印设置。接下来,只要我们没有关闭IE,我们就可以一直使用上述设置(最后一项“打印背景颜色和图像”的更改始终有效)进行打印。打印前一般先进行打印预览,效果满意后再开始打印。 使用js打印局部页面 <script type=text/javascript>/*/打印指定区域页面/说明:obj–
28、通过getElementById或其它方式获取标签标识,打印此obj内的文字/开发:王洪剑http:/日期:2009-8-7htt/function startPrint(obj) var oWin=window.open(,_blank); var strPrint=<h4 style=’font-size:18px; text-align:center;’>打印预览区</h4>n; strPrint=strPrint + <script type=text/javascript>n; strPrint=strPrint + fun
29、ction printWin()n; strPrint=strPrint + ; strPrint=strPrint + var oWin=window.open(,_blank);n; strPrint=strPrint + oWin.document.write(document.getElementById(content).innerHTML);n; strPrint=strPrint + oWin.focus();n; strPrint=strPrint + oWin.document.close();n; strPrint=strPrint + oWin.print()n; strPrint=strPrint + oWin.close()n; strPrint=strPrint + n; strPrint=strPrint + </script>n; strPrint=strPrint + <hr size=’1′ />n; strPrint=strPrint
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1