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"> </td>
 <td width="28%" class="tdp"> </td>
 <td width="43%" class="tdp"> </td>
 </tr>
<tr>
 <td colspan="3" class="tdp"> </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> </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"> </td>
 </tr>
 <tr>
 <td class="tdp"> </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> </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>