ASP.NET 页面打印与预览

第一种是所见即所得的:

ContractedBlock.gif ExpandedBlockStart.gif 所见即所得
<html>
<head>
<title> ASP.NET 打印 - 所见即所得 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
ExpandedBlockStart.gifContractedBlock.gif
<script language="javascript">
function preview()
ExpandedSubBlockStart.gifContractedSubBlock.gif
{
 bdhtml
=window.document.body.innerHTML;
 sprnstr
="<!--startprint-->";
 eprnstr
="<!--endprint-->";
 prnhtml
=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
 prnhtml
=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
 window.document.body.innerHTML
=prnhtml;
 window.print();
 
//prnform.htext.value=prnhtml;
 //prnform.submit();
 //alert(prnhtml);
}

</script>
</head>
<body bgcolor="#FFFFFF" text="#000000">
辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣
<center>本部分以上不被打印</center>
<!--startprint-->
<table width="84%" align="center" bgcolor="#0000FF" cellpadding="2" cellspacing="1">
  
<tr bgcolor="#6699FF">
    
<td>
      
<div align="center">标题一</div>
    
</td>
    
<td>
      
<div align="center">标题二</div>
    
</td>
    
<td>
      
<div align="center">标题三</div>
    
</td>
    
<td>
      
<div align="center">标题四</div>
    
</td>
    
<td>
      
<div align="center">标题五</div>
    
</td>
  
</tr>
  
<tr bgcolor="#6699FF">
    
<td> </td>
    
<td> </td>
    
<td> </td>
    
<td> </td>
    
<td> </td>
  
</tr>
</table>
<!--endprint-->
<center>本部分以下不被打印</center>
辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣辣
<div align="center">
  
<input type="button" name="print" value="预览并打印" onclick="preview()">
</div>
ExpandedBlockStart.gifContractedBlock.gif
<style>
ExpandedSubBlockStart.gifContractedSubBlock.gif@media print 
{}{
   .Noprn {display
:none;}

}
</style>
<class="Noprn">不打印</p>
<table id=datagrid><tr><td>打印</td></tr></table>
<input class=Noprn type=button onclick="window.print()" value="print">
</body>
</html>

第二种是对页面样式进行解析后的

 

ContractedBlock.gif ExpandedBlockStart.gif Print.js
function doPage()
ExpandedBlockStart.gifContractedBlock.gif
{
    layLoading.style.display 
= "none";//同上
}

 
//设置网页打印的页眉页脚为空 
function PageSetup_Null() 
ExpandedBlockStart.gifContractedBlock.gif

 
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif 

  
var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key
="header"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,""); 
  HKEY_Key
="footer"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,"");   
 }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
catch(e){} 
}
 
 
//设置网页打印的页眉页脚为默认值 
function  PageSetup_Default() 
ExpandedBlockStart.gifContractedBlock.gif
{   
 
try 
ExpandedSubBlockStart.gifContractedSubBlock.gif 

  
var Wsh=new ActiveXObject("WScript.Shell"); 
  HKEY_Key
="header"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P"); 
  HKEY_Key
="footer"
  Wsh.RegWrite(HKEY_Root
+HKEY_Path+HKEY_Key,"&u&b&d"); 
 }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
catch(e){} 
}
 
 
ExpandedBlockStart.gifContractedBlock.gif
/**//*
 *预览函数 
 *controlsList  要隐藏的控件
 *doType 页面页脚类型  0 设置为空,1 设置为默认
 
*/

function printpr(controlsList,doType)   
ExpandedBlockStart.gifContractedBlock.gif
{
ExpandedSubBlockStart.gifContractedSubBlock.gif 
if(doType == '0'){
  PageSetup_Null();
 }

ExpandedSubBlockStart.gifContractedSubBlock.gif 
else{
  PageSetup_Default();
 }

 
var control = controlsList.split(","); 
ExpandedSubBlockStart.gifContractedSubBlock.gif 
for(i = 0;i < control.length;i++){//隐藏控件
  document.getElementById(control[i]).style.display = "none";
 }

 
var OLECMDID = 7;
 
var PROMPT = 1
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
 document.body.insertAdjacentHTML(
'beforeEnd', WebBrowser); 
 WebBrowser1.ExecWB(OLECMDID, PROMPT);
 WebBrowser1.outerHTML 
= "";
ExpandedSubBlockStart.gifContractedSubBlock.gif 
for(i = 0;i < control.length;i++){//打印之后将该元素显示出来
  document.getElementById(control[i]).style.display = "";
 }

 window.location.reload();
//刷新窗口
}


ExpandedBlockStart.gifContractedBlock.gif
/**//*
 *预览函数 
 *controlsList  要隐藏的控件(用逗号连接)
 *doType 页面页脚类型  0 设置为空,1 设置为默认
 
*/

function printTure(controlsList,doType)   //打印函数
ExpandedBlockStart.gifContractedBlock.gif
{    
ExpandedSubBlockStart.gifContractedSubBlock.gif 
if(doType == '0'){
  PageSetup_Null();
 }

ExpandedSubBlockStart.gifContractedSubBlock.gif 
else{
  PageSetup_Default();
 }

 
var control = controlsList.split(",");
ExpandedSubBlockStart.gifContractedSubBlock.gif 
for(i=0;i<control.length;i++){//隐藏控件
  document.getElementById(control[i]).style.display = "none";
 }

    window.print();
ExpandedSubBlockStart.gifContractedSubBlock.gif 
for(i=0;i<control.length;i++){
  document.getElementById(control[i]).style.display 
= "";
 }

    window.location.reload();
}

 

ContractedBlock.gif ExpandedBlockStart.gif 打印调用
<div style="text-align: right">
  
<input type="button" name="btn" value="打印" onclick="printTure('btn,show','0')" />
  
<input type="button" name="show" value="预览" onclick="printpr('btn,show','0')" />
</div>

转载于:https://www.cnblogs.com/lwt2005qq/archive/2008/09/23/1296911.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值