使用java实现word转pdf,亲测有效,完美保留样式

2023-11-15

网上了很多方法,要么转换速度慢,要么转换出来的格式不一样,遇到了各种问题,无法完美完成转换,在stackoverflow发现完美答案。

  1. 依赖
<dependency>
	<groupId>com.documents4j</groupId>
	<artifactId>documents4j-local</artifactId>
	<version>1.0.3</version>
</dependency>
<dependency>
	<groupId>com.documents4j</groupId>
	<artifactId>documents4j-transformer-msoffice-word</artifactId>
	<version>1.0.3</version>
</dependency>
  1. java代码
public static void main(String[] args) {
        File inputWord = new File("D:/test.docx");
        File outputFile = new File("D:/test.pdf");
        try  {
            InputStream docxInputStream = new FileInputStream(inputWord);
            OutputStream outputStream = new FileOutputStream(outputFile);
            IConverter converter = LocalConverter.builder().build();
            converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
            outputStream.close();
            System.out.println("success");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用java实现word转pdf,亲测有效,完美保留样式 的相关文章

  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O

随机推荐

  • 网址备份

    1 搜索网站 http www google com 全球最强大的搜索网站 在语言学习中 它的功能至少包括 搜索新词可用之语境 确认某种搭配或用法是否准确 通过同时输入中文及 English 寻找可能存在的双语介绍 查询文学作品译本 了解某
  • Qt下QString与int 之间相互转换

    QString与int 之前相互转换 1 QString 转int QString str 100 int tmp str toInt 2 int 转QString int tmp 100 QString str QString numbe
  • python爬虫14:总结

    python爬虫14 总结 前言 python实现网络爬虫非常简单 只需要掌握一定的基础知识和一定的库使用技巧即可 本系列目标旨在梳理相关知识点 方便以后复习 申明 本系列所涉及的代码仅用于个人研究与讨论 并不会对网站产生不好影响 目录结构
  • 记linux内核处理bootargs到内核并加载模块时传入参数(module_param_named()等)

    昨晚 一网友问我如何把LCD反转一下输出 顿时不会 只会去看之前的dm3730的linux2 6 32的内核 偶然发现直接设置bootargs的参数到内核也许就可以啦 Linux以内核模块为核心 自动编译如系统后 所以的类似init cal
  • Webpack运行报错 Module parse failed

    自己本地项目运行报错 因为项目中使用package lock json固定了版本 项目中axios使用的0 21 1版本 可以正常运行 当删除package lock json执行npm install 然后axios版本为0 21 4 运
  • matlab filter函数_MATLAB 低通滤波器 low pass filter

    1 lowpass 函数 注意 只有2018年之后的matlab才有lowpass bandpass 函数 lowpass x fpass fs x 一维信号 fpass 截止频率 fs 采样频率 例子 两个频率的信号 一个是50HZ 振幅
  • air硬盘扩容 macbook_「技巧」苹果电脑硬盘拓展的5种方法,你知道吗

    前言 这是官网最新的MacBook Pro 13 提供的前两种配置 9999元起售 差价1500元 一样的外观 一样的处理器和内存 除了硬盘容量之外 其他配置全部相同 为了128G的容量多花1500元钱 值得吗 从成本上来说 是不值得的 同
  • 欧拉角与四元数

    以下文章摘自wiki百科 对于在三维空间里的一个参考系 任何坐标系的取向 都可以用三个欧拉角来表现 参考系又称为全局坐标系 是静止不动的 而局部坐标系则固定于刚体 随着刚体的旋转而旋转 参閲右图 设定 x y z轴为全局坐标系的参考轴 称
  • 软件程序流程图使用规范

    软件程序流程图使用规范 Amorphous 博客园 cnblogs com 目录 一 程序流程图的作用 二 画流程图常用软件 三 流程图中使用的符号 四 流程图采用的常用符号 五 循环流程图的画法 六 程序流程图的高级用法 七 基本结构 八
  • 算法训练day43

    文章目录 1049 最后一块石头的重量 II 求最大重量 思路分析 代码实现 494 目标和 求组合方法数 思路分析 动规方法 代码实现 总结思考 474 一和零 求二维背包的最大物品数 思路分析 代码实现 思考总结 1049 最后一块石头
  • springmvc / /* /img/**等问题

    在配置springmvc的前端控制器 DispatcherServlet的时候有三种配置方式 action 访问以 action结尾 由DispatcherServlet进行解析 第二种 所以访问的地址都由DispatcherServlet
  • 用Vmware和vm tools虚拟机装Linux Ubuntu16 配置anaconda python3环境 安装tensorflow/tflearn

    Authoried by Monana Contact me via hemonan vip 163 com 本教程适合虚拟机 也适合不用虚拟机直接用Linux系统的 0 安装前的准备答疑 1 很多人都会有疑问 我到底在虚拟机里装linux
  • filebeat 解析日志 并发送到Elasticsearch

    起先 是出于了解我的网站逐步前行STEP的访问情况而做一个Nginx日志统计分析的功能 首选的就是ELK 但是 由于Logstash占用内存和CPU占有率都不是我的小服务器能承受的 转而将logstash换成filebeat 因为fileb
  • 【计算机视觉

    文章目录 一 前言 二 试玩效果 三 研究背景 四 模型结构 五 Pre training objectives 六 CapFilt架构 七 Experiment 八 结论 一 前言 今天我们要介绍的论文是 BLIP 论文全名为 Boots
  • live555 实现一个最简单的RTSP服务器

    用live555中的库写了一个最简单的RTSPServer程序 仅用于学习目的 从下例的代码中 可以清析的明白RTSPServer的函数调用流程 cpp view plaincopyprint include
  • 人工智能期末复习

    1 人工智能 内涵和外延 英文 Artificial Intelligence 定义 能力方面 人工智能就是用人工的方法在机器 计算机 上实现的智能 或称机器智能 学科方面 是一门研究如何构造智能机器或智能系统 以模拟 延申和扩展人类智能的
  • 微信JSAPI支付v3流程(uniapp和node版)

    一 微信JSAPI支付 请提前准备好接入前的准备文档获取相关的配置数据 否则下面需要的数据你可能会比较懵 并且需要提前了解微信JSAPI支付文档 二 获取用户openid 获取openid方法例子 三 h5调起支付 1 第一种通过Weixi
  • springboot yml 配置文件注入Map,List

    文章转自 https blog csdn net sdzhangshulong article details 80124900 person lastName hello age 18 boss false birth 2017 12 1
  • C语言学习之extern关键字

    1 了解extern 1 extern是C语言的一个关键字 可以用来修饰函数与变量 2 当extern修饰一个变量或函数时时 就是在声明这个变量 函数 告诉编译器在外部文件中已经这个变量 函数 要通过编译 2 extern的用法 1 在一个
  • 使用java实现word转pdf,亲测有效,完美保留样式

    网上了很多方法 要么转换速度慢 要么转换出来的格式不一样 遇到了各种问题 无法完美完成转换 在stackoverflow发现完美答案 依赖