使用 XDocReport 将 .docx 文件转换为 .pdf 文件

简介: 本文介绍如何使用 XDocReport 库在 Java 中将 Word 文件转换为 PDF 文件

docx转换为pdf网上有很多技术解决方案,本文介绍另外一种,
如何使用 XDocReport 库在 Java 中将 Word 文件转换为 PDF 文件;

将 XDocReport 转换器 DOCX XWPF 依赖添加到 Java 项目

如果您使用 Gradle 构建项目,请将以下依赖项添加到 build.gradle 文件中。

implementation group: 'fr.opensagres.xdocreport', name: 'fr.opensagres.xdocreport.converter.docx.xwpf', version: '2.0.3'

如果您使用 Maven 构建项目,请将以下依赖项添加到 pom.xml 文件中

···xml

<groupId>fr.opensagres.xdocreport</groupId>
<artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
<version>2.0.3</version>

···

如何在 Java 中将 .docx 文件转换为 .pdf 文件

在 Java 中,对于给定的 Word 文件,我们可以使用 XDocReport API 通过以下步骤将其转换为 PDF 文件。

第 1 步:使用 FileInputStream 将 .docx 文件作为 InputStream 打开。
第 2 步:使用 XWPFDocument(InputStream is) 构造函数创建新的 XWPFDocument 对象。
第 3 步:使用 PdfOptions.create() 静态方法创建 PdfOptions 的新实例。
第 4 步:使用 FileOutputStream 将 .pdf 文件写入 OutputStream。
第 5 步:使用 PdfConverter.getInstance().convert(XWPFDocument document, OutputStream out, T options) 方法将 .docx 文件转换为 .pdf 文件。
在下面的 FileConverter Java 类中,我们通过上述步骤实现了一个方法,将 .docx 文件转换为具有给定文件名的 .pdf 文件。

FileConverter.java



import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter;
import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.IOException;
import java.io.OutputStream;

public class FileConverter {

    public void convertWordToPdf(String docxFileName, String pdfFileName) {
        try(InputStream inputStream = new FileInputStream(docxFileName);
            OutputStream outputStream = new FileOutputStream(pdfFileName)) {
            XWPFDocument document = new XWPFDocument(inputStream);
            PdfOptions options = PdfOptions.create();
            // Convert .docx file to .pdf file
            PdfConverter.getInstance().convert(document, outputStream, options);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


···
# 如何使用 FileConverter 类将 Word 转换为 PDF 文件

例如,我们有一个位于 D:\SimpleSolution\Data\Document.docx 的示例 Word 文件,其内容如下图所示。
![image.png](https://ucc.alicdn.com/pic/developer-ecology/cf85435d326e45cca5ceb30208881976.png)

Java 使用 XDocReport 将 .docx 文件转换为 .pdf 文件

在下面的示例 Java 程序中,我们使用上一步中的 FileConverter 类将上面的示例 Word 文件转换为 PDF 文件。

ConvertDocxToPdfExample1.java

执行 Java 应用程序,我们在 D:\SimpleSolution\Data\Document.pdf 生成 PDF 文件,如下图所示。
![image.png](https://ucc.alicdn.com/pic/developer-ecology/1fec116160d54c0ebb1b4e6b00ee958f.png)
相关文章
|
1月前
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
124 0
|
23天前
|
移动开发 资源调度 JavaScript
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)
这篇文章介绍了在Vue移动端网页中使用`pdfh5`和`vue-pdf`两个插件来实现PDF文件的预览,包括滚动查看、缩放、添加水印、分页加载、跳转指定页数等功能。
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)
|
1月前
|
JSON JavaScript 数据格式
打印插件 hiprint 使用、回单打印PDF保存本地、将列表数据打印成pdf文件保存到本地
这篇文章介绍了如何使用hiprint打印插件将列表数据打印成PDF文件并保存到本地,包括插件的配置、依赖安装、项目代码案例以及如何预览和打印数据。
打印插件 hiprint 使用、回单打印PDF保存本地、将列表数据打印成pdf文件保存到本地
|
21天前
|
C# 开发者 Windows
WPF与PDF文档:解锁创建和编辑PDF文件的新技能——从环境配置到代码实践,手把手教你如何在WPF应用中高效处理PDF,提升文档管理效率
【8月更文挑战第31天】随着数字文档的普及,PDF因跨平台兼容性和高保真度成为重要格式。WPF虽不直接支持PDF处理,但借助第三方库(如iTextSharp)可在WPF应用中实现PDF的创建与编辑。本文通过具体案例和示例代码,详细介绍了如何在WPF中集成PDF库,并展示了从设计用户界面到实现PDF创建与编辑的完整流程。不仅包括创建新文档的基本步骤,还涉及在现有PDF中添加页眉页脚等高级功能。通过这些示例,WPF开发者可以更好地掌握PDF处理技术,提升应用程序的功能性和实用性。
36 0
|
1月前
|
Java
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
66 0
|
3月前
|
IDE Java 编译器
使用Java分割PDF文件
使用Java分割PDF文件
|
1月前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
54 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
1月前
|
Python
Python——批量将PDF文件转为图片
Python——批量将PDF文件转为图片
29 2
|
1月前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
36 1
|
1月前
【科研技巧】Mac 系统如何给Endnote 20添加某篇文献信息和附加PDF文件
Mac系统下使用Endnote 20添加文献信息和PDF文件的详细步骤,包括下载.enw文件和在Endnote中导入这些文件的方法。
74 6