高手们,请教图像打印的偏差问题!

nesx_lxj 2005-10-14 10:07:51
大家帮忙:
如下脚本的网页文件显示非常正常,打印预览时背景图位置没变,但绝对定位的‘文字table’却向右下移动了若干位置,请帮忙解决?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<HEAD>

<script language="VBScript">
dim hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"
'//设置网页打印的页眉页脚为空
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="\footer"
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="\footer"
RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"
end function
</script>


<script language="javascript">
function dtPrint()
{
if (window.print)
{
pagesetup_null();
var p_1= document.all.P_1.innerHTML;

//var p_2 = document.all.p_2.innerHTML;


var css1 = '<style type="text/css">' +
'p { line-height: 120%}' +
'.ftitle { line-height: 120%; font-size: 18; color: #000000}' +
'td { font-size: 10; color: #000000}' +
'</style>' ;
// alert(p_1);
// alert(css);
var css='<style type="text/css">'+
'.NameYS{font-size:18;font-weight:bold;color:#E4E4E4;font-family:"楷体_GB2312"; } '+
'.textBT{height:20;width:20%;vertical-align:middle;text_align:right;font-size:20;font-family:"隶书";font-weight:bold;border-width:0 0 0 0} '+
'.textnr{height:20;width:30%;vertical-align:middle;text_align:left; font-size:16;border-width:0 0 0 0;} '+
'.xhx {height:2; width:30%;vertical-align:middle;text_align:left; border-width:1 0 0 0;} '+
'</style>';
var body ='<table width="520px" border="0" cellspacing="0" cellpadding="0">' +
' <tr> ' +
' <td class="fbody"> ' +
' ' + p_1 +
' </td>' +
' </tr>' +
'</table>';


document.body.innerHTML = '<center>' + css + body + '</center>';
window.print();

}
}

</SCRIPT>

<style type="text/css">
.NameYS{font-size:18;font-weight:bold;color:#E4E4E4;font-family:"楷体_GB2312"; }
.textBT{height:20;width:20%;vertical-align:middle;text_align:right;font-size:20;font-family:"隶书";font-weight:bold;border-width:0 0 0 0}
.textnr{height:20;width:30%;vertical-align:middle;text_align:left; font-size:16;border-width:0 0 0 0;}
.xhx {height:2; width:30%;vertical-align:middle;text_align:left; border-width:1 0 0 0;}
</style>
<body>

<form name="form1" >
<div id=P_1 width="520px" >
<%
CP="10px" 'cellspacing
%>
<table width="520px" border="0" cellspacing=<%=CP%> cellpadding="0" align="center" >
<%
function getV(a) '返回整型
b=left(trim(a),len(trim(a))-2)
c=cint(b)
getV=c
end function
PH="210px"
PW="320px"

PL1=cstr(getV("167px")+getV(CP))&"px"
PL2=cstr(getV(PL1)+getV(CP)+getV(PW))&"px"'"507"

PT1="25px"


BC="27px"'补充

'照片长宽
Iw="99px"
Ih="132px"

set conn=server.CreateObject("adodb.connection")
conn.open application("connStr")

xhlist=trim(request("xhlist"))

xhlist_sz=split(xhlist,",")
str_where=""
For i=0 to ubound(xhlist_sz)
if str_where="" then
str_where="'"&xhlist_sz(i)&"'"
else
str_where=str_where&","&"'"&xhlist_sz(i)&"'"
end if
Next



'str_where="'0007408505'"
sql_str="select xh,xm from xsbaseinfo "&_
" where xh in ("&str_where&")"
'response.Write(sql_str)
'response.End()
set rs_2=server.CreateObject("adodb.recordset")
rs_2.open sql_str,conn,1,3,1
K=1
while not rs_2.eof
if K=1 then
PTV=PT1
else
PTV=cstr(getV(PT1)+(getV(PH)+getV(CP)+getV(BC)+getV(CP))*(K-1))&"px"
end if



%>

<tr >
<!--左列-->
<td width="255px">
<table height=<%=PH%> width=<%=PW%> border="0" cellspacing="0" cellpadding="0" >
<tr><td width="100%" height="100%">
<img border="0" src="prep_s.jpg" width=<%=PW%> height=<%=PH%>></td></tr>
</table>
<!--上是背景图,下为文字table-->
<table border="0" cellspacing="0" cellpadding="0" align="center"
style="position: absolute; left: <%=PL1%>; top: <%=PTV%>; width: <%=PW%>; height: <%=PH%>;">
<tr >
<td height="146px" width="152px" valign="bottom" align="center">
<div align="center"><img src="listzp.asp?id=<%=rs_2("xh")%>" width=<%=Iw%> height=<%=Ih%>></div>
</td>
<td width="168px" valign="middle" align="center"> </td>
</tr>
<tr>
<td height="44px" valign="middle" align="center" class="NameYS">
<%=rs_2("xm")%>
</td>
<td > </td>
</tr>
<tr>
<td height="20px" colspan="2"> 
</td>
</tr>
</table>
</td>
<!--右列-->
<td width="255px">
<table height=<%=PH%> width=<%=PW%> border="0" cellspacing="0" cellpadding="0" >
<tr><td width="100%" height="100%">
<img border="0" src="bk_s.jpg" width=<%=PW%> height=<%=PH%>></td></tr>
</table>
<!--上是背景图,下为文字table-->
<table cellspacing="0" cellpadding="0" align="center"
style="position: absolute; left: <%=PL2%>; top: <%=PTV%>; width: <%=PW%>; height: <%=PH%>;border-width:0 0 0 0">
<tr >
<td valign="middle">
<table width="90%" align="center" border="1" bordercolorlight="336633" style="border-width:0 0 0 0" >
<tr >
<td class="textBT">姓名:</td>
<td class="textnr"> <%=rs_2("xm")%></td>
<td class="textBT">学院:</td>
<td class="textnr"> <%=rs_2("xm")%></td>
</tr>
<tr >
<td class="textBT">  </td>
<td class="xhx"> </td>
<td class="textBT">  </td>
<td class="xhx"> </td>
</tr>
<tr >
<td class="textBT">姓名:</td>
<td class="textnr"> 高坡</td>
<td class="textBT">姓名:</td>
<td class="textnr"> 高坡</td>
</tr>
<tr >
<td class="textBT">  </td>
<td class="xhx"> </td>
<td class="textBT">  </td>
<td class="xhx"> </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr><td colspan="2" height=<%=BC%>></td></tr>

<%
K=K+1
rs_2.movenext
wend
rs_2.close
conn.close

%>


</table>
</div>
<input type="button" ID="Button2" NAME="Button1" value="打印" LANGUAGE="javascript" onclick="return dtPrint()" >
</form>
</body>
</html>
...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑傲IT 2005-10-20
  • 打赏
  • 举报
回复
请参考一下http://www.fcsoft.com.cn/webprint/index.html
有问题请加msn eprint01@hotmail.com

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧