SpringBoot项目中将word转换为pdf

SpringBoot根据模板生成Word文件,然后Word转PDF 阅读详情
AI摘要

本文详细介绍了一种使用Aspose库将Word文档转换为PDF的方法,包括引入必要的Maven依赖、编写转换工具类以及如何在Controller中调用这些方法进行转换。

需求,用户将用户上传的word文件转换成为pdf格式,然后返回

第一步:引入依赖

        <dependency>
            <groupId>aspose</groupId>
            <artifactId>aspose-words</artifactId>
            <version>15.8.0-jdk16</version>
        </dependency>
        <dependency>
            <groupId>aspose</groupId>
            <artifactId>aspose-slides</artifactId>
            <version>19.3</version>
        </dependency>

温馨提示:

如果这两个jar包maven下载出错,就直接从我的网盘下载,然后将jar包放到对应的本地maven仓库下

网盘链接

链接:https://pan.baidu.com/s/1ytKGx4EXfK7OWRsOC6yhJg 
提取码:6666

jar包所在位置(我的仅供参考,以你自己的实际maven地址为准)

下载好放到本地后,在idea刷新maven就可以了

第二步:编写工具类

import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;

import java.io.*;

/**
 * word转pdf工具类
 *
 * @author shmily
 */
public class Word2PdfUtil {

    /**
     * 许可证字符串(可以放到resource下的xml文件中也可)
     */
    private static final String LICENSE = "<License>" +
            "<Data>" +
            "<Products><Product>Aspose.Total for Java</Product><Product>Aspose.Words for Java</Product></Products>" +
            "<EditionType>Enterprise</EditionType>" +
            "<SubscriptionExpiry>20991231</SubscriptionExpiry>" +
            "<LicenseExpiry>20991231</LicenseExpiry>" +
            "<SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>" +
            "</Data>" +
            "<Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>" +
            "</License>";


    /**
     * 设置 license 去除水印
     */
    private static void setLicense() {
        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(LICENSE.getBytes());
        License license = new License();
        try {
            license.setLicense(byteArrayInputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    /**
     * word 转 pdf 生成至指定路径,pdf为空则上传至word同级目录
     *
     * @param wordPath word文件路径
     * @param pdfPath  pdf文件路径
     */
    public static void wordConvertPdfFile(String wordPath, String pdfPath) {
        FileOutputStream fileOutputStream = null;
        try {
            pdfPath = pdfPath == null ? getPdfFilePath(wordPath) : pdfPath;
            setLicense();
            File file = new File(pdfPath);
            fileOutputStream = new FileOutputStream(file);
            Document doc = new Document(wordPath);
            doc.save(fileOutputStream, SaveFormat.PDF);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                assert fileOutputStream != null;
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }


    /**
     * word 转 pdf 生成byte字节流
     *
     * @param wordPath word所在的目录地址
     * @return
     */
    public static byte[] wordConvertPdfByte(String wordPath) {
        ByteArrayOutputStream fileOutputStream = null;
        try {
            setLicense();
            fileOutputStream = new ByteArrayOutputStream();
            Document doc = new Document(wordPath);
            doc.save(fileOutputStream, SaveFormat.PDF);
            return fileOutputStream.toByteArray();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                assert fileOutputStream != null;
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
        return null;
    }



    /**
     * 获取 生成的 pdf 文件路径,默认与源文件同一目录
     *
     * @param wordPath word文件
     * @return 生成的 pdf 文件
     */
    private static String getPdfFilePath(String wordPath) {
        int lastIndexOfPoint = wordPath.lastIndexOf(".");
        String pdfFilePath = "";
        if (lastIndexOfPoint > -1) {
            pdfFilePath = wordPath.substring(0, lastIndexOfPoint);
        }
        return pdfFilePath + ".pdf";
    }

}

第三步:验证controller 

import com.xp.utils.Word2PdfUtil;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

   @GetMapping("word2Pdf")
    public void word2Pdf() {
        Word2PdfUtil.wordConvertPdfFile("C:\\Users\\Administrator\\Desktop\\aaa\\you.docx","C:\\Users\\Administrator\\Desktop\\aaa\\success.pdf");
    }

    @GetMapping("word2PdfByte")
    public byte[] word2PdfByte() {
        return Word2PdfUtil.wordConvertPdfByte("C:\\Users\\Administrator\\Desktop\\aaa\\you.docx");
    }

 看效果

 

【word2pdf】Springboot word转pdf(自学使用) 搜了一下,发现了能实现功能的方法有四种。 阅读详情

相关推荐

SpringBoot实现Word转PDF/TXT

SpringBoot 实现Word转换为PDF/TXT

m0_60681411的博客 2490

springboot操作pdf(一)之word转pdf

pdf文件,是现在市面上比较常使用的一种文件格式。其在传输的过程中文件格式以及内容不容易更改,因此受到很多用户的使用。但是在java开发的过程中如何生成pdf这却是一个需要我们去解决的问题。将word转pdf,个人强烈推荐可以使用第二种方法将word文件生成pdf文件,想了解更多的使用方法,或者获取java代码都请关注公众号。

xuxu96 6986

使用Java实现Word文件转PDF文件

不知大家有没有注意到,在开发工作中,我们或多或少都会接触到文档,不管是开发文档,还是用户手册,都会跟文件打交道,对于使用系统的用户来说,文件要下载再打开会比较繁琐,而且会比较耗磁盘空间,很多时候用户直观地想预览这个文件,Word不支持预览,这个就需要将Word转换为PDF格式才能进行预览,但市面上很多转换的都是商业软件,但这拦不到一个想搞技术的程序猿,在此我分享一个我常用的Word转PDF的方法,希望对你们有用。word文件转pdf文件完成,后续将更新excel转pdf示例。准备工作已完成,开始上代码。

weixin_42553047的博客 1万+

【技术】Spring Boot 将 Word 转换为 PDF 2.0 版本

的文章,但是有评论说导入依赖有问题,还存在依赖冲突的问题。索性再来一个完整版的代码,之前的完整版代码找不到了,又重新整理了一下,完整 pom.xml 文件。

Riu_Peter 4153

SpringBoot word文档转pdf

一.背景 项目中有个需求大体意思是,上传一个word模板,根据word模板合成word文件,再将word文件转为pdf。 二.方案选择 Spire.Doc for Java方案 Spire.Doc for Java这个是商用收费的,不过API文档丰富且集成简单,免费版仅支持3页转换。类似的还有ITEXT,这个商用也是受限制的。 docx4j方案 开源可商用,仅支持docx格式的word。 jodconverter+LibreOffice 方案 开源可商用,调用本地office服务,进行pdf转换

起风 6077

Springboot 超简单实现在线预览,Word文档 doc、xlsx、pdf、txt等

前言 PDF、TXT 只要资源可访问,根本就不需要进行任何处理,直接访问查看就完事了。 也是因为这个PDF可以直接查看(现在浏览器基本支持了),那么我们实现Word文档在线预览,其实也是 把WORD文档 复制一份生成一份供预览的 PDF文件而已。 先看看效果: 正文 这篇实例,实现在线预览WORD文档,分两步: 一. 安装OpenOffice 二.写点小代码 一.安装OpenOffice 不要看到安装东西就觉得麻烦,因为这个安装不需要做任何配置,你只需要...

默默不代表沉默 1万+

java word转pdf,docx4j转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片,aspose将word转pdf 一共两种方法

docx4j转pdf,aspose转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片

zbh1957282580的博客 3346

【SpringBoot】40、SpringBoot中使用Aspose将文件转为PDF实现在线预览

一、简介 Aspose 是 .NET 和 Java 开发组件以及为 Microsoft SQL Server Reporting Services 和 JasperReports 等平台提供渲染扩展的领先供应商。它的核心重点是提供最完整和最强大的文件管理产品。Aspose 产品支持一些商业上最流行的文件格式,包括:Word 文档、Excel 电子表格、PowerPoint 演示文稿、PDF 文档、Flash 演示文稿和项目文件。 二、下载 下载 Aspose 的依赖 Jar 包可以通过一下仓库下载:Aspo

JACKAL 21万+

SpringBoot实现Excel、Word转换为PDF

SpringBoot实现Excel、Word转换为PDF

一恍过去 1万+

嵌入式学习笔记- 关于电容的纹波电流

纹波电流是导致电解电容发热、影响其寿命的关键交流电流成分。它不是一种特殊的电流,而是电路中必然存在的现象。要重视,不能忽视。必须保证电路中的纹波电流 < 电容的额定纹波电流。电容鼓包爆浆,要怀疑是否是纹波电流过大或电容ESR变大所致。希望这个解释能帮助您彻底理解这个概念!二 电容纹波电流与频率的关系在大多数情况下,频率越高,电容所能承受的额定纹波电流值越大。【个人理解:因为频率越低ESR越大,具体见第三节ESR与频率的关系】下面我为您详细解释为什么会这样,以及在实际应用中如何考虑。

qq_35771411的博客 2194

随机子空间集成方法原理与scikit-learn实践

集成学习通过组合多个基学习器的预测结果来提升模型性能,是机器学习中的核心方法之一。随机子空间方法作为集成学习的重要变体,其核心原理是通过对特征空间进行随机子采样来增加模型多样性。这种方法特别适合处理高维数据,能有效缓解维度灾难问题,常与决策树、K近邻等对特征选择敏感的基学习器配合使用。在scikit-learn中,可以通过BaggingClassifier和BaggingRegressor实现随机子空间集成,关键参数包括max_features和n_estimators。实际应用中,该方法在金融风控、医疗诊

weixin_33773084的博客 377

SpringBoot下实现PDF转word(Maven项目)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 在日常工作学习中经常会遇到需要将PDF文件转成Word文件的场景,但是现在网上绝大部分PDF转Word的软件都是打着免费的噱头吸引你下载,但是使用时才发现,这些软件只能免费转几页,剩下的还是要购买会员。但是实际要转的PDF页数都远远超过了免费额度,这个时候,我们就可以通过这篇文章,自己写一个工具接口,来达到我们..

qq_42725148的博客 4035

【codex教程】Codex 注册和使用教程(2026最新版)

Codex 是 OpenAI 推出的 AI 编程助手,可以帮助开发者阅读代码、修改代码、运行命令、生成测试、排查 bug、做代码审查,也可以在终端、IDE、Codex App 或网页端使用。根据 OpenAI 帮助中心,截至 2026 年 6 月,Codex 已包含在 Free、Go、Plus、Pro、Business、Edu 和 Enterprise 等 ChatGPT 方案中,但不同套餐的使用额度会有所不同。适合开发者在终端中使用。如果你想在命令行里使用 Codex,可以安装 Codex CLI。

与时俱进,开放共享 2万+

SpringBoot使用poi将word转换为PDF并且展示

由于最近做了一个需求,界面上有一个按钮,点击按钮后将一个文件夹中的word文档显示在页面中,并且有一个下拉框可以选择不同的文档,选择文档可以显示该文档。这里我选择使用依赖包来实现。

qq_42277704的博客 6310

浅谈专项测试之弱网络测试

浅谈专项测试之弱网络测试 一.弱网络测试背景 移动端产品的使用并非完全都是在流畅的wifi环境,大部分用户主要使用4G,3G,2G等网络,另外因为移动端产品使用的场景多变,如进公交,上地铁,坐电梯,使得弱网测试显得尤为重要。考虑到各种场景的客户端展示及容错,提升产品的印象和用户体验,提高产品的健壮性,弱网测试必不可少。 二.弱网络测试建议 网下需要进行功能点测试,无网络测试,网络切换测试等,测试过程除了关注功能点的实现,还应关注用户体验等各个方面 三.弱网络测试通用功能点总结 四.弱网络测试用例实例

ITstudy001的博客 1011

【YOLOv11工业级实战】15. YOLOv11海洋监测实战:珊瑚礁健康评估(水下图像增强|机器人搭载)

摘要:本文针对珊瑚礁健康评估的海洋监测需求,基于YOLOv11提出解决方案,聚焦水下色偏、悬浮物干扰、珊瑚形态复杂三大难题。引用全球珊瑚礁监测网络(GCRMN)标准,采用CoralNet数据集,通过Jaffe-McGlamery物理模型引导增强与悬浮物去除算法,在浑浊水域(能见度<5m)实现87.3%的健康珊瑚识别率,藻类误判率低至7.2%。介绍了以BlueROV2水下机器人和Jetson AGX Orin为核心的部署方案,结合水下SLAM定位技术,实现珊瑚健康的实时评估与三维覆盖率计算。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1644

SpringBoot 将PDF转成图片或Word

在本文中,我们使用SpringBoot、PDFBox和ImageMagick演示了如何将PDF文件转换为一张或多张图片,以及将PDF转换为Word文档。这些示例演示了如何使用Java编程语言与其他开源技术集成,以实现各种文件格式之间的转换。

Java老兵的后端进阶与AI前沿探索之路。 3971

微信小程序 - 最新详细实现跳转打开第三方网站方法流程及示例代码,在小程序内直接打开H5页面或微信公众号文章后台业务域名配置及下载校验文件上传服务器,嵌入外部网站跳转第三方h5网页(详细配置及代码)

微信小程序,打开第三方网站,放校验文件,怎么配置业务域名,后台配置,怎么打开外部没有关联的网站,小程序直接打开公众号文章,指定页面,跳转第三方url,跳转到外部网站,小程序跳转到任意外部网页,网站链接,跳转到其他网页(外部链接),小程序嵌入外部h5链接,校验文件怎么放到对方服务器上,要跳转到网站没权限放过去,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,别人不可能同意,

🏆 前端领域优质创作者 1万+

SpringBoot使用LibreOffice word转换PDF

由于java转pdf Aspose需要收费,documents4j是使用本地的MS Office应用做的文件格式转换,Linux没有对应的MS Office应用。这样造成了我们需要选用别的方式进行word的转换。思路:先用freemarker模板工具,生成docx文档,借助libreOffice将docx转pdf。 1、 生成docx模板和xml模板 ......

wenbsu的博客 7299

RK3568笔记九十四:基于QT的YOLOV5目标检测

基于RK3568平台的实时目标检测应用,使用YOLOv5模型和RKNN推理引擎实现摄像头实时目标检测,并通过Qt界面显示检测结果。主要功能实时摄像头目标检测:从摄像头获取视频流,使用YOLOv5模型进行目标检测RKNN推理加速:利用RK3568内置的NPU进行模型推理加速图形界面显示:使用Qt框架构建用户界面,实时显示检测结果RGA图像处理:使用Rockchip Graphic Accelerator进行图像缩放处理。

523

【微信小程序-uniapp】CustomPicker 自定义单项选择器组件

自定义底部弹出框单项选择器组件,适用于uniapp小程序

Komorebi_00的博客 1532

java实现PDF 转WORD

这个类PDFJarCrack 是用来破解pdf的jar包的类,将开始下载的jar全路径放入,然后运行,会在同级生成一个jar包,将原有的删掉,用新生成的替换(如果自己操作可以这样), 我上面给出的项目中的jar包已经是 生成的破解jar包。这里面主要是那个文件其实是需要破解的,然后我提供的链接下载中的项目 jar包已经破解过了,可以直接使用;这里面不仅支持pdf转word,还支持其他格式的转换,感兴趣的小伙伴,可以自行尝试!我们当然要不走寻常路了,我们要动用一些特殊手段,展示!

学海无涯,我用JAVA 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring Boot写一个简单的PDF到Word的转换程序

使用Spring Boot创建PDF到Word的转换程序需要几个步骤。可以使用现有的库来处理转换过程。使用ApachePDFBox进行PDF操作和使用ApachePOI创建Word文档的过程。创建一个Spring MVC控制器来处理传入的请求。

l2x1314258的博客 1565

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Springboot WORD转换为PDF——Aspose方式

提取码:dddc。

qq_42900469的博客 777

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

libreoffice + jodconverter + Springboot 整合使用将Word转PDF

libreoffice + jodconverter + Springboot 整合使用将Word转PDF 第一步 安装Libreoffice https://jingyan.baidu.com/article/91f5db1b38d69b1c7f05e3dc.html 第二步 maven依赖 <dependency> <groupId>org.jodconverter</groupId> <art

LcShadow的博客 1万+

Java实现Word转PDF【完整版】

前言: 最近也是在非常紧急的准备暑期实习的面试,一边学习一边修补简历,因为之前看到某位大佬的帖子说建议投递的简历形式为PDF,这一下可是把我难死了,索性就可以在网上找寻各种方法,逛了一圈回来发现,网上特别多的这种帮助制作简历的平台,但是都没有把word文档转为PDF的,所以我必须重新在平台上重新输入一遍自己的信息然后再由平台进行制作,但是问题又出现了,部分信息我并不想填,但是不填平台不允许进行下一项的填写,很是令人头疼。经过这么一倒腾,就想着能不能利用自己学的技术做一个简历制作并且还是最终还可以PDF的形式

派大星的博客 1万+
上一篇: Cookie和Session的区别
下一篇: 基于SpringBoot的仿天猫商城系统
学会用脚编程
博客等级 码龄6年 3万+粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学会用脚编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值