webprint.dll怎么使用

webprint.dll怎么使用,第1张

WebPrint是由以前的WebPrint3.1和ePrint3.0这两个产品合并而成的,合并后的产品以WebPrint为名,慢慢废弃不用

ePrint作名称,在WebPrint的产品包中还是清楚地分为:一个实现html

table的直接打印功能(即原来的WebPrint3.1),一个实现web套打功能(即原来的ePrint3.0)。WebPrint是一个全面强大的web打印的解决方案。它可以直接在IE浏览器中可视化的设计各种复杂的打印模版, 轻松解决Web套打问题。也可以直接打印用ASP,JSP等动态程序生成的HTML页面。

常见使用方法如下:

1、增加打印url的属性

描述:当设置这个属性的值为一个url链接,然后再调用Print()函数做打印,就可以将url链接到的网页打印出来。

语法: webprint.printURL=[StringValue]

Webprint.Print()或 webprint.preview()

应用于:webprint对象

使用举例:

Webprint.InitPrint()

Webprint.printURL=””

Webprint.Preview() //会查看到链接到的页面

注意:webprint是打印小插件的id.

2、增加打印完成的状态属性

描述:当调用dll控件做打印文档的时候,文档处理完成,成功发送给打印机处理的时候,这个时候,此状态值会变成”over”;即用户在做打印文档的时候,可以通过回调判断这个属性的值来判断文档是否打印完成。

语法:webprint.state

使用举例:

Webprint.InitPrint()

Webprint.Print()

……此处需要使用回调来判断是否打印完成。

If (webprint.state==”over”){

Alert(“打印完成!”)

}

注意:webprint是打印小插件的id

 一、浏览器的打印功能菜单 

这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如: 

不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。 

不能准确对齐边边距及打印文字。 

不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。 

二、使用webbrowser控件+ javascript 

这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。 

三 、使用print css 

这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比 如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见http://css-discuss.incutio.com /?page=PrintStylesheets 

四 、使用PDF文件 

用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能 实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。

现在有两种解决方案,

(1).第一种是需要安装插件,网上下载ScriptX.cab文件

下载成功后将文件放在项目某个目录下,然后在页面body中写上:

<object id="factory" name="factory" style="display: none" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="ScriptX.cab" viewastext></object>(记得codebase属性为ScriptX.cab文件的放置路径,是绝对路径)

把window.print()改成:factory.printing.Print(false)即可

远程访问时需要在IE浏览器设置:

1.安全 ->受信任的站点 ->站点 ->添加受信任访问站点(如果是访问远程那么是对方IP地址,如果是本地则是本机IP.例如http://192.168.172.1)

(2).第二种是无需要安装插件

首先需要在页面body中写上:

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

把window.print()改成:document.getElementById("WebBrowser").ExecWB(6,2)即可

最后记住一定需要在IE浏览器设置:

1.安全 ->本地Intranet ->自定义级别 - 找到ActiveX控件和插件项,选择对未标记为可安全执行的ActiveX控件初始化并执行脚本,再选择启用

2.安全 ->受信任的站点 ->自定义级别 - 找到ActiveX控件和插件项,选择对未标记为可安全执行的ActiveX控件初始化并执行脚本,再选择启用

3.安全 ->受信任的站点 ->站点 ->添加受信任访问站点(如果是访问远程那么是对方IP地址,如果是本地则是本机IP.例如http://192.168.172.1)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8100849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存