zoukankan
html css js c++ java
JS实现局部打印和预览【转】
第一种:
JS 实现简单的页面局部打印
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();
}
}
使用很简单 将页面内要打印的内容加入中间
<!--
startprint1
-->
XXXXX
<!--
endprint1
-->
再加个打印按纽 onclick
=
preview(
1
)
第二中:组件法
WebBrowser是IE内置的浏览器控件,无需用户下载.
一、WebBrowser控件
<
object ID
=
'
WebBrowser
'
WIDTH
=
0
HEIGHT
=
0
CLASSID
=
'
CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
'
></
object
>
二、WebBrowder控件的方法
//
打印
WebBrowser1.ExecWB(
6
,
1
);
//
打印设置
WebBrowser1.ExecWB(
8
,
1
);
//
打印预览
WebBrowser1.ExecWB(
7
,
1
);
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(
1
,
1
) 打开
Web.ExecWB(
2
,
1
) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(
4
,
1
) 保存网页
Web.ExecWB(
6
,
1
) 打印
Web.ExecWB(
7
,
1
) 打印预览
Web.ExecWB(
8
,
1
) 打印页面设置
Web.ExecWB(
10
,
1
) 查看页面属性
Web.ExecWB(
15
,
1
) 好像是撤销,有待确认
Web.ExecWB(
17
,
1
) 全选
Web.ExecWB(
22
,
1
) 刷新
Web.ExecWB(
45
,
1
) 关闭窗体无提示
但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:
<
style type
=
"
text/css
"
media
=
print
>
.noprint...
...
{display : none }
</
style
>
然后使用样式就可以:
<
p class
=
"
noprint
"
>
不需要打印的地方
</
p
>
代码如下:
<
script language
=
"
javascript
"
>
function
printsetup()...
...
{
//
打印页面设置
wb.execwb(
8
,
1
);
}
function
printpreview()...
...
{
//
打印页面预览
wb.execwb(
7
,
1
);
}
function
printit()
...
...
{
if
(confirm(
'
确定打印吗?
'
)) ...
...
{
wb.execwb(
6
,
6
)
}
}
</
script
>
<
OBJECT classid
=
"
CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
"
height
=
0
id
=
wb name
=
wb width
=
0
></
OBJECT
>
<
input type
=
button name
=
button_print value
=
"
打印
"
class
=
"
noprint
"
onclick
=
"
javascript:printit()
"
>
<
input type
=
button name
=
button_setup value
=
"
打印页面设置
"
class
=
"
noprint
"
onclick
=
"
javascript:printsetup();
"
>
<
input type
=
button name
=
button_show value
=
"
打印预览
"
class
=
"
noprint
"
onclick
=
"
javascript:printpreview();
"
>
查看全文
相关阅读:
Instant Python 中文缩减版
《Java疯狂讲义》(第3版)学习笔记 2
《Java疯狂讲义》(第3版)学习笔记 1
NXP Mifare S50标准IC卡- 访问位(Access Bits) 分析
Python中获取异常(Exception)信息
支持向量机(SVM)入门
棋类游戏中人机博弈的设计
(翻译)如何对python dict 类型按键(keys)或值(values)排序
Python实现打印二叉树某一层的所有节点
FIFA halts 2026 bids amid scandal 国际足联在丑闻期间停止2026年足球世界杯申请
原文地址:https://www.cnblogs.com/xsmhero/p/2360853.html
最新文章
SharePoint 2013 安装配置(1)
Windows Azure 配置Active Directory 主机(4)
Windows Azure 配置Active Directory 主机(3)
Windows Azure 配置Active Directory 主机(1)
Windows Azure 配置Active Directory 主机(2)
如何变更站点 AD 域服务器IP地址
Exchange DSAccess 事件分析
SQLServer 2012 报表服务部署配置(2)
SQLServer 2012 报表服务部署配置(1)
第一篇Active Directory疑难解答概述(2)
热门文章
[Tools] maven-eclipse安装及配置
[Tools]迁移Confluence, JIRA, Fisheye
[Linux] 解决终端显示乱码问题
[JavaCore] 不错的Java基础学习资料-持续更新
[SQL]oracle 的to_char、to_number、to_date用法
[SQL]查询及删除重复记录的SQL语句
跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记2-第10章VIM学习
W-数据库基础
跟着鸟哥学Linux系列笔记0-如何解决问题
Copyright © 2011-2022 走看看