`
秦巛骨
  • 浏览: 8028 次
  • 性别: 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
分享到:
评论

相关推荐

    asp.net知识库

    ASP.NET 2.0使用Web Part创建应用程序之二(共二) 体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤 NET2.0系列介绍(一).NET 2.0 中Web 应用程序主题的切换 ASP.NET 2.0 中Web 应用程序主题的切换 2.0正式版中...

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

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

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

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

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    第1章 服务器控件概述及开发环境部署 .1 1.1 自定义服务器控件 1 1.2 服务器控件在软件开发过程中的作用 1 ...附录a .net 3.5技术教程系列——collection/asp.net ajax/ silverlight/jquery ...646

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part1

    注意:由于文件大小为111MB,但本人的上传权限只有60MB,所以分开两部分压缩上传。解压前必须与part2一起解压。...附录a .net 3.5技术教程系列——collection/asp.net ajax/ silverlight/jquery ...646

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part2

    注意:由于文件大小为111MB,但本人的上传权限只有60MB,所以分开两部分压缩上传。解压前必须与part2一起解压。...附录a .net 3.5技术教程系列——collection/asp.net ajax/ silverlight/jquery ...646

Global site tag (gtag.js) - Google Analytics