火炏炎焱燚

火炏炎焱燚

统计

留言簿(1)

使用ASP.NET AJAX 1.0框架PreviewGlitz进行网页动画编程

阅读排行榜

评论排行榜

打印

先给一个简单实用的方式(可以打印多页,控制分页,隐藏非打印项目)
<!--语言无关 保存成 .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> 

调用IE内置打印组件完成web打印方案及例程

调用IE内置打印组件完成web打印方案及例程(10.28)

重点:
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT>
</OBJECT>
<input type=button value=打印 onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">

注意:
1、CSS对打印的控制:
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>

Noprint样式可以使页面上的打印按钮等不出现在打印页面上,这一点非常重要,因为它可以用最少的代码完成最需要的功能

PageNext样式可以设置分页,在需要分页的地方<div class="PageNext"></div>就OK了,呵呵

2、表格线粗细的设置,更是通过样式表:

<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;

border-collapse:collapse;
}
</style>

或者:

<style>
.TdCs1 {
border:solid windowtext 1.0pt;
}
.TdCs2 {
border:solid windowtext 1.0pt; border-left:none;
}
.TdCs3 {
border-top:none;
border-left:solid windowtext 1.0pt;
border-bottom:solid windowtext 1.0pt;
border-right:solid windowtext 1.0pt;
}
.TdCs4 {
border-top:none;
border-left:none;
border-bottom:solid windowtext 1.0pt;
border-right:solid windowtext 1.0pt;
}
.underline {
border-top-style: none;
border-right-style: none;
border-bottom-style: solid;
border-left-style: none;
border-bottom-color: #000000;
}
</style>

WEB打印,去页眉和页脚

1. IE浏览器. 文件->页面设置.
把页脚去掉就行了.

2.用代码.
//有提示的..

<HEAD> 
<TITLE> New Document </TITLE> 
<META NAME="Generator" CONTENT="EditPlus"> 
<META NAME="Author" CONTENT="YC"> 
<script language="VBScript"> 
dim hkey_root,hkey_path,hkey_key 
hkey_root
="HKEY_CURRENT_USER" 
hkey_path
="SoftwareMicrosoftInternet ExplorerPageSetup" 
'//设置网页打印的页眉页脚为空 
function pagesetup_null() 
on error resume next 
Set RegWsh = CreateObject("WScript.Shell"
hkey_key
="header" 
RegWsh.RegWrite hkey_root
+hkey_path+hkey_key,"" 
hkey_key
=" ooter" 
RegWsh.RegWrite hkey_root
+hkey_path+hkey_key,"" 
end function 
'//设置网页打印的页眉页脚为默认值 
function pagesetup_default() 
on error resume next 
Set RegWsh = CreateObject("WScript.Shell"
hkey_key
="header" 
RegWsh.RegWrite hkey_root
+hkey_path+hkey_key,"&w&b页码,&p/&P" 
hkey_key
=" ooter" 
RegWsh.RegWrite hkey_root
+hkey_path+hkey_key,"&u&b&d" 
end function 
</script> 
</HEAD> 

<BODY> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br><align=center> 
<input type="button" value="清空页码" onclick=pagesetup_null()> <input type 

="button" value="恢复页吗" onclick=pagesetup_default()><br> 

</p> 
</BODY> 
</HTML> 


引用自:http://blog.csdn.net/xsailer/archive/2007/10/22/1836927.aspx

posted on 2007-11-01 10:13 火炏炎焱燚 阅读(214) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。