相信很多朋友在Windows界面中使用过WebBrowser控件,这让我们可以很方便的访问页面中的任何元素。可能也有很多人用过一个第三方的打印控件ScriptX(可以在http://www.meadroid.com/scriptx/下载),用来页面打印很方便。下面是一个例子,主页面上有一个按钮“打印”,点击后直接打印一个页面。主页面<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<SCRIPT language=JavaScript>function btnPrt()
{
with(factory.printing){
header = "";
footer = "";
portrait = true;
leftMargin = 0;
topMargin = 0;
rightMargin = 0;
bottomMargin = 0;
alert("是否打印2")
Print(false, prt_frame);
}}
</SCRIPT><TITLE></TITLE>
</HEAD>
<BODY>
<IFRAME name=prt_frame src="PrintPage.htm" width=0 height=0></IFRAME>
<object id="factory" viewastext style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="http://[your-path]/smsx.cab#Version=6,2,433,70">
</object>
<P>这是主页面</P>
<P> </P>
<P><INPUT type=button value=打印按钮 onclick="btnPrt()"></P></BODY>
</HTML>其中<IFrame></IFrame>指向需要打印的页面,各位可以随便弄个简单的页面,然后把"src"指向打印页面即可。
<object></object>即是注册好的打印组件"ScriptX",可以在前面给得主页上下载并安装,然后在页面里添加这段代码就可以使用了。
Function btnPrt() 就是打印的函数,实际上是调用了ScriptX中的方法。由“打印”按钮触发这个JScript事件OK, 以上解释就到这里。经过这样的代码添加后,我们点击主页面中 “打印”按钮,就可以自动打印<IFrame>指向的页面了。因为我们在调用Print的时候用了False参数,所以可以直接用默认打印机打印出来。当然这些是直接用IE打开的时候完全正常,但是从WebBrowser空间中去加载这个页面,就是打印不出来。大家看我加了一个alert语句,从webbrowser加载页面时,可以触发这个事件,可以运行到alert的地方,可是它就是到Print的地方会报错~~~~~~~~~~~~~~我看msdn上本来就说webbrowser对打印功能支持的不好,可是真的没有办法解决吗?希望大家能来讨论一下
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<SCRIPT language=JavaScript>function btnPrt()
{
with(factory.printing){
header = "";
footer = "";
portrait = true;
leftMargin = 0;
topMargin = 0;
rightMargin = 0;
bottomMargin = 0;
alert("是否打印2")
Print(false, prt_frame);
}}
</SCRIPT><TITLE></TITLE>
</HEAD>
<BODY>
<IFRAME name=prt_frame src="PrintPage.htm" width=0 height=0></IFRAME>
<object id="factory" viewastext style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="http://[your-path]/smsx.cab#Version=6,2,433,70">
</object>
<P>这是主页面</P>
<P> </P>
<P><INPUT type=button value=打印按钮 onclick="btnPrt()"></P></BODY>
</HTML>其中<IFrame></IFrame>指向需要打印的页面,各位可以随便弄个简单的页面,然后把"src"指向打印页面即可。
<object></object>即是注册好的打印组件"ScriptX",可以在前面给得主页上下载并安装,然后在页面里添加这段代码就可以使用了。
Function btnPrt() 就是打印的函数,实际上是调用了ScriptX中的方法。由“打印”按钮触发这个JScript事件OK, 以上解释就到这里。经过这样的代码添加后,我们点击主页面中 “打印”按钮,就可以自动打印<IFrame>指向的页面了。因为我们在调用Print的时候用了False参数,所以可以直接用默认打印机打印出来。当然这些是直接用IE打开的时候完全正常,但是从WebBrowser空间中去加载这个页面,就是打印不出来。大家看我加了一个alert语句,从webbrowser加载页面时,可以触发这个事件,可以运行到alert的地方,可是它就是到Print的地方会报错~~~~~~~~~~~~~~我看msdn上本来就说webbrowser对打印功能支持的不好,可是真的没有办法解决吗?希望大家能来讨论一下
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货