ASP编程:使用WebBrowser完成Web打印的剖析
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了. 另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)web|web打印 WebBrowser是IE内置的阅读器控件,无需用户下载。本文档所会商的是有关IE6.0版本的WebBrowser控件手艺内容。其他版本的IE应当也撑持。与其相干的手艺请求有:打印文档的生成、页面设置、打印操作的完成等几个环节。本文以asp为例,然而他可以轻易的移植到其他web手艺中。1、WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
2、WebBrowder控件的办法
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);
3、完成打印的设置,打印数据的生成,打印的预览,和打印。
完成打印的设置,打印数据的生成,打印的预览,和打印我普通如许做,假设查询了局在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),以主动打印数据。
4、代码
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();
</p>只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 不能只是将它停留在纸上谈兵的程度上。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 不能只是将它停留在纸上谈兵的程度上。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]