`
秦巛骨
  • 浏览: 8310 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

WEB打印系列教程之二——使用IE的打印功能进行一般的网页打印

阅读更多

核心提示:本篇内容讲述利用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,我们在网页中可以用我们设置的idname来引用它。
这个对象有很用法,其中涉及到打印的有下面三项。
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
分享到:
评论

相关推荐

    delphi嵌入浏览器EmbeddedWB_Embedded_Web_Browser_17

    - **打印支持**:内置打印功能,可对网页进行预览和打印。 - **安全性**:通过设置安全策略,可以限制组件访问特定的网络资源,提升应用的安全性。 3. **源码分析** EmbeddedWB 17.0提供完整的源代码,开发者...

    IE插件开发

    ### IE插件开发——利用BHO定制你的浏览器 #### 一、简介(Introduction) IE插件开发是指通过特定的技术手段来扩展Internet Explorer浏览器的功能。在众多技术中,BHO(Browser Helper Objects)是最常用的一种。...

    css3系列教程(嵌入字体网络字体).rar

    这个“CSS3系列教程(嵌入字体网络字体).rar”压缩包文件正是针对这一主题提供的一份详细教程,旨在帮助网页制作者创造出更具个性和视觉冲击力的头部效果,同时避免因受限于系统默认字体而影响设计美感。 一、CSS3...

    web开发组件集

    标题 "Web开发组件集" 暗示了我们即将探讨的是一个用于构建Web应用程序的工具集合,特别是关注其中的一个组件——My97DatePicker。在Web开发中,组件是指可重用的代码单元,它们提供了特定的功能,如日期选择器、...

    Web自动化.zip

    在这个Selenium教程中,我们将深入探讨Selenium的基本概念、功能以及如何有效地利用它进行Web自动化测试。 一、Selenium简介 Selenium是一套支持多种编程语言的测试框架,如Java、Python、C#等。它允许测试人员...

    零基础学习HTML5系列视频课程

    移动端 web 开发,最大的特点是不需要考虑 IE6、7、8 这些已经被人唾弃的老式浏览器。然而,当前市面上的 HTML5 学习资料,大都需要已经有 HTML4.0 的学习基础。对于很多零基础,或者基础很弱的学员来说,学习路径上...

    ajax教程

    **Ajax 教程** ...- 《AJAX开发简略[1].part1-5.rar》:可能是某篇关于Ajax开发的系列教程,分多个部分详细讲解Ajax的各个方面。 通过这些资源,你可以全面地了解和掌握Ajax技术,提升Web开发能力。

    手机开发和web开发中很实用的图表插件

    为了帮助开发者更好地学习和掌握icharjs,其提供的中文教程覆盖了从入门到进阶的各个方面,从基础的图表创建到复杂的API使用,都做了详尽的解释和示例,使得开发者能够快速上手并灵活应用。 总的来说,icharjs图表...

    Jquery教程-pdf

    jQuery作为一种流行的JavaScript库,凭借其强大的功能、优秀的跨浏览器兼容性和易于使用的特性,已经成为Web开发领域不可或缺的一部分。通过学习和掌握jQuery的基本用法,开发者不仅能够大大提高开发效率,还能确保...

    SD大会精品讲座:Google迈向下一代Web平台与开发

    总之,Google Gears为下一代Web平台带来了革命性的变化,特别是其离线功能为用户提供了更加丰富和稳定的使用体验。通过学习本课程,开发者不仅能够掌握Google Gears的核心技术,还能了解如何将其应用于实际项目中,...

    解读ASP.NET 5 & MVC6系列教程(14):View Component

    在之前的MVC中,我们经常需要类似一种小部件的功能,通常我们都是使用Partial View来实现,因为MVC中没有类似Web Forms中的WebControl的功能。但在MVC6中,这一功能得到了极大的改善。新版MVC6中,提供了一种叫做...

    oracle数据库课程设计报告学生成绩管理系统.doc

    【Oracle数据库课程设计报告——学生成绩管理系统】 一、前言 学生考试管理系统是学校管理不可或缺的组成部分,随着计算机技术的普及,此类系统在提升教务工作效率方面的重要性日益凸显。本设计旨在通过开发一个...

    QuickTest Professional操作手册

    在本节中,我们将通过一个具体的示例——在Mercury Tours网站上注册新用户,来演示如何使用QTP进行自动化测试。 - **操作步骤**: - 打开IE浏览器,访问`http://newtours.mercuryinteractive.com`。 - 在注册页面...

    jQuery1.8.3_20121215

    《jQuery1.8.3_20121215——JavaScript的高效库解析》 jQuery,作为一款广泛应用于Web开发的JavaScript库,自2006年诞生以来,以其简洁、高效的API赢得了开发者们的青睐。在2012年12月15日发布的jQuery1.8.3版本,...

Global site tag (gtag.js) - Google Analytics