Background

  • 【封装好的工具类】【转换效果99%】【无水印】
  • 实现技术【Aspose】
  • 这里给出需要的依赖包 aspose-words-15.8.0.jar和word-license.xml,提取码:king
  • excel转pdf可以参考另一篇博客【Java工具类实现excel转pdf结果几乎一模一样】

先看下效果哈(左word右pdf),格式基本没乱,几乎一模一样

直接上源码

注意:使用前,先安装下载的aspose-words-15.8.0.jar包,然后把word-license.xml放在resources目录下就行了。

package com.cloudansys.core.utils;import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.io.FileUtils;import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.util.Objects;@Slf4j
public class DocUtil {/*** 获取 license 去除水印* 若不验证则转化出的pdf文档会有水印产生*/private static void getLicense() {String licenseFilePath = "word-license.xml";try {InputStream is = DocUtil.class.getClassLoader().getResourceAsStream(licenseFilePath);License license = new License();license.setLicense(Objects.requireNonNull(is));} catch (Exception e) {log.error("license verify failed");e.printStackTrace();}}/*** word 转 pdf* @param wordFile word 文件路径* @param pdfFile  生成的 pdf 文件路径*/public static void word2Pdf(String wordFile, String pdfFile) {File file = new File(pdfFile);if (!file.getParentFile().exists()) {file.getParentFile().mkdir();}getLicense();try (FileOutputStream os = new FileOutputStream(new File(pdfFile))) {Document doc = new Document(wordFile);doc.save(os, SaveFormat.PDF);} catch (Exception e) {log.error("word转pdf失败", e);e.printStackTrace();}}}

使用就非常简单了

package com.cloudansys.test;import com.cloudansys.core.utils.DocUtil;public class TestWord2Pdf {public static void main(String[] args) {String docFilePath = "D:/test/某项目日报表.docx";String pdfFilePath = "D:/test/某项目日报表.pdf";DocUtil.word2Pdf(docFilePath, pdfFilePath);}
}

Java工具类实现word转pdf结果几乎一模一样相关推荐

  1. JAVA实现 PDF转换 常用工具类(html转PDF、PDF添加页码、PDF文件下载、PDF添加印章或者水印)

    JAVA实现 PDF转换 常用工具类(html转PDF.PDF添加页码.PDF文件下载.PDF添加印章或者水印)可直接使用 package com.bestvike.util; import com. ...

  2. java 使用jacob实现word转pdf

    java 使用jacob实现word转pdf(IDEA Maven项目) 步骤: 一. 插件与jar包下载 SaveAsPDFandXPS 下载地址: http://www.microsoft.com ...

  3. java工具类获取文件扩展名与content-type、http与content-type映射关系

    java工具类获取文件扩展名与content-type.http与content-type映射关系 大家好,我是酷酷的韩~ 一.对应关系参考地址: http://doc.chacuo.net/cont ...

  4. 使用JAVA工具类进行邮件发送

    使用JAVA工具类进行邮件发送 使用JAVA工具类进行邮件发送 文章目录 使用JAVA工具类进行邮件发送 前言 一.前期准备工作 二.使用步骤 1.引入依赖 2.进行发送邮件 前言 提示:我们在开发过 ...

  5. (6)常用的Java工具类

    目录 前言: 第一部分:常用的16个工具类 一.org.apache.commons.io.IOUtils 二.org.apache.commons.io.FileUtils 三.org.apache ...

  6. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  7. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

  8. beanutils工具类_16 个超级实用的 Java 工具类!

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  9. java轻量级并行工具类_16 个超级实用的 Java 工具类

    原标题:16 个超级实用的 Java 工具类 源 /juejin 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名, ...

最新文章

  1. .NetCore Winform控制台 做HTTP Host,简易接口
  2. 算法---------简化路径(Java版本)
  3. 撸了今年阿里、网易和美团的面试,我有一个重要发现.......
  4. BI工具选型指标,如何选择好的BI工具
  5. java图片转ascii字符画(转载)
  6. Nim 游戏 、⽯头游戏1、石头游戏2
  7. tomcat如何通过配置的方式部署web工程
  8. equals和==的区别(转)
  9. 考考你,能看出这一段代码是用哪个编程语言写的吗?
  10. Google宣布支持Vulkan作为Android的底层图形API
  11. 设计模式之GOF23迭代器模式
  12. JavaScript 格式化日期 年月日星期时分秒
  13. python中class什么意思_python中的class是什么意思
  14. 微信8.0状态背景视频合集
  15. 山东省一个区和天津市一个区,名字一模一样!
  16. 测试技术-测试策略与类型
  17. TDM-GCC MINGW配置与优化算法测试函数使用
  18. 神经网络学习小记录45——Keras常用学习率下降方式汇总
  19. Java中的并发与并行
  20. nft交易平台开发流程

热门文章

  1. 长安大学c语言指针实验报告,长安大学FPGA设计与运用实验报告.doc
  2. 网上报名管理系统:网上报名+独立审查+自主收费+公众号无感登录+人才库管理
  3. c语言time_t转oletime,CTime、COleDateTime和CString之间的相互转化 | 求索阁
  4. 【转帖】 深入剖析多普达◆HTC◆CECT◆O2几者之间的关系
  5. linux ppoe,linux下连接windows2003 ppoe 服务器
  6. SRPG游戏开发(四)第三章 绘制地图 - 一 导入素材
  7. 华硕笔记本 触摸板开关控制
  8. win10 家庭中文版安装Hyper-V
  9. JSP在线书城购买系统用myeclipse定制开发mysql数据库mvc模式java编程servlet
  10. python遗传算法VRP硬时间窗(毕设纪念)