java实现word转换pdf,word文件转换pdf文件,java如何将word转换pdf

ops/2024/12/16 0:46:01/

1.```java依赖

	<dependency><groupId>com.aspose.cells</groupId><artifactId>aspose-cells</artifactId><version>8.5.2</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool.version}</version></dependency><dependency><groupId>com.aspose</groupId><artifactId>aspose-words</artifactId><version>15.8.0</version></dependency>

2.service方法
```javapublic String getReportFileStream(String id) {TestReport report = this.getById(id);//word转换pdfString pdfUrl = WordToPdfUtils.wordToPdf(report.getReportUrl());report.setReportPdfUrl(pdfUrl);this.updateById(report);return pdfUrl;}

3.工具类

java">word">import cn.hutool.system.OsInfo;
word">import cn.hutool.system.SystemUtil;
word">import com.aspose.cells.License;
word">import com.aspose.words.Document;
word">import com.aspose.words.FontSettings;
word">import com.aspose.words.SaveFormat;
word">import lombok.extern.slf4j.Slf4j;word">import java.io.*;
word">import java.nio.file.Path;
word">import java.nio.file.Paths;/*** @description:* @create: 2022-02-28 10:22**/
@Slf4j
word">public word">class WordToPdfUtils {/*** aspose授权** @return*/word">public word">static word">boolean getLicense() {word">boolean result = false;word">try {// 凭证String licenseStr = "";InputStream license = word">new ByteArrayInputStream(licenseStr.getBytes("UTF-8"));License asposeLic = word">new License();asposeLic.setLicense(license);result = true;} word">catch (Exception e) {log.error("error:", e);}word">return result;}/*** wordpdf** @param docFilePath*/word">public word">static String wordToPdf(String docFilePath) {FileOutputStream fileOS = word">null;// 验证Licenseword">if (!getLicense()) {log.error("验证License失败!");word">return word">null;}//文件名不带后缀Path docPath = Paths.get(docFilePath);String fileNameWithoutSuffix = docPath.toString().replaceFirst("[.][^.]+$", "");Path filePth = Paths.get(fileNameWithoutSuffix + ".pdf");String filePathStr = filePth.toString();word">try {//此处处理乱码和小方块//如果在本地运行,此处报错,请注释这个这是字体,主要是为了解决linux环境下面运行jar时找不到中文字体的问题 FontSettings.//在linux中运行请放开注释!!否则中文乱码!OsInfo osInfo = SystemUtil.getOsInfo();word">if (osInfo.isLinux()) {FontSettings.setFontsFolders(word">new String[]{"/usr/share/fonts", "/usr/share/fonts/chinese"}, true);}Document doc = word">new Document(docFilePath);fileOS = word">new FileOutputStream(word">new File(filePathStr));// 保存转换的pdf文件doc.save(fileOS, SaveFormat.PDF);} word">catch (Exception e) {log.error("error:", e);} word">finally {word">try {word">if (fileOS != word">null) {fileOS.close();}} word">catch (IOException e) {log.error("error:", e);}}word">return filePathStr;}}

http://www.ppmy.cn/ops/142249.html

相关文章

树的遍历【东北大学oj数据结构7-3】C++

题面 二叉树是递归定义的。 二叉树 T 是定义在有限节点集上的结构 不包含节点&#xff0c;或者由三个不相交的节点集组成&#xff1a; 一个根节点。称为左子树的二叉树。称为右子树的二叉树。 您的任务是编写一个程序&#xff0c;该程序基于以下算法执行树遍历&#xff08;系…

【jvm】GC Roots有哪些

目录 1. 说明2. 虚拟机栈&#xff08;栈帧中的局部变量表&#xff09;中的引用3. 方法区中的类静态属性引用4. 本地方法栈&#xff08;Native方法栈&#xff09;中JNI&#xff08;Java Native Interface&#xff09;的引用5. 活跃线程&#xff08;Active Threads&#xff09;6.…

网络编程02

1. 回显服务器——UDP 一个 UDP 的客户端/服务器通信的程序——回显服务器&#xff08;echo server&#xff09;&#xff1a; 这个程序只是单纯地调用 Socket API 1&#xff09;让客户端给服务器发送一个请求&#xff0c;请求就是从控制台输入的字符串 2&#xff09;服务器…

Layer Norm 提升训练稳定性的原理:解决权重初始值敏感性问题(中英双语)

Layer Norm 提升训练稳定性的原理与数值模拟 在深度学习模型中&#xff0c;权重初始值对训练过程的稳定性影响极大&#xff0c;尤其在深层网络和长序列任务中&#xff0c;初始值不当会导致梯度消失或爆炸的问题&#xff0c;进而导致训练不稳定。Layer Normalization (Layer No…

开源分布式系统追踪-00-overview

分布式跟踪系列 CAT cat monitor 分布式监控 CAT-是什么&#xff1f; cat monitor-02-分布式监控 CAT埋点 cat monitor-03-深度剖析开源分布式监控CAT cat monitor-04-cat 服务端部署实战 cat monitor-05-cat 客户端集成实战 cat monitor-06-cat 消息存储 skywalking …

基于小程序实现地图定位、轨迹绘制、地图标点、快捷导航、唤醒导航APP、开箱即用

目录 前言研究背景与意义研究目标与内容研究方法与技术路线小程序地图组件介绍定位技术与原理轨迹绘制技术地图标注与标记功能地图定位与轨迹绘制功能实现定位功能设计与实现获取用户当前位置总结说明代码块前言 研究背景与意义 地图定位和轨迹追踪作为智能手机中常见的功能之…

【JAVA】Java项目实战—Java EE项目:企业资源规划(ERP)系统

在企业管理中&#xff0c;企业资源规划&#xff08;ERP&#xff09;系统是不可或缺的工具。它能够帮助企业高效管理各种资源&#xff0c;包括人力资源、财务资源和库存等。Java作为一种成熟的编程语言&#xff0c;因其跨平台特性、强大的生态系统以及良好的社区支持&#xff0c…

git 推送远程仓库 master -> master (push declined due to repository rule violations)

问题概述 从报错信息中看出&#xff0c;提交中包含了秘密&#xff0c;提交被拒绝了&#xff0c;从提供的网址Working with push protection from the command line - GitHub Docs 中找到原因。原来是提交中包含了github的Personal access tokens被拒绝了。 解决方法 rebase …