word转pdf实现

news2024/11/20 2:24:49

写一下笔记,以便在以后工作中用到:

导包:

<!--word 转 pdf-->
<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>

编写测试类: 

/**
 * 通过documents4j 实现word转pdf
 *
 * @param sourcePath 源文件地址 如 /root/example.doc
 * @param targetPath 目标文件地址 如 /root/example.pdf
 */
public static void documents4jWordToPdf(String sourcePath, String targetPath) {
    File inputWord = new File(sourcePath);
    File outputFile = new File(targetPath);
    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();
    } catch (Exception e) {
        // log.error("[documents4J] word转pdf失败:{}", e.toString());
        System.out.println("err");
    }
}

public static void main(String[] args) {
    String sourcePath = "D:\\新建文件夹\\蒋劲豪.docx";
    String targetPath = "D:\\新建文件夹\\蒋劲豪.pdf";
    documents4jWordToPdf(sourcePath, targetPath);
}

效果: 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/694175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

油烟机语音方案:NV040D语音芯片,支持MCU输入UART指令

随着人们生活水平的提高和厨房使用频率的增加&#xff0c;油烟机成为现代家庭生活中必不可少的一种家用电器&#xff0c;而语音智能化技术的发展也使得油烟机功能更加智能化。九芯电子的NV040D语音芯片是一种具备MCU输入UART指令功能的专业语音芯片&#xff0c;可以广泛应用于油…

实现微服务中的数据一致性:成功的策略

微服务架构已经彻底改变了我们构建和扩展应用程序的方式&#xff0c;提供了诸多优势&#xff0c;如提高了灵活性、可扩展性和故障隔离性。然而&#xff0c;由于微服务的分散性&#xff0c;跨服务维护数据一致性可能面临重大挑战。在本文中&#xff0c;我们将探讨不同的方法来解…

itextpdf实现word模板生成文件

前言 使用word模板生成文件&#xff0c;如下图&#xff0c;将左侧的模板生成为右侧的填充word文档。 操作方式 引入依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><arti…

多串口数据采集网关有什么功能

数据采集网关是一种通信终端设备&#xff0c;也称物联网网关&#xff0c;它具备数据采集、存储、传输等功能。物通博联WG系列数据采集网关提供多种数据传输方式和接口通道&#xff0c;包括有线、无线和串口传输等&#xff08;5G、4G、WIFI、以太网&#xff09;&#xff0c;可以…

ModaHub魔搭社区:向量数据库Milvus性能调优教程(二)

目录 索引 其他 存储优化 常见问题 索引 向量索引的基本概念请参考 向量索引概述。 选择合适的索引需要在存储空间、查询性能、查询召回率等多个指标中权衡。 FLAT 索引 FLAT 是对向量的暴力搜索&#xff08;brute-force search&#xff09;&#xff0c;速度最慢&#…

Qt/C++编写监控实时显示和取流回放工具(回放支持切换进度)

一、前言 现在各个监控大厂做的设备&#xff0c;基本上都会支持通过rtsp直接取流显示&#xff0c;而且做的比较好的还支持通过rtsp回放取流&#xff0c;基本上都会约定一个字符串的规则&#xff0c;每个厂家都是不一样的规则&#xff0c;比如回放对应的rtsp地址还要带上时间范…

Spring专家课程Day02_Spring-DI

文章目录 一、依赖注入_Autowired1.配置类中Bean 方式注入1.1&#xff09;注入实例1.2&#xff09;自动注入的匹配原则 2.组件扫描实现自动注入 Autowired3.set方法注入 二、接口解耦_自动注入规则1&#xff09;利用接口解耦2&#xff09;Autowired的注入规则3&#xff09;Qual…

学高性能计算难吗?猿代码科技国内首家专注高性能计算人才培养与推荐 ...

高性能计算&#xff08;HPC&#xff09;作为一门专业领域&#xff0c;涉及到复杂的计算架构、并行计算模型和算法优化等方面的知识。因此&#xff0c;学习高性能计算可能对一些人来说是一项挑战。然而&#xff0c;随着正确的学习方法和适当的资源&#xff0c;掌握高性能计算并不…

【UCOS-III】自我学习笔记→第35讲→软件定时器实验

文章目录 前言实验步骤1.复制消息队列工程&#xff0c;并创建单次定时器和周期定时器&#xff0c;并删除task3及其相关内容2.添加task1按键处理和软件定时器超时函数3.查看串口现象 测试代码工程文件总结 前言 无&#xff0c;仅作记录&#xff0c;不具有参考价值&#xff0c;所…

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型 一、效果展示 二、模型介绍 1.数据情况 一列数据&#xff0c;499个值 ratio 0.9;% 训练集比例 MaxEpochs 600;% 最大训练次数 % % 导入股票数据 xall importdata(数据.xlsx);2.优化参…

MySQL MMM 双主架构 主主复制 高可用

MMM&#xff08;Master-Master replication manager for MvSQL&#xff0c;MySQL主主复制管理器&#xff09; 是一套支持双主故障切换和双主日常管理的脚本程序。MMM 使用 Perl 语言开发&#xff0c;主要用来监控和管理 MySQL Master-Master &#xff08;双主&#xff09;复制&…

全志V3S嵌入式驱动开发(windows平台镜像烧入)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于很多第一次学习嵌入式linux和开发板的同学来说&#xff0c;如何烧入镜像文件常常成为他们要面对的第一个难题。从拿到板子开始&#xff0c;他们…

每个前端开发者都应知道的25个实用网站

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势&#xff0c;学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的&#xff0c;我们出的钱 体验地…

Soybean Admin - 基于 Vue3 / vite3 等最新前端技术栈构建的中后台模板,免费开源、清新优雅,主题丰富

一款专业好看、完成度很高的 admin 开源项目&#xff0c;无论是用于生产还是学习&#xff0c;都非常值得尝试。 关于 Soybean Admin Soybean Admin 是一个基于 Vue3 / Vite3 / TypeScript / NaiveUI / Pinia 和 UnoCSS 的中后台模版&#xff0c;它使用了最新流行的前端技术栈…

poium测试库介绍

poium测试库前身为selenium-page-objects测试库&#xff0c;我在以前的文章中也有介绍过:这可能是最简单的Page Object库&#xff0c;项目的核心是基于Page Objects实现元素定位的封装。该项目由我个人在维护&#xff0c;目前在公司项目中已经得到的应用。 ### poium的优势 Pa…

cmd和android studio同时使用adb,解决冲突的方案

问题&#xff1a; android studio 在Terminal使用adb后&#xff0c;cmd的adb就会掉线&#xff1b;同样cmd的adb使用中&#xff0c;android studio的logcat 的设备就是Offline状态&#xff0c;得重新在Terminal adb connect&#xff0c;并且关闭掉cmd窗口&#xff0c;否则adb反…

Centos ifconfig不显示IP地址解决办法之一

虚拟机使用命令ifconfig不显示IP地址&#xff0c;情况如下 原因&#xff1a;我们的虚拟机网络服务没有设置为开机自启动 解决&#xff1a; 1&#xff0c;进入目录 /etc/sysconfig/network-scripts/ cd /etc/sysconfig/network-scripts/ 2&#xff0c;路径下有一个 ifcfg-en…

4.蜂鸣器

1.了解蜂鸣器&#xff1a; 蜂鸣器在使用3.3V无法驱动&#xff0c;需要借助到三极管的放大特性(IcβIb)将蜂鸣器驱动&#xff1b;本次原理图中&#xff0c;接R33电阻是因为当STM32单片机复位时处于浮空状态&#xff0c;防止小电流让蜂鸣器响而添加的。 2.蜂鸣器原理图&#xf…

十一、jenkins将构建时间作为Jenkins变量(BUILD_TIMESTAMP)

插件管理中安装Build Timestamp 插件后可以使用 构建时间变量&#xff0c;变量名称【BUILD_TIMESTAMP】 引用变量方法&#xff1a; linux : ${BUILD_TIMESTAMP} 或 $BUILD_TIMESTAMP 推荐使用 ${BUILD_TIMESTAMP} Windows&#xff1a; %BUILD_TIMESTAMP%

TypeScript——泛型

泛型&#xff08;Generics&#xff09;是指在定义函数、接口或类的时候&#xff0c;不预先指定具体的类型&#xff0c;而在使用的时候再指定类型的一种特性。 函数泛型 本来函数参数类型的不同时&#xff0c;要写多个&#xff0c;现在用泛型&#xff0c;只需要使用时传参即可…