当前位置: 代码网 > it编程>编程语言>Java > Java实现将Doc/Docx格式的Word文档转换为PDF文件

Java实现将Doc/Docx格式的Word文档转换为PDF文件

2025年08月03日 Java 我要评论
我们发送word文档给别人的时候,可以考虑将文档转换为pdf文件,使其能够在不同的设备上呈现出相同的外观,同时也方便查看者在不安装ms word的情况下查看。本文将演示如何通过java将word文档转

我们发送word文档给别人的时候,可以考虑将文档转换为pdf文件,使其能够在不同的设备上呈现出相同的外观,同时也方便查看者在不安装ms word的情况下查看。本文将演示如何通过java将word文档转换为pdf、pdf/a和密码保护的pdf文件。

本文包含以下内容:

  • word文档转换为pdf格式
  • word文档转换为pdf/a格式
  • word文档转换为带密码的pdf文档

添加依赖项

方法一:maven添加

如果你使用maven,将下面的代码复制到项目中的pom.xml文件中,即可轻松添加jar文件到你的应用程序中。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>e-iceblue</groupid>
        <artifactid>spire.doc.free</artifactid>
        <version>5.2.0</version>
    </dependency>
</dependencies>

方法二:手动添加

如果没有使用maven,可以从free spire.doc for java官网下载jar文件,解压下载的zip文件后,将lib文件夹下的spire.doc.jar文件导入到你的项目中即可。

将word文档转换为pdf格式

用spire.doc for java将word文档转换为pdf格式的操作非常简单,只需要下面的两个步骤:

  • 创建 document 类的对象,并将word文档的文件路径作为参数传给该类的构造函数。
  • 调用 document.savetofile(filepath, fileformat.pdf) 方法,将文档保存为pdf格式。
import com.spire.doc.document;
import com.spire.doc.fileformat;

public class wordtopdf {
    public static void main(string[] args) {
        //创建 document 类的对象,并载入word文档
        document doc = new document("示例.docx");

        //将文档保存为pdf格式
        doc.savetofile("word转pdf.pdf", fileformat.pdf);
    }
}

将word文档转换为pdf/a格式

pdf/a是一种特殊的pdf格式,用于长期保存电子文档。spire.doc for java支持将word转换为以下pdf/a文档:

  • pdf/a-1a
  • pdf/a-1b
  • pdf/a-2a
  • pdf/a-2b
  • pdf/a-2u
  • pdf/a-3a
  • pdf/a-3b
  • pdf/a-3u
  • pdf/x-1a:2001

以下是将word文档转换为pdf/a文档的操作步骤:

  • 创建 document 类的对象,并将word文档的文件路径作为参数传递给该类的构造函数。
  • 创建 topdfparameterlist 类的对象。
  • 使用 topdfparameterlist.setpdfconformancelevel(pdfconformancelevel) 方法设置pdf文档的一致性级别。
  • 调用 document.savetofile(filepath,topdfparameterlist) 方法将word文档保存为pdf格式。
import com.spire.doc.document;
import com.spire.doc.topdfparameterlist;
import com.spire.pdf.pdfconformancelevel;

public class wordtopdfa {
    public static void main(string[] args) {
        //创建 document 类的对象,并载入word文档
        document doc = new document("示例.docx");

        //创建topdfparameterlist类的对象
        topdfparameterlist parameterlist = new topdfparameterlist();

        //设置pdf文档的一致性级别
        parameterlist.setpdfconformancelevel(pdfconformancelevel.pdf_a_1_a);

        //将文档保存为pdf/a格式
        doc.savetofile("word转pdfa.pdf", parameterlist);
    }
}

将word文档转换为带密码的pdf文档

你也可以在转换word文档为pdf文档时对其加密,以下是操作步骤:

  • 创建 document 类的对象,将word文档的文件路径作为参数传给该类的构造函数。
  • 创建 topdfparameterlist 类的对象。
  • topdfparameterlist.getpdfsecurity().encrypt(openpassword, permissionpassword, pdfpermissionsflags, pdfencryptionkeysize) 方法为pdf设置打开密码和权限密码。
  • 调用 document.savetofile(filepath, topdfparameterlist) 方法,将word文档保存为pdf格式。
import com.spire.doc.document;
import com.spire.doc.topdfparameterlist;
import com.spire.pdf.security.pdfencryptionkeysize;
import com.spire.pdf.security.pdfpermissionsflags;

public class wordtopdfwithpassword {
    public static void main(string[] args) {
        //创建 document 类的对象,并载入word文档
        document doc = new document("示例.docx");

        //创建topdfparameterlist类的对象
        topdfparameterlist topdf = new topdfparameterlist();

        //设置pdf打开密码和权限密码
        string password = "password";
        topdf.getpdfsecurity().encrypt(password, password, pdfpermissionsflags.none, pdfencryptionkeysize.key_128_bit);

        //将文档保存为带密码的pdf文档
        doc.savetofile("word转带密码pdf.pdf", topdf);
    }
}

拓展

本文介绍了如何使用free spire.doc for java提供的document.savetofile()方法将word转换为pdf。除了pdf,你还可以使用document.savetofile()方法将word文档转换成其他文件格式,如rtf, html, odt, txt, epub, postscript, xml, svg, xps等。

到此这篇关于java实现将doc/docx格式的word文档转换为pdf文件的文章就介绍到这了,更多相关java word转pdf内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com