Java将word文件转成pdf文件的操作方法

 更新时间:2023年09月02日 11:35:26   作者:吴名氏.  
这篇文章主要介绍了Java将word文件转成pdf文件的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

说明:使用本方法计算机中必须含有office

一.准备工作

1.准备如图三个文件:

2.将第二个文件复制到C:\Windows\System32,将第三个文件复制到C:\Windows\SysWOW64,

然后将这两个文件复制到jdk,jre里面的bin文件夹

二.开始编译

1.项目导入第一个文件的jar包

2.代码如图所示:

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import java.io.File;
public class Test {
        static final int wdDoNotSaveChanges = 0;// 不保存待定的更改。
        static final int wdFormatPDF = 17;// PDF 格式
        public static void wordToPdf(String wordpath, String pdfpath) {
            System.out.println("启动Word...");
            long start = System.currentTimeMillis();
            ActiveXComponent app = null;
            try {
                //打开word应用程序
                app = new ActiveXComponent("Word.Application");
                设置应用操作是文档不在明面上显示,只在后台静默处理。
                app.setProperty("Visible", false);
                //获得文档集合,用来操作我们需要处理的文档.
                Dispatch docs = app.getProperty("Documents").toDispatch();
                System.out.println("打开文档..." + wordpath);
                //打开word文档
                Dispatch doc = Dispatch.call(docs,//
                        "Open", //
                        wordpath,// FileName
                        false,// ConfirmConversions
                        true // ReadOnly
                ).toDispatch();
                System.out.println("转换文档到PDF..." + pdfpath);
                File tofile = new File(pdfpath);
                //创建存放pdf的文件夹
                if (tofile.exists()) {
                    tofile.delete();
                }
                //将word另存为pdf
                Dispatch.call(doc,//
                        "SaveAs", //
                        pdfpath, // FileName
                        wdFormatPDF);
                //关闭word文档
                Dispatch.call(doc, "Close", false);
                long end = System.currentTimeMillis();
                System.out.println("转换完成..用时:" + (end - start) + "ms.");
            } catch (Exception e) {
                System.out.println("========Error:文档转换失败:" + e.getMessage());
            } finally {
                if (app != null)
                    app.invoke("Quit", wdDoNotSaveChanges);
            }
        }
        public static void main(String[] args) {
            wordToPdf("C:\\Users\\wukefan\\Desktop\\test.doc","C:\\Users\\wukefan\\Desktop\\test.pdf");
        }
}

三.运行项目

1.运行成功,项目结果如图所示:

2.如图所示桌面,桌面多了个pdf文件:

到此这篇关于利用Java将word文件转成pdf文件的文章就介绍到这了,更多相关java word转pdf文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springmvc html资源请求404的问题解决并分析

    springmvc html资源请求404的问题解决并分析

    这篇文章主要介绍了springmvc html资源请求404的问题解决并分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Java Dubbo框架知识点梳理

    Java Dubbo框架知识点梳理

    这篇文章主要介绍了Java Dubbo框架知识点梳理,通过详细的文字讲解和代码实例,梳理了Dubbo这个框架,需要的朋友可以参考下
    2021-06-06
  • 聊聊java 过滤器、监听器、拦截器的区别(终结篇)

    聊聊java 过滤器、监听器、拦截器的区别(终结篇)

    这篇文章主要介绍了聊聊java 过滤器、监听器、拦截器的区别(终结篇),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Netty分布式ByteBuf使用subPage级别内存分配剖析

    Netty分布式ByteBuf使用subPage级别内存分配剖析

    这篇文章主要为大家介绍了Netty分布式ByteBuf使用subPage级别内存分配剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • MyBatis一对一映射初识教程

    MyBatis一对一映射初识教程

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。在我们生活中一对一的例子很多见,下面通过本文给大家带来了mybatis一对一映射初识教程,感兴趣的朋友一起看下吧
    2016-08-08
  • SpringMVC底层执行流程及原理解析

    SpringMVC底层执行流程及原理解析

    这篇文章主要介绍了SpringMVC底层执行流程及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 详解spring集成mina实现服务端主动推送(包含心跳检测)

    详解spring集成mina实现服务端主动推送(包含心跳检测)

    本篇文章主要介绍了详解spring集成mina实现服务端主动推送(包含心跳检测),具有一定的参考价值,与兴趣的可以了解一下
    2017-09-09
  • Springboot整合Urule的方法步骤

    Springboot整合Urule的方法步骤

    这篇文章主要介绍了Springboot整合Urule的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • Java使用跳转结构实现队列和栈流程详解

    Java使用跳转结构实现队列和栈流程详解

    这篇文章主要介绍了Java使用跳转结构实现队列和栈流程,连续结构和跳转结构是数据结构中常见的两种基本数据结构,而我们本次的主角栈和队列都 既可以使用使用跳转结构实现也可以使用连续结构实现
    2023-04-04
  • Java注解Annotation原理及自定义注解代码实例

    Java注解Annotation原理及自定义注解代码实例

    这篇文章主要介绍了Java注解Annotation原理及自定义注解代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论