摘自Web:
http://www.z6688.com/info/29300-1.htm
1. 实现打印功能
1) ExecWB()
通过脚本程序来调用IE菜单下面的打印命令。实现的代码如下:
<script language="javascript">
function printsetup(){ // 打印页面设置
wb.execwb(8,1);
}
function printpreview(){ // 打印页面预览
wb.execwb(7,1);
}
function printit() { //打印
if (confirm('确定打印吗?')) {
wb.execwb(6,1)
}
}
</script>
<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=wb width=0></OBJECT>
<input type=button name=button_print value="打印" onclick="javascript:printit()">
<input type=button name=button_setup value="页面设置" onclick="javascript:printsetup();">
<input type=button name=button_show value="打印预览" onclick="javascript:printpreview();">
<input type=button name=button_fh value="关闭" onclick="javascript:window.close();">
这个Object 其实就是 IEWebBrowser 设定 Width 和 Height 以后,我们在界面上就看不到控件的形状了,然后,我们就可以使用 这个object 实现我们选纸和预览的功能了。
关于这个组件还有其他的用法,列举如下:
l wb.ExecWB(1,1) 打开
l wb.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
l wb.ExecWB(4,1) 保存网页
l wb.ExecWB(6,1) 打印
l wb.ExecWB(7,1) 打印预览
l wb.ExecWB(8,1) 打印页面设置
l wb.ExecWB(10,1) 查看页面属性
l wb.ExecWB(15,1) 好像是撤销,有待确认
l wb.ExecWB(17,1) 全选
l wb.ExecWB(22,1) 刷新
l wb.ExecWB(45,1) 关闭窗体无提示
2) document.execCommand()
<a href="#" onclick=document.execCommand("print")>打印</a>
3) window.print()
使用:javascript:window.Print()
Prints the contents of the window.
方法源
Window
实现版本
Navigator 4.0
语法:print()
参数:无
2. 实现套打功能:使用css
要实现去掉触发打印命令的本身按钮,只需要添加以下代码:
<STYLE MEDIA="print">
#btn1 {display: none}
#btn2 {display: none}
#btn3 {display: none}
#btn4 {display: none}
</STYLE>
然后在以上四个按钮中加上id,分别为:btn1、btn2、btn3、btn4。
<input type=button name=button_print value="打印" onclick="javascript:print()" id="btn1">
<input type=button name=button_setup value="页面设置" onclick="javascript:printsetup();" id="btn2">
<input type=button name=button_show value="打印预览" onclick="javascript:printpreview();" id="btn3">
<input type=button name=button_fh value="关闭" onclick="javascript:window.close();" id="btn4">
3. 去掉页眉页脚:使用JavaScript
<script language="JavaScript">
var hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path=\\Software\\Microsoft\\Internet Explorer\\PageSetup\\
//设置网页打印的页眉页脚为空
function pagesetup_null(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
hkey_key="footer"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
}catch(e){}
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("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")
}catch(e){}
}
<Script>
4. 分页问题:使用css
<style type="text/css">
div.pageEnd {page-break-before:always}
</style>
然后在需要强制分页的地方用:
<div class="pageEnd">
待定页的内容
</div>
如果使用的是page-break-before,那么div的内容在后一页,
如果使用的是page-break-after,那么div的内容在前一页
page-break-after:检索或设置对象后出现的页分割符
语法: page-break-after : auto | always | avoid | left | right | null
参数:
l auto : 假如需要在对象之后插入页分割符
l always : 始终在对象之后插入页分割符
l avoid : 避免在对象后面插入页分割符
l left : 在对象后面插入页分割符直到它到达一个空白的左页边
l right : 在对象后面插入页分割符直到它到达一个空白的右页边
l null : 空值。IE5用来取消页分割符设置
示例: p { page-break-after: always;}
page-break-before:检索或设置对象前出现的页分割符
语法: page-break-before : auto | always | avoid | left | right | null
参数:
l auto : 假如需要在对象之前插入页分割符
l always : 始终在对象之前插入页分割符
l avoid : 避免在对象前面插入页分割符
l left : 在对象前面插入页分割符直到它到达一个空白的左页边
l right : 在对象前面插入页分割符直到它到达一个空白的右页边
l null : 空值。IE5用来取消页分割符设置
示例: p { page-break-after: always;}
5. 不弹出打印对话框:设置ExecWB的参数
<object ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>
<script language="javascript">
function print(){
WebBrowser1.ExecWB(6,1);
}
</script>
然后在页面里加一个按扭:
<input type=button name=print value="print" onclick="print()">
这样做,在按下按扭时会弹出窗口提示,如果不要提示,将第二个参数1改为6。
6、打印分页问题(css中的pagebreak可以控制)
pagebreak:在打印的时候强迫在样式控制的对象前后换页。
before:设置对象前出现的页分割符。设置为always时,始终在对象之前插入页分割符。相对应的css属性是”page-break-before”。
after:设置对象后出现的页分割符。设置为always时,始终在对象之后插入页分割符。相对应的css属性是”>。
用page-break-after
page-break-after版本:css2 兼容性:ie4+ 继承性:无
语法:
page-break-after : auto | always | avoid | left | right | null
取值:
auto : 假如需要在对象之后插入页分割符
always : 始终在对象之后插入页分割符
avoid : 未支持。避免在对象后面插入页分割符
left : 未支持。在对象后面插入页分割符直到它到达一个空白的左页边
right : 未支持。在对象后面插入页分割符直到它到达一个空白的右页边
null : 空白字符串。取消页分割符设置
说明:
检索或设置对象后出现的页分割符。
此属性在打印文档时发生作用。此属性不作用于 br 或 hr 对象。
假如在浏览器已显示的对象上此属性和 page-break-before 属性的值之间发生冲突,则导致最大数目分页的值被使用。
页分隔符不允许出现在定位对象内部。
在ie6及之前版本浏览器中, left 和 right 值的作用结果等同于 always 。
此属性对于 currentstyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 pagebreakafter 。
示例:
p { page-break-after: always;}
分享到:
相关推荐
【BS页面打印工具】是一款专为用户定制的网页打印解决方案,尤其针对票据输出和报表工具设计,能够满足用户对网页内容个性化打印的需求,包括高效、精确地套打发票等复杂任务。这款工具使得用户不再受限于浏览器默认...
网页打印问题集锦:页面设置与打印预览深入解析 在现代Web开发中,将网页内容打印成纸质报告或文档是常见的需求之一,尤其是在企业级应用、报表系统中更是不可或缺的功能。本文旨在深入探讨网页打印的技术细节,...
在现代移动互联网时代,手机网页打印和截屏已经成为不可或缺的功能,尤其对于商务用户和需要将网页内容转化为纸质文档的人来说。本文将深入探讨“手机网页打印”、“WAP打印”、“手机打印”、“H5打印”以及相关的...
网页打印是将网页内容输出到纸质媒介上的过程,而在实际操作中,我们有时希望去除不必要的页眉和页脚,或者对打印内容进行精确控制。在本文中,我们将深入探讨如何实现这一目标,主要关注如何在网页打印时去掉页眉...
本文将深入探讨如何使用JavaScript控制和自定义网页打印,包括页面布局、样式处理、排除不必要元素等内容。 首先,JavaScript提供了一个内置的`window.print()`方法,用于调用浏览器的打印功能。在网页中的任何地方...
网页打印工具是日常工作中不可或缺的一部分,特别是在处理网页内容的整理和存档时。这款名为“PAZU”的工具因其免费且功能强大而受到推崇。它提供了便捷的方式,让用户能够高效地将网页内容转换为可打印格式,从而...
**JasperReports -- 客户端打印(WEB网页打印)** JasperReports 是一个功能强大的开源报告生成库,广泛应用于Java应用程序中,用于创建复杂的报表和图表。它支持多种数据源,包括数据库查询、XML、CSV等,并且可以...
JavaScript是Web开发中的一种重要脚本语言,它允许开发者在客户端执行动态操作,包括与用户的交互、数据处理以及,如本题所示,实现网页打印功能。网页打印是将网页内容输出到打印机或创建PDF文档的过程,这对于用户...
在网页上打印Excel报表是Web应用中常见的需求,特别是在数据展示和分析的场景下。本文将详细介绍如何在WEB页面上实现Excel报表的打印,通过一个简单的示例来帮助开发者理解和应用这一技术。 首先,我们需要理解Web...
因为个人最近需要用到web打印控件,所以将市面上所有网页打印控件拿来做了一些测试 评析~
smsx控件是一款专门用于网页打印的组件,它能够提供灵活的打印选项,包括自定义打印范围、页面设置等,使得网页内容能够在各种环境下得到高质量的打印效果。该控件通常以ActiveX或.NET的形式集成在网页中,适用于...
在“jquery实现通用网页打印”这个主题中,我们将深入探讨如何使用jQuery来实现在B/S(Browser/Server)架构的网页上进行打印功能,这在各种Web应用程序中都是一个常见的需求。 首先,理解基本的打印原理。在浏览器...
网页打印功能是Web开发中的一个重要组成部分,它允许用户将网页内容输出到物理媒介,如纸张或PDF文档,以便离线阅读、存档或分享。本文将深入探讨网页打印的实现,包括基本原理、相关技术和优化策略。 首先,我们要...
网页打印在IT行业中是一项常见的需求,特别是在Web应用和企业信息化管理中。Lodop是一款功能强大的网页打印控件,它提供了便捷的JavaScript API,使得网页中的数据能够方便地被打印出来,无需用户下载任何插件。本文...
vue,页面打印插件
在C#编程环境中,网页打印是一项重要的功能,尤其在企业级应用和网页应用程序中,它允许用户方便地将网页内容输出到打印机。本示例主要关注如何实现C#中的网页打印,包括源代码的实现、数据库设计以及相关文档的详细...
"PrintArea 页面打印插件"是一款专为网页设计和用户提供的实用工具,旨在优化网页内容的...对于开发者来说,掌握这种插件的使用不仅可以提升用户满意度,还能提高工作效率,特别是在需要处理大量网页打印需求的项目中。
"pc端页面打印插件.rar" 提供的可能是一个专为个人计算机(PC)设计的网页打印解决方案,旨在优化和扩展默认的浏览器打印功能。这个压缩包可能包含了用于增强网页打印体验的软件或插件。下面将详细探讨相关的知识点...
在Vue.js应用中,实现页面打印自动分页是常见的需求,尤其在处理大量数据或复杂的报表时。本文将介绍两种方法来实现这一功能,主要基于JavaScript。这两种方法都是通过自定义函数来处理打印过程,确保内容能正确地...
网页打印在IT行业中是网页开发中的一个重要功能,它允许用户从浏览器中打印网页内容。JavaScript是一种广泛用于网页交互的编程语言,它可以用来控制和自定义网页打印的行为。在这个话题中,我们将深入探讨如何使用...