指定客户端打印机打印方案

楼主
欢迎找我唠嗑
比如要对A.cpt这个模版指定Aprint这个打印机来打印。
打开模版,添加web按钮(比如是分页预览,则 设计器选择:模版〉模版WEB属性>分页预览设置)


选择为该模版单独设置。
勾选使用工具栏
双击自定义按钮来添加一个自定义按钮
然后在双击


进入编辑页面


选择自定义按钮,点击自定义事件
  1. var printName='FinePrint';
  2. var localtor=new ActiveXObject("WbemScripting.SWbemLocator");
  3. var service=localtor.ConnectServer(".");
  4. var properties=service.ExecQuery("SELECT * FROM Win32_Printer");
  5. var e=new Enumerator(properties);
  6. for(;!e.atEnd();e.moveNext()){
  7.         var p=e.item();
  8.         if(p.Name==printName){
  9.                 p.setDefaultPrinter();
  10.                 break;
  11.         }
  12. }
  13. FR.doURLAppletPrint("/WebReport/ReportServer?reportlet=GettingStarted.cpt",false);
复制代码
将红色标记改为你需要指定的打印机名和模版路径
假如你要打印的模版有参数,则将参数传递到这个事件中加在URL后面即可
比如:

这样就可以把参数传递进去。
  1. var url=FR.cjkEncode("/WebReport/ReportServer?reportlet=GettingStarted.cpt&地区="+parm);
  2. FR.doURLAppletPrint(url,false);
复制代码
注:这里的cjkEncode是用来处理中文的,传递中文需要先编码一下。
然后确定到第一张图的位置,添加图中的applet打印后事件
为了不影响其他打印,我们把默认打印机设置回去。


  1. var defaultPrinter='Fax';
  2. var el=new Enumerator(properties);
  3.         for(;!el.atEnd();el.moveNext()){
  4.                 var p=el.item();
  5.                 if(p.Name==defaultPrinter){
  6.                 p.setDefaultPrinter();
  7.                 break;
  8.         }
  9. }
复制代码
到此一张指定打印机的模版就完成了。
注:
该方案由于用到active控件,所以只能在IE下使用。
假如遇到Automation 服务器不能创建对象这样的报错按照一下方法来解决一般1和2就可以了。
1、如果是Scripting.FileSystemObject (FSO 文本文件读写)被关闭了,开启FSO功能即可,在“运行”中执行regsvr32 scrrun.dll即可

2、安全模式设置成“中”,如果javascript脚本中报这个错误,还应将IE的安全设置“不允许运行未标记为安全的activeX控件”启用即可。

注意如果您将相应的网站设成“受信任的站点”,必须对“受信任的站点”进行相应的IE安全设置,此时如果对“Internet”IE设置将是徒劳

的。

3、有些脚本需要微软的 MSXML 控件才能进入。当使用 IE 5 以上版本的缺省安全模式时,会提示是否接受 MSXML 控件,如果接受,MSXML 将

自动安装到您的机器上(得等上几分钟)。如果自动安装不成功,可以自行下载和安装 MSXML 3.0 SP7。有时是由于msxml 3服务被关掉了,使用

regsvr32 msxml3.dll即可
GettingStarted.cpt (14 KB, 下载次数: 13, 售价: 10 个F豆)
PS:模版中的打印机是我自己的虚拟打印机,测试的时候需要自己修改成自己设备能连接的打印机


分享扩散:

沙发
发表于 2014-10-8 13:13:04
本帖最后由 夏娃 于 2015-12-16 12:51 编辑

好东西,分享一下!{:5_147:}


板凳
发表于 2014-10-8 16:46:34
本帖最后由 夏娃 于 2015-12-16 12:51 编辑

好东西收藏了。。。。


地板
发表于 2015-5-2 06:39:39
本帖最后由 夏娃 于 2015-12-16 12:51 编辑

顶一下哦
我进来全方面的了解学习一下以前的知识点
{:8_198:}


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

3回帖数 2关注人数 7645浏览人数
最后回复于:2015-5-2 06:39

返回顶部 返回列表