首页 > 代码库 > javascript之页面打印

javascript之页面打印

WebBrowser组件是IE内置的浏览器控件,使用时,首先要在<body>标签的下面用<object>...</object>标记声明WebBrowser组件,代码如下:

<object id="WebBrowser1"width="0" height="0" classid = "CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">     </object>

对页面进行打印,主要是通过WebBrowser组件的execWB()方法来实现的

语法:WebBrowser.execWB(nCmdID,nCmdOpt)

nCmdID:必选项,执行操作功能的命令

nCmdOpt:必选项,执行相应的选项,通常为1

参数常用取值如下:

WebBrowser.ExecWB(1,1)    打开

Web.ExecWB(2,1)                  关闭现在所有的IE窗口,并打开一个新窗口

Web.ExecWB(4,1)                  保存网页

Web.ExecWB(6,1)                  打印

Web.ExecWB(6,6)                  直接打印

Web.ExecWB(7,1)                  打印预览

Web.ExecWB(8,1)                  打印页面设置

Web.ExecWB(10,1)               查看页面属性 

Web.ExecWB(17,1)               全选

Web.ExecWB(22,1)               刷新

Web.ExecWB(45,1)               关闭窗体无提示

分页打印

CSS 有个Media 属性,可以分开设置打印和显示的格式。

如 <style media="print" type="text/css"> …</style>中间的格式将只在打印时起作用,不会影响显示界面。

所以可以设定

<style media="print" type="text/css">
.Noprint {
	display:none;
	}
.PageNext {
	page-break-after:always;
}
</style>

然后给不想打印的页面元素添加:class="Noprint" ,那就不会出现在打印和打印预览中了。

想分页的地方添加: <divclass="PageNext"></div> 就可以了。


打印指定iframe框架内内容

在打印页面中的框架内容是,首先需要为该框架获得焦点,可以用内置对象parent实现,parent指的是包含当前分割窗口的父窗口

parent.printFrame.focus();
window.print();

printFrame为欲打印框架的名称

javascript之页面打印