码迷,mamicode.com
首页 > 其他好文 > 详细

jacob操作word

时间:2017-10-30 18:18:56      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:nbsp   window   资源文件   ace   java   stat   .com   error:   main   

首先,我是一个新手,也是第一次写文章,如有不正确的地方请大家见谅,我只是想记录一下自己学到东西。(都是别人的东西,我自己整理了一下)

一 、简介:

jacob(java com bridge,java com桥)分为两个部分,jacob.jar,jacob.dll,使用时两个东西的版本要一致,而且还分32位和64位,它的位数和jdk的位数有关,与操作系统的位数无关。它的原理是通过java的jni功能,调用系统组件dll,通过这个com桥来操作com组件(windows的一种软件编程技术吧),最终完成对office文档的操作。

二 、环境配置:

如果用Maven管理项目,可在pom.xml文件中添加如下的配置,该配置看在Maven仓库中找到。

技术分享

如果没有用Maven管理,需进行如下配置:

1、在工程中引入jar包

2、将dll文件放在jdk的path目录下面(放到jdk/jre/bin下),通过System.getProperty("java.library.path")

三、三种错误:

1、找不到jacob.dll,配置路径问题(确认jacob.dll配置正确) java.lang.UnsatisfiedLinkError: no jacob in java.library.path

2、找不到资源文件,资源文件路径问题(查看程序中资源文件路径的设置,并检查资源文件的存放路径) com.jacob.com.ComFailException: Invoke of: Open

3、jacob.dll或jacob.jar对应版本错误 com.jacob.com.ComFailException: A COM exception has been encountered:

四、打印方法

public class TestDoc {
    public static void main(String[] args) {
        String path="D:\\yanqiong.doc";
        System.out.println("开始打印");
        ComThread.InitSTA();
        ActiveXComponent word=new ActiveXComponent("Word.Application");
        Dispatch doc=null;
        Dispatch.put(word, "Visible", new Variant(false));
        Dispatch docs=word.getProperty("Documents").toDispatch();
        doc=Dispatch.call(docs, "Open", path).toDispatch();
        
        try {
            Dispatch.call(doc, "PrintOut");//打印
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("打印失败");
        }finally{
            try {
                if(doc!=null){
                    Dispatch.call(doc, "Close",new Variant(0));
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
            //释放资源
            ComThread.Release();
        }
    }
}

  五、参考

       1、http://happyqing.iteye.com/blog/2078151

       2、http://blog.csdn.net/u014134766/article/details/50969569

       3、http://men4661273.iteye.com/blog/2097871

 

jacob操作word

标签:nbsp   window   资源文件   ace   java   stat   .com   error:   main   

原文地址:http://www.cnblogs.com/mjq-bky/p/7755317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!