Web下打印的实现

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

先给一个简单实用的方式(可以打印多页,控制分页,隐藏非打印项目)

<!--语言无关 保存成 .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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航