使用 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)
相关文章
|
12月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
9月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
1216 40
|
9月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
11月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
730 10
|
10月前
|
数据采集 存储 API
Python爬虫结合API接口批量获取PDF文件
Python爬虫结合API接口批量获取PDF文件
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
1406 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
1610 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
2276 5
|
人工智能 文字识别 数据挖掘
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
MarkItDown 是微软开源的多功能文档转换工具,支持将 PDF、PPT、Word、Excel、图像、音频等多种格式的文件转换为 Markdown 格式,具备 OCR 文字识别、语音转文字和元数据提取等功能。
4402 9
MarkItDown:微软开源的多格式转Markdown工具,支持将PDF、Word、图像和音频等文件转换为Markdown格式
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
465 16