- 浏览: 1366256 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (551)
- 计划 (4)
- java (115)
- oracle (60)
- ajax (3)
- javascript (64)
- 计算机操作技巧集 (11)
- 近期关注话题 (10)
- 随想 (13)
- html (6)
- struts (15)
- hibernate (16)
- spring (2)
- game (0)
- Eglish (10)
- DisplayTag (6)
- jsp (18)
- css (3)
- eclipse (3)
- 其他知识 (8)
- 备用1 (12)
- 备用2 (1)
- 笑话-放松心情 (9)
- 设计 (1)
- 设计模式 (1)
- 数据结构 (0)
- office办公软件 (5)
- webwork (0)
- tomcat (2)
- MySql (1)
- 我的链接资源 (5)
- xml (2)
- servlet (0)
- PHP (13)
- DOM (0)
- 网页画图vml,canvas (1)
- 协议 (2)
- 健康 (3)
- 书籍下载 (1)
- jbpm (1)
- EXT (1)
- 自考 (2)
- 报表 (4)
- 生活 (64)
- 操作系统基础知识 (2)
- 测试 (2)
- guice (1)
- google学习 (2)
- Erlang (1)
- LOG4J (2)
- wicket (1)
- 考研 (1)
- 法律 (1)
- 地震 (1)
- 易学-等等相关 (1)
- 音乐 (1)
- 建站 (4)
- 分享说 (3)
- 购物省钱 (0)
- linux (1)
最新评论
-
zenmshuo:
如果使用SpreadJS这一类的表格工具,应该能更好的实现这些 ...
js中excel的用法 -
hjhj2991708:
第一个已经使用不了
jar包查询网站 非常好用! -
jiangmeiwei:
...
中文乱码 我的总结 不断更新 -
gary_bu:
...
response.sendRedirect 中文乱码问题解决 -
hnez:
多谢指点,怎么调试也不通,原来我在<body>&l ...
ExtJs IE ownerDocument.createRange() 错误解决方案
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控件
<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();
发表评论
-
给HTML增加自定义属性
2010-01-08 16:40 3175增加自定义属性 <input type="te ... -
ExtJs IE ownerDocument.createRange() 错误解决方案
2009-12-07 09:22 3818在开发ExtJs程序的过程中,遇到如下问题:在firefox中 ... -
js面向对象
2009-07-30 17:40 1118关于js 面向对象的优秀文章的连接 有困难,找猪八戒 htt ... -
javascript辅助方法--不断更新
2009-05-08 11:19 1025有困难,找猪八戒 对js中的辅助方法进行收集,不断补充 /*得 ... -
javascript js 飘浮 图片 或者 文字
2009-03-25 19:18 2326本文引自http://www.webmasters-centr ... -
js去掉开头和结尾的空格 js trim
2009-03-24 10:07 7271/* * 去掉开头和结尾的space, tab, form ... -
js中excel的用法
2009-03-18 08:57 8524有困难,找猪八戒 转载自: http://hi.baidu.c ... -
js insertCell colspan
2009-03-12 14:37 4872转自:http://objectmix.com/javascr ... -
js IE关闭窗口
2009-01-15 20:08 1978参考文章: http://www.webdeveloper.c ... -
js客户端验证上传文件大小
2009-01-13 16:05 4803有困难,找猪八戒 function getFileSize(f ... -
偶然发现一个小工具,查看颜色
2008-12-30 13:15 1740偶然发现一个小工具,查看颜色 另外,再加上两个小工作:颜色和像 ... -
window.open 方法怪问题 参数失效
2008-10-31 18:12 2392window.open(URL,name,specs,repl ... -
一些浏览器的屏蔽功能
2008-10-30 18:23 1408http://www.putiancheng.com/tool ... -
一个好用的js树 梅花雪MzTreeView
2008-10-24 19:20 3800主要是速度特别快 用另外一个js树,要100秒,用这个,1秒 ... -
解决JavaScript页面刷新与弹出窗口问题
2008-10-11 09:45 1887解决JavaScript页面刷新与弹出窗口问题 原文:htt ... -
js 定位 光标 到输入框的 指定位置
2008-10-02 16:20 5808//从此处摘得 http://www.experts-exch ... -
js 正则表达式 从网上找的
2008-09-25 09:01 10671、//校验IP格式 function a(ip_addres ... -
Javascript: 两个列表框之间移动数据
2008-09-11 11:41 1791http://topic.csdn.net/t/2002052 ... -
未结束的字符串常量 中文引起
2008-08-02 11:37 7025因为外部js文件中包含 ... -
javascript 框架相关资源记录
2008-06-11 14:00 1170介绍jquery的 http://www.iteye.com/ ...
相关推荐
【WebBrowser控件详解及其在Web打印中的应用】 在BS架构的应用中,打印功能的实现往往是一项挑战,尤其是当需求涉及到部分打印和后台批量打印时。本文将介绍如何利用IE内置的WebBrowser控件来解决这些问题,使得...
本主题主要探讨的是如何利用C#中的WebBrowser控件实现Web打印功能,特别是在处理销售单等业务场景下的应用。 首先,我们需要理解WebBrowser控件的基本用法。在C#中,通过在窗体上添加WebBrowser控件,可以像浏览器...
在ASP.NET中实现Web打印功能是一项常见的需求,它允许用户直接从网页上打印内容而无需先下载文件。本文将深入探讨如何在ASP.NET环境中构建这一功能,并基于描述中的"print.html"文件,推测这是一个用于演示Web打印...
在提供的文件"IE内置的WebBrowser控件之--WEB打印.html"中,可能包含了使用WebBrowser控件进行打印的示例代码。这个HTML文件可能用于展示如何在客户端通过JavaScript或者其他方式触发WebBrowser控件的打印功能。 ...
### Web系统页面打印技术实现与分析 #### 一、Web页面打印概述 随着信息技术的发展,越来越多的应用被...以上就是关于Web系统页面打印技术实现与分析的相关知识点,希望能够帮助开发者更好地理解和掌握Web打印技术。
在这个特定的场景中,我们关注的是“WebBrowser打印”功能,即如何利用WebBrowser控件来实现网页的打印操作。下面将详细探讨这一知识点。 首先,WebBrowser控件是.NET Framework提供的一种Windows Forms控件,它...
本文将深入探讨Web打印设置的几种常见方法,包括直接页面设置打印、利用IEWebBrowser控件实现打印等,旨在为用户提供一个全面且实用的Web打印解决方案。 #### 直接页面设置打印 最直接的Web打印方法是通过浏览器...
### 利用IE内置打印控件IEWebBrowser...通过上述分析,我们可以看到利用IEWebBrowser控件进行打印不仅方便快捷,而且还能实现较为复杂的分页打印控制,这对于需要频繁处理文档打印任务的应用场景来说是非常实用的功能。
### WEB中实现打印预览 在现代Web开发中,实现网页内容的打印预览功能是一项常见且实用的需求。用户往往需要将网页上的某些内容(如报告、发票等)以特定格式打印出来,这就要求开发者能够提供一个良好的打印预览...
2. **利用WebBrowser控件实现打印** - **客户端脚本方式**:使用JavaScript(JScript)分析DOM文档,提取并生成打印目标文档。这种方式减轻服务器负担,但源文档分析复杂,需要预先约定打印内容。 - **服务器端...
.NET Web打印技术主要涉及到网页中的打印功能实现,它利用了Internet Explorer浏览器的ActiveX控件来完成。在本文中,我们将深入探讨如何实现这一功能,以及需要注意的关键点。 首先,要实现Web打印,我们需要在...
利用该控件不仅可以加载和浏览网页,还可以实现对网页内容进行打印的功能。本文将详细介绍如何通过 C# 和 WebBrowser 控件实现网页内容的打印。 #### 一、准备工作 在开始之前,我们需要创建一个Windows Forms ...
WebBrowser控件是...通过上述技巧,开发者能够充分利用WebBrowser控件,创建功能丰富的桌面应用,实现与Web的深度集成。"调用WebBrowser技巧集.doc"文档很可能是详细介绍这些技巧的参考资料,值得仔细阅读和学习。
总的来说,"用壳浏览器实现Web的本地灵活打印"是一个实用的技术方案,它展示了如何利用定制化浏览器和服务器端技术来优化Web打印体验。对于那些需要频繁进行Web打印的业务,这种解决方案无疑能显著提升用户体验,...
基于WebBrowser JS CSS的文书打印方案可以实现文书打印的快速、便捷和所见即所得目标,该方案专注于前端设计,不需要与服务器端直接交互,相对独立地实现了页面排版、预览和打印的功能。该方案可以解决文书打印的...
综上所述,通过C#动态生成HTML,并利用WebBrowser控件在桌面应用中显示,我们可以实现丰富的交互式功能。这不仅适用于初学者,也是专业开发者日常工作中不可或缺的技能。通过不断实践和学习,你将能够更好地掌握这一...