当前位置: 首页 > news >正文

使用poi-tl动态写入目录更新问题解决

在使用poi-tl动态写完word后,是无法更新目录的,使用poi-tl提供的插件也是不行的,而且很多使用poi手动写入的也是不行,最多就是让你在打开文件时提示你更新目录/更新域,用户体验很差,要点击好几次而且wps还不一定会弹的出来,只有office可以弹框。所以全网搜索最终找到两种解决方案,亲测可用,包含附件破解jar包,当然有商业版的更好

引入破解jar包,并导入项目,在资源里下载
spire.doc.free-5.2.0.jar
aspose-words-20.12-jdk17-crack.jar
在项目里的resources目录下新增lib文件夹将jar放入,打开pom文件夹配置

1,使用spire.doc(耗时长)

        <dependency><groupId>e-iceblue</groupId><artifactId>spire.doc.free</artifactId><version>5.2.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/ spire.doc.free-5.2.0.jar</systemPath></dependency>
  public static void main(String[] args) throws Exception {String wordPath = "D:\word\template\test.docx"Document dd = new Document(wordPath);// 更新目录dd.updateTableOfContents();// 再保存到原文件或者保存到新文件地址都可以dd.saveToFile(wordPath);
}

2,使用aspose.words

        <dependency><groupId>com.aspose</groupId><artifactId>aspose-words</artifactId><version>20.12</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/aspose-words-20.12-jdk17-crack.jar</systemPath></dependency>
  public static void main(String[] args) throws Exception {String wordPath = "D:\word\template\test.docx"Document doc = new Document(wordPath );// 更新目录doc.updateFields();// 再保存到原文件或者保存到新文件地址都可以doc.save(wordPath);
}
  // aspose 还提供很多转换功能比如转pdfpublic static void main(String[] args) throws Exception {String wordPath = "D:\word\template\test.docx"String pdfPath = "D:\word\template\testPdf.pdf"File file = new File(pdfPath);try (FileOutputStream os = new FileOutputStream(file)) {Document doc = new Document(pdfPath);doc.updateFields();doc.save(os, SaveFormat.PDF);}   
}

打包会遇到的一点小坑

当使用system引入依赖时,打包的时候要多注意,要加上如下配置,不然springboot是不会这种方式引入的jar进行打包的。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!-- 打包时会将本地jar一起打包 --><configuration><includeSystemScope>true</includeSystemScope></configuration>     </plugin></plugins>
</build>

参考连接

相关文章:

使用poi-tl动态写入目录更新问题解决

在使用poi-tl动态写完word后&#xff0c;是无法更新目录的&#xff0c;使用poi-tl提供的插件也是不行的&#xff0c;而且很多使用poi手动写入的也是不行&#xff0c;最多就是让你在打开文件时提示你更新目录/更新域&#xff0c;用户体验很差&#xff0c;要点击好几次而且wps还不…...

OpenCV高级图形用户界面(9)更改指定窗口的位置函数moveWindow()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 将窗口移动到指定的位置。 cv::moveWindow() 函数用于更改指定窗口的位置。你可以使用这个函数来移动窗口到屏幕上的任何位置。 函数原型 void …...

华山论剑之Rust的Trait

华山论剑&#xff0c;群雄荟萃&#xff0c;各显神通。武林中人&#xff0c;各有所长&#xff0c;或剑法飘逸&#xff0c;或掌法刚猛&#xff0c;或轻功绝顶。这就好比Rust中的trait&#xff0c;它定义了一种武功套路&#xff0c;而不同的门派、不同的人&#xff0c;可以将这套武…...

AI 编译器学习笔记之七五 -- pdb 使用方法

1、进入调试状态有2种方法&#xff1a;Python工具PDB调试器的使用方法详解_python_脚本之家 (jb51.net) a) 在重新种设置断点正常执行&#xff1a;遇到代码中插入的pdb.set_trace()或者breakpoint()进入调试状态 b) 不修改命令行&#xff1a;直接使用 python3 -m pdb pdb_demo.…...

15分钟学Go 第8天:控制结构 - 循环

第8天&#xff1a;控制结构 - 循环 在Go语言中&#xff0c;循环是一种基本的控制结构&#xff0c;用于重复执行一段代码。今天我们将深入了解Go语言中的for循环&#xff0c;包括它的各种用法、语法结构、以及如何在实践中有效地应用循环。 1. for 循环的基本概念 for循环是G…...

后端接收参数的几种常用注解

目录 一、RequestParam 二、RequestBody 三、PathVariable 四、RequestHeader 五、RequestAttribute 六、RequestPart 七、Valid 一、RequestParam 1.作用 用于将请求中的 查询参数 或 表单参数 绑定到方法的参数上。支持 GET 和 POST 请求。 2.使用方法 GetMappin…...

如何使用docker在linux中配置C++环境

目录 1. 安装docker 2. 配置C环境 1&#xff09;启动ubuntu:22.04容器 2&#xff09;配置编译环境G 3&#xff09;安装软件 4&#xff09;测试 1. 如何打包容器生成tar&#xff1f; a. 生成容器镜像 b. 将镜像压缩成tar 2. 如何将容器内部的端口映射至宿主机&#xf…...

darknet_ros 使用教程

首先是git clone可能会因为到没有权限的问题&#xff08;SSH&#xff09;&#xff0c;此时输入 git clone --recursive https://github.com/leggedrobotics/darknet_ros.git 下载成功之后 catkin_make -DCMAKE_BUILD_TYPERelease catkin失败原因&#xff08;在CMakefile中&…...

第九课 Vue中的v-bind指令拓展

Vue中的v-bind指令 示例拓展 1&#xff09;切换样式 <style>.test{width: 100px;height: 100px;border: 3px solid #000;}.bg{background: red;}</style><div id"app"><input type"button" value"点击切换样式" click&qu…...

DOIP协议介绍2-Diagnostic power mode information request (0x4003)消息

DOIP&#xff08;Diagnostic communication over Internet Protocol&#xff09;是基于以太网的通讯协议&#xff0c;用于对UDS协议的数据进行传输&#xff0c;规范于ISO13400标准。DOIP的Type&#xff1a;Diagnostic power mode information request&#xff08;0x4003&#x…...

Eclipse 软件:配置 JDBC、连接 MySQL 数据库、导入 jar 包

目录 一、配置 JDBC &#xff08;一&#xff09;作用 &#xff08;二&#xff09;官网下载 1. 下载链接 2. 下载 3. 补充&#xff1a;压缩包分类与用途 &#xff08;三&#xff09;eclipse 导入 JDBC 的 jar 包 &#xff08;四&#xff09;加载数据库驱动 &#xff08;五…...

二叉树中的最长交错路径

题目链接 二叉树中的最长交错路径 题目描述 注意点 每棵树最多有 50000 个节点每个节点的值在 [1, 100] 之间起点无需是根节点 解答思路 要找到最长交错路径&#xff0c;首先想到的是深度优先遍历因为起点无需是根节点&#xff0c;所以对于任意一个节点&#xff0c;其可以…...

高校企业数据可视化平台功能介绍/特色功能

数据可视化平台是一款适用于高校教学和各领域企业的零门槛可视化工具&#xff0c;能够解决高校数据分析与可视化类课程教学、实训问题。平台采用B/S结构&#xff0c;用户不需要下载客户端&#xff0c;可通过浏览器进行访问。 数据可视化平台提供多种指标设计&#xff0c;学…...

RHCE第三次笔记SSH

第三章 远程连接服务器 1、远程连接服务器简介 &#xff08;1&#xff09;什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统&#xff0c;让你在远程终端前登录 linux 主机以取得可操作主机接口&#xff08;shell &#xff09;&#xff0c;而登录后…...

JAVA基础-包装类

文章目录 包装类1 概述2 Integer类2.1 Integer类构造方法2.2 Integer类成员方法 3 基本类型与字符串之间的转换3.1 基本类型转换为String3.2 String转换成基本类型 4 底层原理 第六章&#xff1a;算法小题练习一&#xff1a;练习二&#xff1a;练习三&#xff1a;练习四&#x…...

复合逻辑运算与复合逻辑门

或非门&#xff08;NOR gate&#xff09; 是一种基本的逻辑门&#xff0c;它结合了“或”&#xff08;OR&#xff09;和“非”&#xff08;NOT&#xff09;操作。或非门的输出是输入信号的否定&#xff0c;只有在所有输入都为零时&#xff0c;输出才为一。 与非运算&#xff0…...

工厂模式~

现实世界中的例子 考虑一个招聘经理的情况。一个人不可能为每一个职位都进行面试。根据职位空缺&#xff0c;她必须决定并将面试步骤委托给不同的人。 用简单的话来说 它提供了一种将实例化逻辑委托给子类的方法。 维基百科的解释 在基于类的编程中&#xff0c;工厂方法模式是…...

Elasticsearch基本使用及介绍

Elasticsearch 1. 关于各种数据库的使用 关于MySQL&#xff1a;是关系型数据库&#xff0c;能清楚的表示数据之间的关系&#xff0c;并且&#xff0c;是基于磁盘存储的&#xff0c;可以使用相对较低的成本存储大量的数据 关于Redis&#xff1a;是基于K-V结构的在内存中读写数…...

10. PH47代码框架文件组织

通过之前章节对PH47体系的介绍&#xff0c;读者对PH47能建立起了初步的概念及掌握各主要构成部分的使用开发方法。从本章节开始&#xff0c;就将对PH47代码的二次开发内容进行具体讲述。 本部分就将对PH47框架当中代码文件的组织方式及功能作用进行介绍&#xff0c;对于将来熟…...

LabVIEW提高开发效率技巧----VI继承与重载

在LabVIEW开发中&#xff0c;继承和重载是面向对象编程&#xff08;OOP&#xff09;中的重要概念。通过合理运用继承与重载&#xff0c;不仅能提高代码的复用性和灵活性&#xff0c;还能减少开发时间和维护成本。下面从多个角度介绍如何在LabVIEW中使用继承和重载&#xff0c;并…...

AArch64内存管理:MAIR_EL3寄存器详解与应用

1. AArch64内存管理基础与MAIR_EL3寄存器定位 在Armv8-A/v9-A架构中&#xff0c;内存管理单元(MMU)通过多级页表实现虚拟地址到物理地址的转换。当处理器执行内存访问时&#xff0c;MMU会遍历页表条目(Translation Table Entry)&#xff0c;其中包含两个关键信息&#xff1a;目…...

基于双T振荡器的正弦波LED调光电路设计与实践

1. 项目概述&#xff1a;用双T振荡器实现正弦波LED调光最近在捣鼓一些氛围灯项目&#xff0c;总感觉用单片机PWM做的呼吸灯效果有点“硬”&#xff0c;那种线性的明暗变化看久了难免审美疲劳。于是翻出以前模拟电路的老本行&#xff0c;琢磨着能不能用纯硬件的方式&#xff0c;…...

脉冲神经网络加速器设计与边缘计算优化

1. 脉冲神经网络加速器的设计挑战与突破在边缘计算领域&#xff0c;脉冲神经网络(SNN)正以其独特的生物启发特性引发新一轮技术变革。与传统人工神经网络(ANN)相比&#xff0c;SNN通过离散的脉冲信号传递信息&#xff0c;模拟生物神经元的工作机制&#xff0c;理论上可实现超低…...

终极指南:用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式

终极指南&#xff1a;用AlwaysOnTop免费开源工具彻底改变你的Windows工作方式 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否经常在多个窗口间来回切换&#xff0c;浪费宝…...

5分钟掌握res-downloader:跨平台资源下载的终极指南

5分钟掌握res-downloader&#xff1a;跨平台资源下载的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否经常在…...

如何在Windows上轻松查看和转换iPhone HEIF图片:HEIF实用工具指南

如何在Windows上轻松查看和转换iPhone HEIF图片&#xff1a;HEIF实用工具指南 【免费下载链接】HEIF-Utility HEIF Utility - View/Convert Apple HEIF images on Windows. 项目地址: https://gitcode.com/gh_mirrors/he/HEIF-Utility HEIF Utility是一款专为Windows用户…...

OpenVSP飞机参数化设计:从零到一的完整建模与气动分析指南

OpenVSP飞机参数化设计&#xff1a;从零到一的完整建模与气动分析指南 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP OpenVSP是一款由NASA开发的免费开源飞机参数化设计工具&#xff0c;它让航空…...

Unity VFX Graph实战:从Compute Shader依赖看GPU粒子特效的性能与平台适配(以HDRP项目为例)

Unity VFX Graph深度解析&#xff1a;GPU粒子特效的性能优化与跨平台实战指南在游戏开发领域&#xff0c;粒子特效一直是营造沉浸感的关键要素。当传统CPU驱动的粒子系统遇到性能瓶颈时&#xff0c;Unity的Visual Effect Graph&#xff08;VFX Graph&#xff09;凭借其GPU加速能…...

如何精准识别区域内的产学研合作机会?

核心要点 产学研精准对接的核心矛盾在于供需两端“底数不清”&#xff0c;必须用产业知识图谱对企业技术家底做CT扫描&#xff0c;再以持证技术经纪人入企二次挖掘&#xff0c;才能将模糊的升级意愿转化为可决策的结构化需求。告别“签完即凉”的致命伤&#xff0c;关键不是办更…...

崩坏星穹铁道自动化终极指南:3分钟学会解放双手的游戏助手

崩坏星穹铁道自动化终极指南&#xff1a;3分钟学会解放双手的游戏助手 【免费下载链接】StarRailAssistant 崩坏&#xff1a;星穹铁道自动化 | 崩坏&#xff1a;星穹铁道自动锄大地 | 崩坏&#xff1a;星穹铁道锄大地 | 自动锄大地 | 基于模拟按键 项目地址: https://gitcode…...