ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-09-30 16:59:38  阅读:170  来源: 互联网

标签:配置文件 System Dispatch println pdf jacob world wordFile pdfFile


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

1、代码:

package com.example.demo.utils;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import org.springframework.stereotype.Repository;

import java.io.File;

@Repository
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)

重启项目大功告成!!!

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

标签:配置文件,System,Dispatch,println,pdf,jacob,world,wordFile,pdfFile
来源: https://blog.csdn.net/qq_43538925/article/details/120569211

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有