java 将word转为PDF (100%与word软件转换一样)

jdk环境:jdk_8.0.1310.11_64    (64位)

1.引入pom文件

<!-- word转pdf(依赖microsoft) -->
        <dependency>
            <groupId>com.jacob</groupId>
            <artifactId>jacob</artifactId>
            <version>1.18</version>
        </dependency>

2.下载jar文件,手动添加至maven仓库(无法直接拉取)

cmd进入dos:

  进行以下命令操作,路径进行对应修改

  mvn install:install-file -Dfile=C:\Users\MingHao\Downloads\jacob-1.18\jacob-1.18\jacob.jar  -DgroupId=com.jacob -DartifactId=jacob  -Dversion=1.18 -Dpackaging=jar

    解析:
      -Dfile:本地jar包位置(未引入前)
      -DgroupId:项目名 对应 <groupId>com.jacob</groupId>
      -DartifactId:文件名 对应 <artifactId>jacob</artifactId>
      -Dversion:版本号 对应 <version>1.18</version>

  

3.在jdk/bin目录下引入.dll文件(64位:jacob-1.18-x64.dll       32位:jacob-1.18-x86.dll)

  

  资源文件云盘备份:

4.准备java代码

  

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import java.io.File;

public class Word2Pdf {

    public static void main(String args[]) {
        ActiveXComponent app = null;
        String wordFile = "e:/测试word.docx";
        String pdfFile = "e:/测试pdf.pdf";

        System.out.println("开始转换...");
        // 开始时间
        long start = System.currentTimeMillis();
        try {
            // 打开word
            app = new ActiveXComponent("Word.Application");
            // 设置word不可见,很多博客下面这里都写了这一句话,其实是没有必要的,因为默认就是不可见的,如果设置可见就是会打开一个word文档,对于转化为pdf明显是没有必要的
            //app.setProperty("Visible", false);
            // 获得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);
            // 另存为,将文档报错为pdf,其中word保存为pdf的格式宏的值是17
            Dispatch.call(document, "SaveAs", pdfFile, 17);
            // 关闭文档
            Dispatch.call(document, "Close", false);
            // 结束时间
            long end = System.currentTimeMillis();
            System.out.println("转换成功,用时:" + (end - start) + "ms");
        }catch(Exception e) {
            e.getMessage();
            System.out.println("转换失败"+e.getMessage());
        }finally {
            // 关闭office
            app.invoke("Quit", 0);
        }
    }

}

5.准备word文档 (格式:.docx)

  路径:e:/测试word.docx

6.windows环境准备

  windows电脑安装wps office,并且设置wps office为默认启动 。(最好不要使用microsoft word 微软的需要激活,很麻烦,还不成功!)

注:jacb只能在windows系统使用,linux系统暂时无法解决

 

原文地址:https://www.cnblogs.com/mh-study/p/10342246.html

时间: 2024-08-26 14:13:58

java 将word转为PDF (100%与word软件转换一样)的相关文章

Java 将Excel转为PDF

Java 将Excel转为PDF 本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括: 将整个工作簿转为PDF 将指定工作表转为PDF 使用工具:Free Spire.XLS for Java (免费版) Jar文件下载及导入: 方法1:通过官网下载.下载后,解压文件,将lib文件夹下的Spire.Xls.jar文件导入Java程序. 方法2:通过maven仓库导入 JAVA代码示例 [示例1]将整个工作簿转为PDF Java代码  收藏代码 import com.spire

教你用Java 将Excel转为PDF

Java 将Excel转为PDF本文将介绍在Java程序中如何将Excel工作簿转为PDF文档的,包括:将整个工作簿转为PDF将指定工作表转为PDF使用工具:Free Spire.XLS for Java (免费版) Jar文件下载及导入:方法1:通过官网下载.下载后,解压文件,将lib文件夹下的Spire.Xls.jar文件导入Java程序.方法2:通过maven仓库导入 JAVA代码示例[示例1]将整个工作簿转为PDFJava代码 收藏代码import com.spire.xls.*; pu

Java 将word转为pdf jacob方式

package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; /** * 效果最好的一种方法,但是需要 window 环境,而且速度是最慢的需要安装 msofficeWord * * 下载地址:http:

[原创]java实现word转pdf

最近遇到一个项目需要把word 转成pdf,百度了一下网上的方案有很多,比如虚拟打印.给word 装扩展插件等,这些方案都依赖于ms word 程序,在java代码中也得使用诸如jacob或jcom这类java com bridge,使得服务器开发受限于win平台,而且部署起来也很麻烦.后来在某论坛看到了一个openoffice+jodconverter的转换方案,可以完成word到PDF的转换工作,服务器开发端需要安装openoffice,但是需求一步额外的操作--需要在服务器开发上的某个端口

C#实现 word、pdf、ppt 转为图片

office word文档.pdf文档.powerpoint幻灯片是非常常用的文档类型,在现实中经常有需求需要将它们转换成图片 -- 即将word.pdf.ppt文档的每一页转换成一张对应的图片,就像先把这些文档打印出来,然后再扫描成图片一样.所以,类似这种将word.pdf.ppt转换为图片的工具,一般又称之为"电子扫描器",很高端的名字! 一.那些场合需要将word.pdf.ppt转换为图片? 在我了解的情况中,通常有如下三种场景,有将word.pdf.ppt文档转换成图片的需求.

Word转PDF非常好用的软件&mdash;&mdash;pdfFactory Pro

pfdFactory Pro把word转为pdf的操作步骤: 1.打开将要转换的word的文档: 2.文件--->打印: 弹出如下对话框: 单击确定后弹出: Word转PDF非常好用的软件——pdfFactory Pro

WordtoPdfUtil word转pdf

jar: <dependency> <groupId>com.jacob</groupId> <artifactId>jacob</artifactId> <version>1.10</version> </dependency> 在tomcat上使用时要在tomcat使用的jdk的jdk/jre/bin目录下放置配套的jacob.dll文件 import java.io.File; import com.ja

PDF转Word、Word转PDF技巧

随着PDF文件的流行,与之相关的PDF转Word.Word转PDF的操作在日常办公中也是比较常见了,PDF转Word的方法也比较多,今天就给大家分享一种简单的转换文档格式的方法. 1.先打开手机,在手机应用市场上搜索"PDF转换大师",找到这个软件后,将其下载到安卓手机上. 2.然后打开软件,在软件上面有两个不同的转换功能,如果是将PDF转Word,点击上面的"PDF转其他格式",选择这项功能. 3.接着再找到想要转换的PDF文件,可在"全部文件"

java将word文件转为pdf

import java.io.File; import com.jacob.activeX.ActiveXComponent;import com.jacob.com.Dispatch; public class Word2Pdf{ public static void main(String args[]) { ActiveXComponent app = null; String wordFile = "C:/xxxxx.doc"; String pdfFile = "C