利用WebBrowser实现Web打印的分析

转载 2007年10月12日 15:01:00

利用WebBrowser实现Web打印的分析

WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。本文以asp为例,但是他可以容易的移植到其他web技术中。

一、WebBrowser控件

<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

二、WebBrowder控件的方法

//打印

WebBrowser1.ExecWB(6,1);

//打印设置

WebBrowser1.ExecWB(8,1);

//打印预览

WebBrowser1.ExecWB(7,1);

三、实现打印的设置,打印数据的生成,打印的预览,和打印。

实现打印的设置,打印数据的生成,打印的预览,和打印我一般这样做,假如查询结果在a.asp中,那么在a.asp中放置打印设置、打印预览、打印三个按钮。

单击打印设置按钮则在js中执行WebBrowser1.ExecWB(8,1),以打开打印设置窗口。

单击打印预览按钮则打开一个b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(7,1),以打开用户预览界面。

单击打印按钮则也打开b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(6,1),以自动打印数据。

四、代码

a.asp调用数据的程序就不给出了。只给出几个按钮的代码:

<input type=“button“ name=“mPrint“ value=“打印“ onclick=“exePrint();“>

<input type=“button“ name=“mPreview“ value=“打印预览“ onclick=“exePreview();“>

<input type=“button“ name=“mSetting“ value=“打印设置“ onclick=“exeSetting();“>

<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

<script language='javascript'>

function exePrint()

{

liu= window.open('b.asp?do=1','_blank','left=2000,top=2000,fullscreen=3');

}

function exePreview()

{

window.open('b.asp?do=2','_blank','left=2000,top=2000,fullscreen=3');

}

function exeSetting()

{

WebBrowser.ExecWB(8,1);

}

</script>

代码中打印设置的代码很简单,大家很容易理解。打印预览和打印的按钮需要告诉b.asp我们将要执行的是打印还是打印预览。另外,还要将查询字符串传递过去。当然web高手可以尝试其他方法,以避免反复重服务器调数据,当然初学者只能通过多次查询,以牺牲性能来解决打印了。

假设本例中a.asp通过传递一个查询串打开了b.asp,则在b.asp中将重新载入数据。在这里载入数据后将数据显示在网页上需要知道每个页要显示多少条(PageSize)。显示的时候每显示PageSize条后,就要显示一个<p style='page-break-before:always;'> 这个语句相当于分页符,也就是当打印或者预览时遇到了这个分页符后会强制分页。一般我们可以这样:

<table>

???

</table>

<p style='page-break-before:always;'>

<table>

???

</table>

<p style='page-break-before:always;'>

……

<table>

???

</table>

<p style='page-break-before:always;'>

显示完数据后根据用户的的指令(判断参数do的值),来分别执行预览或者打印。

如果是预览则执行下面代码:

WebBrowser.ExecWB(7,1);

window.opener=null;

window.close();

如果是打印则执行:

WebBrowser.ExecWB(6,1);

window.opener=null;

window.close();

 

利用WebBrowser实现Web打印的分析

  WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面...
  • precipitant
  • precipitant
  • 2005-01-03 14:35:00
  • 8082

利用WebBrowser彻底解决Web打印问题(包括后台打印)

  • 2011年07月29日 11:02
  • 46KB
  • 下载

C#web打印之WebBrowser

  • 2009年12月01日 10:05
  • 148KB
  • 下载

c# 利用webbrower控件打印html——实现打印页面设置

领导分配了一个任务,利用c#连接打印机,打印一个html页面,对于一个Java本专业还不太熟练的我,之前从未接触过c#,挑战还是很大的。但是没办法,做呗!!!首先找一个写c#的工具呗,所以下载了vs2...
  • weixin_39726228
  • weixin_39726228
  • 2018-02-28 17:58:44
  • 321

JavaScript利用IE内置打印控件IEWebBrowser进行打印

 代码示例:1HTML>HEAD>TITLE>JavaScript利用IE内置打印控件IEWebBrowser进行打印/打印页面设置/打印预览/控制分页打印TITLE>META http-equiv=...
  • taosst
  • taosst
  • 2007-10-15 13:12:00
  • 5227

ASP利用WebBrowser实现Web打印的分析

  WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面...
  • cncco
  • cncco
  • 2006-04-27 00:18:00
  • 870

WebBrowser 打印 总结

 http://www.w3.org/1999/xhtml">          .Noprint{  display:none; } .PageNext{page-br...
  • zhichao2001
  • zhichao2001
  • 2014-05-10 11:46:16
  • 3094

web 页面分页打印的实现

1.首先引入一个WebBrowser在需要打印的页面,可以直接添加: 代码如下: 到页面,或者使用JavaScript在需要的时候临时添加也可以: 代码如下: do...
  • hybaym
  • hybaym
  • 2015-01-22 17:39:40
  • 1923

在web项目中使用WebBrowser类-----给网站抓图

最近做一个WEB项目,其中要求有个功能就是程序能网页抓图,举个例子: 在test.aspx页面上放一个TextBox和一个Button,TextBox用来输入要抓取的网页地址,然后按了Button之...
  • m372897500
  • m372897500
  • 2013-11-11 14:02:24
  • 1131

用WebBrowser组件打印页面内容.

document.all.WebBrowser.ExecWB(6,6)参数例表4,1保存网页4,2保存网页(对话框)6,1直接打印6,2直接打印7,1打印预览7,2打印预览8,1选择参数,打印参数设置...
  • codeangel
  • codeangel
  • 2005-03-08 15:50:00
  • 6556
收藏助手
不良信息举报
您举报文章:利用WebBrowser实现Web打印的分析
举报原因:
原因补充:

(最多只允许输入30个字)