求助:关于ASP如何实现打印功能

求助:关于ASP如何实现打印功能,第1张

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>打印代码</title>

<SCRIPT language=JavaScript>

function doPrint(){

var str="<html>"

var article

var css

var strAdBegin="<!--NEWSZW_HZH_BEGIN-->"

var strAdEnd="<!--NEWSZW_HZH_END-->"

var strFontSize='【<A href="javascript:doZoom(16)">大</A><A href="javascript:doZoom(14)">中</A><A href="javascript:doZoom(12)">小</A>】'

var strdoPrint="doPrint()"

var strTmp

css="<style>"

+"body{font-family:宋体}"

+"td,.f12{font-size:12px}"

+".f24 {font-size:24px}"

+".f14 {font-size:14px}"

+".title14 {font-size:14pxline-height:130%}"

+".l17 {line-height:170%}"

+"</style>"

str += css

str += '<meta http-equiv="content-type" content="text/htmlcharset=gb2312">'

str += '<title>'+document.title+'</title>'

str += "<body bgcolor=#ffffff topmargin=5 leftmargin=5 marginheight=5 marginwidth=5 onLoad='window.print()'>"

str += "<center><table width=600 border=0 cellspacing=0 cellpadding=0><tr><td align=right valign=bottom><a href='javascript:history.back()'>返回</a><a href='javascript:window.print()'>打印</a></td></tr></table>"

str += "<table width=600 border=0 cellpadding=0 cellspacing=20 bgcolor=#EDF0F5><tr><td>"

article=document.getElementById('article').innerHTML

if(article.indexOf(strAdBegin)!=-1){

str +=article.substr(0,article.indexOf(strAdBegin))

strTmp=article.substr(article.indexOf(strAdEnd)+strAdEnd.length, article.length)

}else{

strTmp=article

}

str +=strTmp

str += "</td></tr></table></center>"

str += "</body></html>"

document.write(str)

document.close()

}

</SCRIPT>

</head>

<body>

<input onclick="javascript:doPrint()" type="button" name="button" id="button" value="打印报表" />

<div id="article" style="margin-left:30px">

这里是打印的区域范围,也可以用ASP生成文档 排版用TABLE 等都可以,样式可以在JS中设计

</div>

</body>

</html>javascript:widown.print() 这一个也可以实现

加入如下代码在</head>标签前

<script language=javascript>

function preview() {

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()

window.document.body.innerHTML=bdhtml

}

</script>

然后是body部分

<!--startprint-->'打印开始

这里开始是你要打印的表格的代码及数据

<!--endprint-->'打印结束

然后打印按钮给一个onClick="preview()window.close()"

比如我的打印功能不是点按钮而是点个图片,我点击图片就开始我要的部分打印,它的代码则是:

<img src="../images/print.jpg" align="absmiddle" style="cursor:hand" onClick="preview()window.close()">

ASP页面实现部分打印,参考代码如下:

 <script type="text/javascript">

    function preview(oper)

    {

    if (oper < 10)

    {

    bdhtml=window.document.body.innerHTML//获取当前页的html代码

    sprnstr="<!--startprint"+oper+"-->"//设置打印开始区域

    eprnstr="<!--endprint"+oper+"-->"//设置打印结束区域

    prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18) //从开始代码向后取html

    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr))//从结束代码向前取html

    window.document.body.innerHTML=prnhtml

    window.print()

    window.document.body.innerHTML=bdhtml

    } 

    else

    {

    window.print()

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11572613.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存