一、普通打印(整页打)
用法: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自带的控件
web打印
最新推荐文章于 2025-03-11 19:59:26 发布