jacob调用Microsoft Office服务:VariantChangeType failed

    在使用java将office转成pdf时,为了保证效果,一般会使用jacob插件,jacob插件调用的时候需要配置jacob环境

1 windows服务器

2 安装word或者wps   

3 将jacob的jar包安装到依赖环境中,在将对应的dll文件拷到项目所依赖的jre/bin下,如果此处找不到在将dll文件,就讲dll文件拷贝到iwndows的system32下

此时在使用插件调用对应的程序就好了

在开发的时候在tomcat下使用正常,但是在was上跑的时候就出现了异常,开始没发调试,后来测试找到了真正的bug,就是VariantChangeType failed,此处需要eclipse的远程调试,跟踪was上的错误,一般的可以通过was的日志看出来。

出现此错误的原因是:com对像的交互类型又问题

解决方法:

Windows Vista/2008改变了COM对象默认的交互方式为“非交互”型的。Console启动本身支持应用交互,但service模式下就不行了。所以需要修改word DCOM默认的标识,改为“交互式用户”模式,即可正常调用了。
按照以下步骤修改后再测service模式下试转Word即可成功: 
1) 运行命令: mmc comexp.msc -32 
2) 找到:组件服务>计算机>我的电脑>DCOM组件>Microsoft Word 97-2003 文档; 
3) 右键点击,选择属性,修改标识为“交互式用户”,点击“确定”;

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值