java pass can not be_使用jacob错误 java.lang.IllegalArgumentException: Can't pass in null Dispatch obje...

调用jacob打印word时,有以下错误

java.lang.IllegalArgumentException: Can't pass in null Dispatch object

at com.jacob.com.Dispatch.throwIfUnattachedDispatch(Dispatch.java:283)

at com.jacob.com.Dispatch.callN(Dispatch.java:452)

at com.xquant.platform.component.web.trade.documentprinthandler.service.

CallPrinter.printWord(CallPrinter.java:59)

这个问题查了很久  本地是可以的 但是将代码放到测试服务器上时一直有这个错误

后来发现是打印机的名字没有对上

e2cdc161313e000bd02e66cc9bdb1f70.png

另外整理了使用jacob环境的一些配置

jacob-1.18-x86.dll 、jacob-1.18-x64.dll

文件放在 %Java_Home%jre/bin 与  %Java_Home%/bin  目录下

以下为打印失败  则追加:

jacob-1.18-x64.dll放到C:\Windows\System32下面(64位)

jacob-1.18-x86.dll放到C:\Windows\SysWOW64下面(32位)

检查以下步骤

df13bdb37b2793a5e2e256c08f789c7e.png

还有个别win7的电脑需要设置一下,如下:在运行窗口输入dcomcnfg,打开组件服务窗口。选择[组件服务]-[计算机]-[我的电脑]-[DCOM配置]-[Microsoft Office Word97-2003文档],右键[属性],选中[标识],将启动用户改成交互式用户。点击确定即可。

ea30b6bbcad2e551c9f9abd1d40ed169.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值