您的位置:首页 > Web前端 > HTML

IE打印模板简介

2009-06-17 10:55 162 查看
从 IE5.5 开始,你可以定制 WebBrowser 控件和 IE 如何打印和预览文档。打印和预览的机制有打印模板控制,这是一些 HTML 文件,他们可以由开发人员可以使用由打印模板行为暴露的对象模型来生成。 MSDN 上说,如果打印模板是 HTML 文件的时候,定制的打印模板
  
从IE5.5开始,你可以定制WebBrowser控件和IE如何打印和预览文档。打印和预览的机制有打印模板控制,这是一些HTML文件,他们可以由开发人员可以使用由打印模板行为暴露的对象模型来生成。MSDN上说,如果打印模板是HTML文件的时候,定制的打印模板只能由C++语言从发布或拦截IDM_PRINT/IDM_PRINTPREVIEW命令的程序或控件中使用(打印模板的路径由IOleCommandTarget::Exec的pvaIn参数指定)。但实际上,Delphi、C#语言也是可以的,但是对于C#制作的东西要求要安装DotNet Framework,一般不建议用C#语言开发打印控件。至于VB可不可以,我暂时还不清楚,不敢肯定。缺省情况下,IE使用自己的打印模板,就是说,如果IOleCommandTarget::Exec的pvaIn参数为NULL的时候,IE就会调用自己的打印模板进行打印。

我们可以用打印模板做一些什么事情呢?
     1、 控制打印和预览时页面的版面,打印以及预览的内容;
     2、 控制打印任务如何被处理,例如以何种顺序打印页面;
     3、 控制打印预览窗口的外观,在打印用户界面上放置定制的控件。
有了打印模板,我们可以加入一些非常酷的功能,例如加入公司的Logo,法律声明,广告;定制页眉页脚的位置和样式;安排打印计划进行定时打印,如此等等。
     一个打印模板其实就是一个标准的HTML文件,与其他的HTML文件不同的是,他有4个声明模板的基本元素:LAYOUTRECT,DEVICERECT,TEMPLATEPRINTER和HEADERFOOTER。下面讲解一下这4个模板元素的作用:   
      LAYOUTRECT:为打印和预览模板中的文档内容生成容器.
      DEVICERECT:为LAYOUTRECT元素和打印模板中的其他内容提供一个容器。位于DEVICERECT之外的内容都不会被打印。
      TEMPLATEPRINTER:提供一个打印模板以获取页面设置和打印设置,并且可以控制从打印模板初始化出来的打印作业。
      HEADERFOOTER:提供一个工具以便打印模板可以把页眉和页脚的格式化字符串转换为格式化的HTML文本。
以上这些对象我们都可以从MSDN上面找到相应的参考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息