梦幻之旅
DEBUG - 天道酬勤
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
<
2010年5月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
公告
本博客中未注原创的文章均为转载,对转载内容可能做了些修改和增加图片注释,如果侵犯了您的版权,或没有注明原作者,请谅解
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(21)
给我留言
查看公开留言
查看私人留言
随笔分类
(644)
Android(10)
(rss)
ANT(4)
(rss)
C#(10)
(rss)
C/C++(16)
(rss)
CSS(3)
(rss)
DataBase(119)
(rss)
DB-DailyMmaintenance(16)
(rss)
Design Patterns(27)
(rss)
english
(rss)
Exceptions(7)
(rss)
EXT(39)
(rss)
FLASH(9)
(rss)
Hardware(20)
(rss)
Hibernate(13)
(rss)
Html(23)
(rss)
Java(143)
(rss)
java Net(10)
(rss)
JavaScript(39)
(rss)
Linux(26)
(rss)
php(5)
(rss)
Regular Exp(3)
(rss)
Spring(17)
(rss)
Struts(12)
(rss)
TOOL(43)
(rss)
VB/VBA/VBS(5)
(rss)
webservice(9)
(rss)
XML(2)
(rss)
我的梦幻旅途(14)
(rss)
随笔档案
(669)
2017年9月 (4)
2016年10月 (1)
2015年6月 (1)
2015年4月 (2)
2015年1月 (1)
2014年8月 (2)
2014年7月 (9)
2014年6月 (1)
2014年5月 (2)
2014年4月 (3)
2014年3月 (3)
2013年10月 (4)
2013年9月 (8)
2013年8月 (4)
2013年6月 (3)
2013年5月 (4)
2013年4月 (7)
2013年3月 (1)
2013年1月 (3)
2012年12月 (4)
2012年11月 (1)
2012年10月 (1)
2012年9月 (4)
2012年8月 (1)
2012年7月 (2)
2012年6月 (1)
2012年5月 (4)
2012年4月 (2)
2012年3月 (1)
2012年2月 (4)
2012年1月 (6)
2011年12月 (10)
2011年11月 (7)
2011年10月 (6)
2011年9月 (37)
2011年8月 (34)
2011年7月 (44)
2011年6月 (10)
2011年5月 (5)
2011年4月 (3)
2011年3月 (1)
2011年2月 (1)
2011年1月 (18)
2010年12月 (9)
2010年11月 (13)
2010年10月 (17)
2010年9月 (2)
2010年8月 (10)
2010年7月 (10)
2010年6月 (5)
2010年5月 (8)
2010年4月 (9)
2010年3月 (11)
2010年2月 (3)
2010年1月 (8)
2009年12月 (6)
2009年11月 (10)
2009年10月 (5)
2009年9月 (1)
2009年8月 (18)
2009年7月 (6)
2009年6月 (2)
2009年5月 (1)
2009年4月 (4)
2009年3月 (6)
2009年2月 (5)
2009年1月 (3)
2008年12月 (13)
2008年11月 (13)
2008年10月 (30)
2008年9月 (9)
2008年8月 (24)
2008年7月 (17)
2008年6月 (15)
2008年5月 (16)
2008年4月 (15)
2008年3月 (19)
2008年2月 (3)
2008年1月 (20)
2007年12月 (24)
2007年11月 (9)
文章档案
(6)
2008年4月 (1)
2008年3月 (1)
2008年1月 (2)
2007年11月 (2)
最新随笔
1. PP代码生成器(四) 使用解决方案生成代码
2. PP代码生成器(三) 设计freemarker模板, 创建解决方案
3. PP代码生成器(二) 解决方案, 生成任务, 辅助设计面板
4. PP代码生成器(一) 简介, 下载, 运行
5. PP持久层代码生成器
6. 比较好的博客
7. 系统集成项目管理工程师
8. 软件公司项目经理岗位职责
9. 联想笔记本 显示屏 键盘失灵 释放静电
10. eclipse maven
积分与排名
积分 - 953992
排名 - 37
最新评论
1. re: Myeclipse 快捷键大全(绝对全)
crl+向右箭头(输入法有问题打不出来)移到下一个参数的位置,然后crl+shift+向右箭头 选中该位置的参数即可
--红领巾
2. re: Log4j基本使用方法
555
--555
3. re: Myeclipse 快捷键大全(绝对全)[未登录]
很不错,谢谢
--银狐
4. re: Flex 表单
是谁这么无聊~呜~~~
--HUIKK
5. re: Spring AfterReturning 异常
具体是什么意思啊
--dingli
阅读排行榜
1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(70015)
2. log4j.properties 使用说明(42070)
3. Myeclipse 快捷键大全(绝对全)(32711)
4. TNSNAMES.ORA 配置(24380)
5. oracle 树状查询(21351)
评论排行榜
1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(53)
2. JMail 异常: java.lang.NoClassDefFoundError: javax/activation/DataSource(21)
3. javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first(14)
4. java 读取 excel 2003 或 excel 2007(14)
5. java.lang.UnsupportedClassVersionError: Bad version number in .class file(8)
还是WebBrowser打印
打印是一个头痛的问题.
AxtiveX控件收费,用户使用需降低安全级别.
最后还是打算用webBrowser打印.
1.js
/**/
/*
*设置页眉和页脚
*/
function
setPageHF(isSet)
{
try
{
var
regWriteShell
=
new
ActiveXObject(
"
WScript.Shell
"
);
var
regKey
=
"
HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\
"
;
if
(isSet)
{
//
设置
regWriteShell.RegWrite(regKey
+
"
header
"
,
""
);
regWriteShell.RegWrite(regKey
+
"
footer
"
,
"
&b科印传媒 第&p页 共&P页
"
);
//
regWriteShell.RegWrite(regKey+"footer","");
}
else
{
//
清除
regWriteShell.RegWrite(regKey
+
"
header
"
,
""
);
regWriteShell.RegWrite(regKey
+
"
footer
"
,
""
);
}
}
catch
(e)
{}
}
/**/
/*
*要完成打印的必须信息
*/
function
writeInfo()
{
//
对象信息
var
objInfo
=
"
<object id='WebBrowser' width=0 height=0 classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
"
;
document.write(objInfo);
//
相关CSS
var
cssInfo
=
"
<style media='print'>
"
;
cssInfo
+=
"
.noPrint{display:none;background-color:#939392;}
"
;
cssInfo
+=
"
.nextPage{page-break-after: always;}
"
;
cssInfo
+=
"
</style>
"
;
//
document.write(cssInfo);
}
/**/
/*
*打印
*/
function
print()
{
document.all.WebBrowser.Execwb(
6
,
1
);
}
/**/
/*
*直接打印
*/
function
printDirect ()
{
document.all.WebBrowser.ExecWB(
6
,
6
);
}
/**/
/*
*打印预览
*/
function
printView()
{
document.all.WebBrowser.ExecWB(
7
,
1
);
}
/**/
/*
*打印设置
*/
function
printSet()
{
document.all.WebBrowser.ExecWB(
8
,
1
);
}
2.table html
1).第个打印页有表头
2).每页表格线连续
StringBuffer printPageStr
=
new
StringBuffer();
//
当前页DIV
printPageStr.append(
"
<div id=\
"
page
"
).append(currentPage).append(
"
\
"
class='nextPage'>
"
);
printPageStr.append(
"
<table id=\
"
table_1
"
);
printPageStr.append(
"
\
"
width
=
\
"
100%\
"
class
=
\
"
tabp\
"
cellpadding
=
'
2
'
cellspacing
=
'
0
'
>
"
);
//
表头
printPageStr.append(
"
<tr>
"
);
printPageStr.append(
"
<thead style='display:table-header-group;font-weight:bold;'>
"
);
for
(Object headerName : baseInfoHeadLst)
{
printPageStr.append(
"
<th nowrap=\
"
nowrap\
"
class='thp' style='border-top:1px solid #000000;'>
"
);
printPageStr.append(headerName
==
null
?
""
: headerName);
printPageStr.append(
"
</th>
"
);
}
printPageStr.append(
"
</thead></tr>
"
);
//
表体
for
(List innerLst : dataLst)
{
printPageStr.append(
"
<tr>
"
);
for
(Object data : innerLst)
{
printPageStr.append(
"
<td nowrap=\
"
nowrap\
"
class='tdp'>
"
);
printPageStr.append(data
==
null
?
""
: data).append(
"
 
"
);
printPageStr.append(
"
</td>
"
);
}
printPageStr.append(
"
</tr>
"
);
}
printPageStr.append(
"
</table>
"
);
printPageStr.append(
"
<br/>
"
);
printPageStr.append(
"
</div>
"
);
return
printPageStr.toString();
3.jsp
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
>
<
title
>
打印
</
title
>
<
meta
http-equiv
="pragma"
content
="no-cache"
/>
<
meta
http-equiv
="cache-control"
content
="no-cache"
/>
<
meta
http-equiv
="expires"
content
="0"
/>
<
meta
http-equiv
="keywords"
content
="keyword1,keyword2,keyword3"
/>
<
meta
http-equiv
="description"
content
="This is my page"
/>
<
script
type
="text/javascript"
src
="/js/jquery.js"
></
script
>
<
script
type
="text/javascript"
src
="/js/print2/print.js"
></
script
>
<
style
type
="text/css"
media
='print'
>
.noprint
{
}
{
display
:
none
;
}
</
style
>
<
style
type
="text/css"
>
.tdp
{
}
{
border-bottom
:
1px solid #000000
;
border-left
:
1px solid #000000
;
border-right
:
0 solid #ffffff
;
border-top
:
0 solid #ffffff
;
}
.thp
{
}
{
border-bottom
:
1px solid #000000
;
border-left
:
1px solid #000000
;
border-right
:
0 solid #ffffff
;
border-top
:
1px solid #ffffff
;
}
.tabp
{
}
{
border
:
1px solid #000000
;
border-top
:
1px solid #000000
;
border-right
:
2px solid #000000
;
}
</
style
>
<
script
type
="text/javascript"
>
writeInfo();
setPageHF(
true
);
/**/
/*
* 切换行是否打印
*/
function
switchPrintRW(tableId)
{
$(
"
#
"
+
tableId).find(
"
tr
"
).dblclick(
function
(i)
{
if
($(
this
).prevAll().length
>=
0
)
{
//
如果存在则移作此css,如果不存在则添加此css类
$(
this
).find(
"
td
"
).each(
function
(j)
{
if
($(
this
).css(
"
background-color
"
)
!=
"
#939392
"
)
{
$(
this
).addClass(
"
noprint
"
);
$(
this
).css(
{
"
background-color
"
:
"
#939392
"
}
);
}
else
{
$(
this
).removeClass(
"
noprint
"
);
$(
this
).css(
{
"
background-color
"
:
"
white
"
}
);
}
}
);
}
}
);
}
/**/
/*
* 切换列是否打印
*/
function
switchPrintTD(tableId)
{
$(
"
#
"
+
tableId).find(
"
th
"
).dblclick(
function
()
{
//
取出第几列
var
tdCount
=
$(
this
).prevAll().length;
//
取出总列数
var
rowTdTotalCount
=
$(
"
#
"
+
tableId).find(
"
th
"
).length;
//
alert(tdCount + "" + "/" + ""+ rowTdTotalCount);
//
改变列的样式
$(
this
).toggleClass(
"
noprint
"
);
if
($(
this
).attr(
"
class
"
).indexOf(
"
noprint
"
)
>=
0
)
{
$(
this
).css(
{
"
background-color
"
:
"
#939392
"
}
);
}
else
{
$(
this
).css(
{
"
background-color
"
:
"
white
"
}
);
}
//
改变列的样式
$(
"
#
"
+
tableId).find('td').each(
function
(i)
{
if
(i
%
rowTdTotalCount
==
tdCount)
{
//
如果存在则移作此css,如果不存在则添加此css类
$(
this
).toggleClass(
"
noprint
"
);
if
($(
this
).attr(
"
class
"
).indexOf(
"
noprint
"
)
>=
0
)
{
$(
this
).css(
{
"
background-color
"
:
"
#939392
"
}
);
}
else
{
$(
this
).css(
{
"
background-color
"
:
"
white
"
}
);
}
}
}
);
}
);
}
$(document).ready(
function
()
{
//
添加列事件
//
;switchPrintRW("table_1");
switchPrintTD(
"
table_1
"
);
}
);
</
script
>
</
head
>
<
body
oncontextmenu
="self.event.returnValue=false"
onselectstart
="return false"
>
<
input
type
="button"
value
="打印预览
"
class
="noprint"
onClick
="javascript:printView();"
style
="background:#ccc url('../images/button_bg.gif') no-repeat;border:0px;color:#333;width:100px;height:27px;font-size:13px;font-weight:normal;text-align:center;vertical-align:middle;"
/><
input
type
="button"
value
="打印
"
class
="noprint"
onClick
="javascript:printSet();"
style
="background:#ccc url('../images/button_bg.gif') no-repeat;border:0px;color:#333;width:100px;height:27px;font-size:13px;font-weight:normal;text-align:center;vertical-align:middle;"
/><
input
type
="button"
value
="打印"
class
="noprint"
onClick
="javascript:print();"
style
="background:#ccc url('../images/button_bg.gif') no-repeat;border:0px;color:#333;width:100px;height:27px;font-size:13px;font-weight:normal;text-align:center;vertical-align:middle;"
/>
<%
=
printPagesStr
%>
</
body
>
</
html
>
posted on 2010-05-27 14:06
HUIKK
阅读(2099)
评论(2)
编辑
收藏
评论
#
re: 还是WebBrowser打印
2010-05-27 14:31
惠万鹏
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml">
回复
更多评论
#
re: 还是WebBrowser打印
2010-05-27 14:32
惠万鹏
上面这句重要
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © HUIKK