请教一个打印问题!

vivisogood 2003-08-20 03:09:08
小弟现在开发的一个web应用。上面有发票打印的问题。要套打发票。 现在存在一个问题。为了显示效果好。我设置了<table border="1">但是发票要套打出来边是不能打印的。 有没有大侠能告诉小弟怎么 边可以看到但是不打印出来。
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivisogood 2003-08-22
  • 打赏
  • 举报
回复
到 http://expert.csdn.net/Expert/TopicView1.asp?id=2175216
和 http://expert.csdn.net/Expert/TopicView1.asp?id=2175212
拿分吧。我说话算话的!
vivisogood 2003-08-21
  • 打赏
  • 举报
回复
没有更好的办法吗?斑竹帮忙看看啊!
vivisogood 2003-08-21
  • 打赏
  • 举报
回复
上面几位朋友的解答在一定程度上都可以解决问题,但是却是都不是完美的答案。不过为了感谢你们的帮助我到明天上午就会结贴(顺便看看有没有更完美的答案,我是希望css里面有个属性直接定义显示边框但是不打印(我不知道有没有。那位大哥知道有的话告诉我一下。小弟感激不尽)。 对文字css是可以处理的<style media="print">
<!--
.noprint { display: none }
-->
</style>)
结贴的时候另外200分开新贴照给。
我昨日苦想了一晚上想出了另外两个答案供大家参考, 方法1.我把发票扫描到电脑里。把发票图片做背景放到一个table里面打印的时候不打印背景。方法2.我在最外面的table里设置bgcolor="#000000"然后每个tr和td里用不同的bgcolor。不打印背景!
chinesun 2003-08-20
  • 打赏
  • 举报
回复
显示的时候显示边线,打印的时候不打印的做法,你必须这样做,另外写一个打印JS文本。
我有一个JS文本供你参考:
_____________________________________________________
<script language="javascript">
function doPrint() {
if (window.print) {
var p_1 = document.all.p_1.innerHTML;
var p_2 = document.all.p_2.innerHTML;
//**************
//这里根据你要打印的哪些内容,从原显示页面中用
//<div id=P_1>p_1....</div><div id=P_2>p_2...</div>等标示,要打印多少项目就用多少下
//提示一下,自己体会:),此处我只写出两个出来:D
//**************
var css = '<style type="text/css">' +
'p { line-height: 120%}' +
'.ftitle { line-height: 120%; font-size: 18px; color: #000000}' +
'td { font-size: 10px; color: #000000}' +
'</style>' ;
//**************
//这里是定义打印用的CSS,可以根据你自己的设定去写适合你的格式哦
//本文只定义三个,p,.ftitle,td,其余自己写。越美观越好。
//**************
var body ='<table width="640" border="0" cellspacing="0" cellpadding="5">' +
' <tr> ' +
' <td class="fbody"> ' +
' <div align="center" class=ftitle>' + p_title + '</div>' + p_2 +
' </td>' +
' </tr>' +
'</table>';
//**************
//body这才是你重新设置的打印格式,根据你的打印要求,重新把原显示网页的DIV内容重新
//组合,可以根据你原来的表格内容,去掉不要打印的东东,最重要的一点就是:
//把打印内容中的Table的border设为0哦,原来页面爱怎么设随你:D,要不打印出表格线
//只能这样。另外:根据经验,表格大小为640左右正好是适合A4打印幅面!哈!
//**************
document.body.innerHTML = '<center>' + css + body + '</center>';
//**************
//然后在这里把document.body重新设一下,这就是打印文档!(有加CSS格式了)
//**************
window.print();
//**************
//一定要调用window.print()哦,否则,打印无效……说了那么多就成废话了:'(
//**************
}
}
</SCRIPT>

在页面中,然后通过:doPrint()调用,就行了
比如:
<input type="button" value="打印" LANGUAGE="javascript" onclick="return doPrint()" ID="Button2" NAME="Button1">
噢!注意这个可以不用<div></div>标示哦,即使标示,也不用在以上打印文本中调用出来,那样这个Button就不会打印出来了哦,嘿嘿!

_______________________________
看明白了没?看明白了一定给我一个反应哦。。。不然我花这么多时间来解释这个钻研多日的格式化打印技术,白忙了:D
解决了你的问题,给我一个留言就行,说明有用,或者给我结贴,就是对我劳动的肯定!
谢谢!
brothder 2003-08-20
  • 打赏
  • 举报
回复
浏览器是所见即所得的,所以楼主的要求不是很容易解决。不过可以在打印的时候将边框变成0。以下是测试代码,楼主可以试一下,有问题可以联系我,我的EMAIL是brothder@sina.com.

<table border="1" id="test" width=50 height=50 onmouseover="test.border=0">
<tr><td></td></tr></table>
csdntoll 2003-08-20
  • 打赏
  • 举报
回复
那你打印的时候另弹出新窗口,在新窗口显示时不显边,试试
vivisogood 2003-08-20
  • 打赏
  • 举报
回复
楼上的兄弟。我刚才测试了一下好像没有效果。 不知道是我没理解清楚还是别的原因。能不能给我解释清楚一下呢。 我的要求是 显示的时候能显示边线。但是打印的时候是不打印。
无爱大叔 2003-08-20
  • 打赏
  • 举报
回复
<table width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor="#000000" style="border-collapse:collapse" bordercolor="#000000">
vivisogood 2003-08-20
  • 打赏
  • 举报
回复
那位大侠帮忙解决了再给200分。我很急,

28,391

社区成员

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

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