首页 > 开发 > 综合 > 正文

web下打印的办法

2024-07-21 02:21:18
字体:
来源:转载
供稿:网友
先给一个简单实用的方式(可以打印多页,控制分页,隐藏非打印项目)
<!--语言无关 保存成 .html 看看-->
<html>
<head>
<meta name=vs_targetschema content="http://schemas.microsoft.com/intellisense/ie5">
<title>看看</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
.noprint{display:none;}
.pagenext{page-break-after: always;}
</style>

<style>
.tdp
{
border-bottom: 1 solid #000000;
border-left: 1 solid #000000;
border-right: 0 solid #ffffff;
border-top: 0 solid #ffffff;
}
.tabp
{
border-color: #000000 #000000 #000000 #000000;
border-style: solid;
border-top-width: 2px;
border-right-width: 2px;
border-bottom-width: 1px;
border-left-width: 1px;
}
.noprint {
font-family: "宋体";
font-size: 9pt;
}

</style>

</head>

<body >
<center class="noprint" >
<p>
<object id=webbrowser classid=clsid:8856f961-340a-11d0-a96b-00c04fd705a2 height=0 width=0>
</object>
<input type=button value=打印 onclick=document.all.webbrowser.execwb(6,1)>
<input type=button value=直接打印 onclick=document.all.webbrowser.execwb(6,6)>
<input type=button value=页面设置 onclick=document.all.webbrowser.execwb(8,1)>
</p>
<p> <input type=button value=打印预览 onclick=document.all.webbrowser.execwb(7,1)>
<br/>
</p>
<hr align="center" width="90%" size="1" noshade>
</center>

<table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabp">
<tr>
<td colspan="3" class="tdp">第1页</td>
</tr>
<tr>
<td width="29%" class="tdp">&nbsp;</td>
<td width="28%" class="tdp">&nbsp;</td>
<td width="43%" class="tdp">&nbsp;</td>
</tr>
<tr>
<td colspan="3" class="tdp">&nbsp;</td>
</tr>
<tr>
<td colspan="3" class="tdp"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" class="tdp"><p>这样的报表</p>
<p>对一般的要求就够了。</p></td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
</table>
<hr align="center" width="90%" size="1" noshade class="noprint" >
<!--分页-->
<div class="pagenext"></div>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabp">
<tr>
<td class="tdp">第2页</td>
</tr>
<tr>
<td class="tdp">看到分页了吧</td>
</tr>
<tr>
<td class="tdp">&nbsp;</td>
</tr>
<tr>
<td class="tdp">&nbsp;</td>
</tr>
<tr>
<td class="tdp"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" class="tdp"><p>这样的报表</p>
<p>对一般的要求就够了。</p></td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>


简单懂得 html css 即可。
下面样式只在打印时有用 <style media=print>
<style media=print>
.noprint{display:none;}
.pagenext{page-break-after: always;}
</style>

webbrowser 控件对象。只要是 win98 以上版本都有。
其实配合“分页样式表”,和 html表格 一般的打印都可以实现的。

如果想对 非windows平台用户使用。
请去掉下面这些:
<center class="noprint" >
<p>
<!--最主要是这个-->
<object id=webbrowser classid=clsid:8856f961-340a-11d0-a96b-00c04fd705a2 height=0 width=0>
</object>
<input type=button value=打印 onclick=document.all.webbrowser.execwb(6,1)>
<input type=button value=直接打印 onclick=document.all.webbrowser.execwb(6,6)>
<input type=button value=页面设置 onclick=document.all.webbrowser.execwb(8,1)>
</p>
<p> <input type=button value=打印预览 onclick=document.all.webbrowser.execwb(7,1)>
<br/>
</p>
<hr align="center" width="90%" size="1" noshade>
</center>



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表