核心提示:本篇内容讲述利用IE提供的简单的打印功能,进行打印的设置。
在我们进行web开发的时候,通常会需要用到打印,然而,由于web技术的限制及考虑到安全的问题,一直以来,web打印的功能都是非常弱的,对此,我们也只能接受。也许你在开发过程中经常会遇见客户对你说,“你们系统的打印太差了,你看看excel的打印多好啊,”,面对这样的用户,我们除了苦笑,还能说什么呢?如果你对着他们去解释什么是BS架构,什么是CS架构,不但不能够解决问题,反而会招致用户的反感。
那么,我们是不是就什么都不能做了呢?答案当然是否定的。利用现有的web技术,再加上针对求的灵活实现,我们也可以做出漂亮的打印出来。
在接下来的几篇文章里,我将分别介绍几种打印的方法或技术。这些方法有的很简单,有的稍微复杂一点。我们还是从基础做起,先了解最简单的打印技术,然后再一步一步提高,这样也有利于消化技术。
本篇内容讲述利用IE提供的简单的打印功能,进行打印的设置以及打印。
在IE里打印,我们可以通过javascript来调用window.print()函数实现。下面是一个简单的代码示例。
1.
点击“打印”后,即可弹出打印窗口,如下图。
通过这个函数,可以实现最简单的打印功能。如果我们要对纸张,页边距进行设置,那该怎么做呢? 我们知道,我们可以方便地通过 Internet Explorer 用户界面更改页边距、页眉和页脚设置和默认 Internet Explorer 打印机,IE也提供了一个叫WebBrowser 控件来供我们调用,通过调用,可以在页面上调出打印的设置窗口,在设置窗口里,用户可以更改页边距、页眉和页脚设置等。(但是,在 Internet Explorer 或 WebBrowser 控件下没有以编程方式更改这些设置的方法。在本系列教程的第三篇,我将介绍如何在页面上通过编程的方式来更改设置。)我们可以在页面上输入如下代码来调用WebBrowser 控件。
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id=wb name=wb ></OBJECT>
<input type='button' value='打印' onclick='javascript:wb.ExecWB(6,1)'/>
<input type='button' value='打印预览' onclick='javascript:wb.ExecWB(7,1)'/>
<input type='button' value='页面设置' onclick='javascript:wb.ExecWB(8,1)'/>
上例中的OBJECT就是IE提供的打印控件,叫WebBrowser,我们在网页中可以用我们设置的id或name来引用它。
这个对象有很用法,其中涉及到打印的有下面三项。
wb.ExecWB(6,1) 打印
wb.ExecWB(7,1) 打印预览
wb.ExecWB(8,1) 打印页面设置
点击“打印”按钮,即可弹出和window.print()函数一样的窗口。 点击打印预览,即可预览当前页面。
点击“页面设置”,即可弹出页面设置窗口,在设置窗口里,可以对边距,页眉等进行详细设置。
通过以上三个功能,我们就可以进行简单的打印和设置了,对于一般的打印需求来说基本足够。
这里需要说明的是,“页面设置”中的各个值,是存储在用户的注册表中。
下面是 Microsoft Internet Explorer 访问打印设置的方式:
对于页边距,Microsoft Internet Explorer 首先尝试从以下注册表项中获取值:
1. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup
如果没有此项,Internet Explorer 将通过从以下注册表项中复制值来创建此项:
1. HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\PageSetup
如果没有此项,将提供默认值。
对于页眉和页脚,将从以下项中获取值:
1. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup
如果没有此项,将提供默认值。
页边距的默认值是 0.75,
对于 Internet Explorer 默认打印机,默认值将从以下项提供:
1. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup\printer
请注意,这些值作用于整个系统,影响着当前用户的 WebBrowser 控件和 Internet Explorer 的所有实例。因此,如果你设置了第一张网页的页眉是“AJava.org”,那么第二张网页的页眉也是它。
那么,有没有一种办法,能够在程序里对这些选项进行设置,而不需要用户每次都手工来设置呢?请看《[AJava原创]WEB打印系列教程之三--通过编程方式进行复杂的WEB打印设置》
- 大小: 38.4 KB
- 大小: 9.1 KB
- 大小: 18.9 KB
分享到:
相关推荐
- **打印支持**:内置打印功能,可对网页进行预览和打印。 - **安全性**:通过设置安全策略,可以限制组件访问特定的网络资源,提升应用的安全性。 3. **源码分析** EmbeddedWB 17.0提供完整的源代码,开发者...
### IE插件开发——利用BHO定制你的浏览器 #### 一、简介(Introduction) IE插件开发是指通过特定的技术手段来扩展Internet Explorer浏览器的功能。在众多技术中,BHO(Browser Helper Objects)是最常用的一种。...
这个“CSS3系列教程(嵌入字体网络字体).rar”压缩包文件正是针对这一主题提供的一份详细教程,旨在帮助网页制作者创造出更具个性和视觉冲击力的头部效果,同时避免因受限于系统默认字体而影响设计美感。 一、CSS3...
标题 "Web开发组件集" 暗示了我们即将探讨的是一个用于构建Web应用程序的工具集合,特别是关注其中的一个组件——My97DatePicker。在Web开发中,组件是指可重用的代码单元,它们提供了特定的功能,如日期选择器、...
在这个Selenium教程中,我们将深入探讨Selenium的基本概念、功能以及如何有效地利用它进行Web自动化测试。 一、Selenium简介 Selenium是一套支持多种编程语言的测试框架,如Java、Python、C#等。它允许测试人员...
移动端 web 开发,最大的特点是不需要考虑 IE6、7、8 这些已经被人唾弃的老式浏览器。然而,当前市面上的 HTML5 学习资料,大都需要已经有 HTML4.0 的学习基础。对于很多零基础,或者基础很弱的学员来说,学习路径上...
**Ajax 教程** ...- 《AJAX开发简略[1].part1-5.rar》:可能是某篇关于Ajax开发的系列教程,分多个部分详细讲解Ajax的各个方面。 通过这些资源,你可以全面地了解和掌握Ajax技术,提升Web开发能力。
为了帮助开发者更好地学习和掌握icharjs,其提供的中文教程覆盖了从入门到进阶的各个方面,从基础的图表创建到复杂的API使用,都做了详尽的解释和示例,使得开发者能够快速上手并灵活应用。 总的来说,icharjs图表...
jQuery作为一种流行的JavaScript库,凭借其强大的功能、优秀的跨浏览器兼容性和易于使用的特性,已经成为Web开发领域不可或缺的一部分。通过学习和掌握jQuery的基本用法,开发者不仅能够大大提高开发效率,还能确保...
总之,Google Gears为下一代Web平台带来了革命性的变化,特别是其离线功能为用户提供了更加丰富和稳定的使用体验。通过学习本课程,开发者不仅能够掌握Google Gears的核心技术,还能了解如何将其应用于实际项目中,...
在之前的MVC中,我们经常需要类似一种小部件的功能,通常我们都是使用Partial View来实现,因为MVC中没有类似Web Forms中的WebControl的功能。但在MVC6中,这一功能得到了极大的改善。新版MVC6中,提供了一种叫做...
【Oracle数据库课程设计报告——学生成绩管理系统】 一、前言 学生考试管理系统是学校管理不可或缺的组成部分,随着计算机技术的普及,此类系统在提升教务工作效率方面的重要性日益凸显。本设计旨在通过开发一个...
在本节中,我们将通过一个具体的示例——在Mercury Tours网站上注册新用户,来演示如何使用QTP进行自动化测试。 - **操作步骤**: - 打开IE浏览器,访问`http://newtours.mercuryinteractive.com`。 - 在注册页面...
《jQuery1.8.3_20121215——JavaScript的高效库解析》 jQuery,作为一款广泛应用于Web开发的JavaScript库,自2006年诞生以来,以其简洁、高效的API赢得了开发者们的青睐。在2012年12月15日发布的jQuery1.8.3版本,...