world转pdf-(速成简单-包含配置文件)

本文详细介绍了如何通过Java代码利用jacob库实现Word文档到PDF的转换,包括所需依赖、关键步骤和解决常见问题的方法。

本篇文章详细介绍了如何将world快速转成pdf

1、代码:

package com.example.demo.utils;

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

import java.io.File;

public class WorldToPdf {
    public static void wToPdfChange(String wordFile, String pdfFile) {//wordFile word 的路径  //pdfFile pdf 的路径
        System.out.println("转换开始...");
        ActiveXComponent app = null;
        try {
            // 打开word文件
            app = new ActiveXComponent("Word.Application");
            // 获得word中所有打开的文档
            Dispatch documents = app.getProperty("Documents").toDispatch();
            System.out.println("打开文件: " + wordFile);
            // 打开文档
            Dispatch document = Dispatch.call(documents, "Open", wordFile, false, true).toDispatch();
            // 如果文件存在的话,不会覆盖,会直接报错,所以我们需要判断文件是否存在
            File target = new File(pdfFile);
            if (target.exists()) {
                target.delete();
            }
            System.out.println("另存为: " + pdfFile);
            Dispatch.call(document, "SaveAs", pdfFile, 17);
            // 关闭文档
            Dispatch.call(document, "Close", false);
        } catch (Exception e) {
            System.out.println("转换失败" + e.getMessage());
        } finally {
            //关闭office
            app.invoke("Quit", 0);

        }
    }

    public static void main(String[] args) {
        WorldToPdf.wToPdfChange("D:/test/1.docx", "D:/test/1.pdf");

    }
}

2、maven坐标

<!--world 转pdf-->
		<dependency>
			<groupId>net.sf.jacob-project</groupId>
			<artifactId>jacob</artifactId>
			<version>1.14.3</version>
		</dependency>

3、注意事项:

有可能报nullPointException异常

解决方案:将jacob1.14.3x86.dll 和jacob1.14.3x64.dll 两个文件放到 jdk/bin 和jdk/jre/bin 

然后重新在项目中配置该jdk (建议使用jdk1.8)

重启项目大功告成!!!

备注:两个配置文件在我的资源中可以看到,直接下载解压即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再写一行代码就下班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值