`
zgqynx
  • 浏览: 1366275 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用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();
分享到:
评论
2 楼 InnocentBoy 2007-07-04  
可以,已经解决了。
1 楼 InnocentBoy 2007-07-04  
jsp中WebBrowser不能用吗?

相关推荐

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

    【WebBrowser控件详解及其在Web打印中的应用】 在BS架构的应用中,打印功能的实现往往是一项挑战,尤其是当需求涉及到部分打印和后台批量打印时。本文将介绍如何利用IE内置的WebBrowser控件来解决这些问题,使得...

    C#web打印之WebBrowser

    本主题主要探讨的是如何利用C#中的WebBrowser控件实现Web打印功能,特别是在处理销售单等业务场景下的应用。 首先,我们需要理解WebBrowser控件的基本用法。在C#中,通过在窗体上添加WebBrowser控件,可以像浏览器...

    asp.net实现web打印功能

    在ASP.NET中实现Web打印功能是一项常见的需求,它允许用户直接从网页上打印内容而无需先下载文件。本文将深入探讨如何在ASP.NET环境中构建这一功能,并基于描述中的"print.html"文件,推测这是一个用于演示Web打印...

    JavaWeb开发 使用WebBrowser控件打印页面demo

    在提供的文件"IE内置的WebBrowser控件之--WEB打印.html"中,可能包含了使用WebBrowser控件进行打印的示例代码。这个HTML文件可能用于展示如何在客户端通过JavaScript或者其他方式触发WebBrowser控件的打印功能。 ...

    Web系统页面打印技术实现与分析V1.0.pdf

    ### Web系统页面打印技术实现与分析 #### 一、Web页面打印概述 随着信息技术的发展,越来越多的应用被...以上就是关于Web系统页面打印技术实现与分析的相关知识点,希望能够帮助开发者更好地理解和掌握Web打印技术。

    WebBrowser 打印

    在这个特定的场景中,我们关注的是“WebBrowser打印”功能,即如何利用WebBrowser控件来实现网页的打印操作。下面将详细探讨这一知识点。 首先,WebBrowser控件是.NET Framework提供的一种Windows Forms控件,它...

    Web打印设置总结

    本文将深入探讨Web打印设置的几种常见方法,包括直接页面设置打印、利用IEWebBrowser控件实现打印等,旨在为用户提供一个全面且实用的Web打印解决方案。 #### 直接页面设置打印 最直接的Web打印方法是通过浏览器...

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

    ### 利用IE内置打印控件IEWebBrowser...通过上述分析,我们可以看到利用IEWebBrowser控件进行打印不仅方便快捷,而且还能实现较为复杂的分页打印控制,这对于需要频繁处理文档打印任务的应用场景来说是非常实用的功能。

    WEB中实现打印预览

    ### WEB中实现打印预览 在现代Web开发中,实现网页内容的打印预览功能是一项常见且实用的需求。用户往往需要将网页上的某些内容(如报告、发票等)以特定格式打印出来,这就要求开发者能够提供一个良好的打印预览...

    Web打印控制技术总结

    2. **利用WebBrowser控件实现打印** - **客户端脚本方式**:使用JavaScript(JScript)分析DOM文档,提取并生成打印目标文档。这种方式减轻服务器负担,但源文档分析复杂,需要预先约定打印内容。 - **服务器端...

    .NET web打印

    .NET Web打印技术主要涉及到网页中的打印功能实现,它利用了Internet Explorer浏览器的ActiveX控件来完成。在本文中,我们将深入探讨如何实现这一功能,以及需要注意的关键点。 首先,要实现Web打印,我们需要在...

    C#打印网页内容

    利用该控件不仅可以加载和浏览网页,还可以实现对网页内容进行打印的功能。本文将详细介绍如何通过 C# 和 WebBrowser 控件实现网页内容的打印。 #### 一、准备工作 在开始之前,我们需要创建一个Windows Forms ...

    WebBrowser控件技巧集

    WebBrowser控件是...通过上述技巧,开发者能够充分利用WebBrowser控件,创建功能丰富的桌面应用,实现与Web的深度集成。"调用WebBrowser技巧集.doc"文档很可能是详细介绍这些技巧的参考资料,值得仔细阅读和学习。

    用壳浏览器实现Web的本地灵活打印.zip

    总的来说,"用壳浏览器实现Web的本地灵活打印"是一个实用的技术方案,它展示了如何利用定制化浏览器和服务器端技术来优化Web打印体验。对于那些需要频繁进行Web打印的业务,这种解决方案无疑能显著提升用户体验,...

    基于WebBrowser JS CSS的文书打印方案探究.pdf

    基于WebBrowser JS CSS的文书打印方案可以实现文书打印的快速、便捷和所见即所得目标,该方案专注于前端设计,不需要与服务器端直接交互,相对独立地实现了页面排版、预览和打印的功能。该方案可以解决文书打印的...

    C#生成Html并在WebBrowser中显示

    综上所述,通过C#动态生成HTML,并利用WebBrowser控件在桌面应用中显示,我们可以实现丰富的交互式功能。这不仅适用于初学者,也是专业开发者日常工作中不可或缺的技能。通过不断实践和学习,你将能够更好地掌握这一...

Global site tag (gtag.js) - Google Analytics