JAVA使用 jacob 完成 word 转HTML

在项目中导入下面的jar包

jacob 的jar包
Pom加入以下内容,引入本地 jacob.jar 包依赖

  <dependency>
   		<groupId>com.jacob</groupId>
        <artifactId>jacob</artifactId>
        <version>1.19</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/resources/lib/jacob.jar</systemPath>
  </dependency>

将以下文件,copy到自己jdk安装目录的bin目录下

在这里插入图片描述

核心代码

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class JacobUtil {
    //word 转 HTML
    public static int  DOC_SAVE_TYPE_HTML = 10;
    //doc 转 docx
    public static int  DOC_SAVE_TYPE_DOCX = 12;
    /**
     * doc转为docx
     * @param docPath word文件路径
     * @param outPath 输出文件路径
     */
    public static void wordConvertDocx(String docPath,String outPath) {
        wordConvert(docPath, outPath, JacobUtil.DOC_SAVE_TYPE_DOCX);
    }

    /**
     * docx转为html
     * @param docPath word文件路径
     * @param outPath 输出文件路径
     */
    public static void wordConvertHtml(String docPath,String outPath){
        wordConvert(docPath,outPath,JacobUtil.DOC_SAVE_TYPE_HTML);
    }

    /**
     * word转换为文件
     * @param docPath word路径
     * @param outFileName html文件路径
     * @param docSaveType 另存为的文件类型,
     */
    public static void wordConvert(String docPath,String outFileName ,int docSaveType) {
        ActiveXComponent app = new ActiveXComponent("Word.Application");
        try {
            Dispatch documents = app.getProperty("Documents").toDispatch();
            Dispatch doc = Dispatch.call(documents, "Open", docPath, false, true).toDispatch();
            Dispatch selection = Dispatch.get(app, "Selection").toDispatch();
            Dispatch option = Dispatch.get(doc, "WebOptions").toDispatch();
            // 设置编码 65001 or utf-8
            Dispatch.put(option, "Encoding", 65001);
            Dispatch.invoke(doc, "SaveAs", Dispatch.Method,
                    new Object[]{outFileName, new Variant(docSaveType)}, new int[1]);
            Dispatch.call(doc, "Close", new Variant(0));
            System.out.println("文件[" + docPath + "]转换完成");
            doc = null;
        } catch (Exception e) {
            e.printStackTrace();

        }finally {
            Dispatch.call(app, "Quit");
            app = null;
        }
    }
}

调用测试

以下文件路径需要替换成自己真实的路径

public void test(){
        JacobUtil.wordConvertHtml("D:\\123456.docx","D:\\123456.html");
    }

注:以上jar 和 dll 文件自行百度,或者私信我。看到后 回发。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值