web打印

本文介绍了三种网页打印方法:普通打印、自定义内容打印及使用外部控件实现多功能打印。重点讲解了如何通过JavaScript和插件实现内容自定义打印,并去除页眉页脚。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、普通打印(整页打)

用法:window.print();

缺点:只能打印整页,且不能消除页眉页脚信息;

二、打印网页内部分内容(自定义)

1、用JQUERY打印插件
*先载入jPrintArea插件
<mce:script type="text/javascript" src="/sitemedia/js/jquery.jPrintArea.js" mce_src="sitemedia/js/jquery.jPrintArea.js"></mce:script>
*JS设置
<mce:script language=javascript><!-- $(function() { $('#printer').click(function(){ $.jPrintArea('#content_A') }); }) // --></mce:script>
*正文设置
<div id="content_A"><div style="font-size:48px;font-family:"Code 128" ;" mce_style="font-size:48px;font-family:"Code 128" ;">004545-565-89898</div> 004545-565-89898<br />品名:计算机主机板;<br />厂址:北京西路</div></div>

优点:简洁,快速;
缺点:还是不能预览,不能去除页眉页脚;

2、用javascript打印固定标签内的内容

用法:

*JS设置
<mce:script language=javascript><!-- function doPrint() { //设置网页打印的页眉页脚为空 var hkey_root,hkey_path,hkey_key hkey_root="HKEY_CURRENT_USER" hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\" 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) {} //设置网页打印的页眉页脚为默认值 //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){} //读取标志中间的内容,即打印内容 bdhtml=window.document.body.innerHTML; sprnstr="<!--startprint-->"; eprnstr="<!--endprint-->"; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //生成一个新的打印窗口,将内容放到中间 var oWin=window.open("","_blank","height=150, width=230,top=400, left=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no"); oWin.document.write(prnhtml); oWin.focus(); oWin.document.close(); oWin.print(); oWin.close(); } // --></mce:script>


*正文中的设置
<!--startprint--><div style="font-size:48px;font-family:"Code 128" ;" mce_style="font-size:48px;font-family:"Code 128" ;">004545-565-89898</div>004545-565-89898<br />品名:计算机主机板;<br />厂址:轲呀中坚力量中西医吕</div><!--endprint--> <a href="#" mce_href="#" onClick="doPrint()">打印</a>


优点:快速打印,同进可以去除页眉页脚,支持IE,FF;
缺点:改眉脚时要写注册表,好像也不支持打印预览;


3、使用外部控件/方法实现多功能打印(基本上仅限于IE)

3.1、利用IE自带的WebBrower控件;

*在页面载入此控件;
<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 name=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=document.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.ExecWB(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 value=关闭>

*正文:
设置打印CSS:
//将不要打印出来的信息放入到CLASS=noprint中
<mce:style media="print"><!-- .noprint {display:None;} --></mce:style><style media="print" mce_bogus="1">.noprint {display:None;}</style> <div style="font-size:48px;font-family:"Code 128" ;" mce_style="font-size:48px;font-family:"Code 128" ;">004545-565-89898</div>004545-565-89898<br />品名:计算机主机板;<br />厂址:轲呀中坚力量中西医吕</div>


优点: 有多功能打印,快速,不打印页眉页脚;
缺点: 只能IE下用,且每次载入需要提示你装入一个控件,比较麻烦;网上好像有一个REG文件,先前设置一次就用了再提示了.(不过我的WIN2003试了好像没用)
a. 必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行...设置成提示或者启用,否则会报错,导致不可用。
b. 如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。

3.2、使用ScriptX.cab控件

*下载ScriptX.cab控件(smsx.cab)

官网http://www.meadroid.com/scriptx/index.asp

*<!--这里调用控件ScriptX.cab-->
<object id="factory" style="DISPLAY: none" mce_style="DISPLAY: none" viewastext classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="[your path]smsx.cab"></object> <mce:style media="print"><!-- .noprint {display:None;} --></mce:style><style media="print" mce_bogus="1">.noprint {display:None;}</style>

*JS设置

<mce:script defer><!-- //用于设置打印参数 function printBase() { factory.printing.footer = "" //页眉 factory.printing.footer = "" //页脚 factory.printing.portrait = true //true为纵向打印,false为横向打印 factory.printing.leftMargin = 1.5 //左页边距 factory.printing.topMargin = 0.5 //上页边距 factory.printing.rightMargin = 0.5 //右页边距 factory.printing.bottomMargin = 1.0 //下页边距 } //用于调用设置打印参数的方法和显示预览界面 function printReport(){ printBase();//打印基本设置 //window.print(); factory.printing.Preview();//打印预览 } //使界面最大化 maxWin(); function maxWin() { var aw = screen.availWidth; var ah = screen.availHeight; window.moveTo(0, 0); window.resizeTo(aw, ah); } // --></mce:script>

*主体设置
<div style="font-size:48px;font-family:"Code 128" ;" mce_style="font-size:48px;font-family:"Code 128" ;">004545-565-89898</div>004545-565-89898<br /> 品名:计算机主机板;<br />厂址:轲呀中坚力量中西医吕</div> <div class="noprint"> <input type="button" onclick="printReport()" value="打印"> <input type="button" onclick="window.close();" value="关闭"> </div>

优缺点同IE自带的控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值