当前位置: 首页 > 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;并…...

LLM API安全攻防实战:从提示词注入到自动化测试方案

1. 项目概述&#xff1a;被忽视的LLM API安全前线最近在帮几个团队做上线前的安全审计&#xff0c;发现一个挺有意思的现象&#xff1a;大家对于传统API的鉴权、限流、SQL注入这些常规检查已经形成了肌肉记忆&#xff0c;但一旦涉及到LLM&#xff08;大语言模型&#xff09;的A…...

Visual Paradigm 17.0 团队协作新功能实测:手把手教你用项目模板和文件夹管理提效

Visual Paradigm 17.0 团队协作实战指南&#xff1a;从模板配置到文件夹管理的高效工作流在敏捷开发团队中&#xff0c;项目启动速度和资产管理的规范性往往直接影响整体效率。Visual Paradigm 17.0针对这一痛点推出的团队协作增强功能&#xff0c;特别是服务器端项目模板和文件…...

千亿镁合金产业集群正在成形:成都、抚州、池州的新版图

一个新赛道的地理坐标 如果要在中国地图上标注一条正在成形的新兴产业集群走廊&#xff0c;高强镁合金这条线&#xff0c;值得被认真画出来。 成都龙泉驿——江西抚州临川——安徽池州高新区&#xff0c;三个坐标&#xff0c;三条生产线&#xff0c;一家公司&#xff0c;两年内…...

2026年一键生成论文工具对比实测:5款神器从选题到格式全流程护航

写论文的焦虑&#xff0c;是每个科研人和学生都心照不宣的“隐形压力”。选题无从下手&#xff0c;文献检索耗时费力&#xff0c;逻辑框架反复推翻&#xff0c;格式排版让人抓狂&#xff0c;查重降重更是像在和系统玩“猫鼠游戏”。2026年的AI工具早已不是过去那种“打字机”&a…...

为Claude Code配置稳定API源并解决访问限制

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为Claude Code配置稳定API源并解决访问限制 Claude Code 作为一款强大的 AI 编程辅助工具&#xff0c;其原生服务在某些情况下可能…...

RevSSH反向SSH隧道:无公网IP设备的安全远程运维方案

1. 这不是又一个SSH封装工具——RevSSH解决的是“根本性连接悖论”你有没有遇到过这样的场景&#xff1a;一台部署在客户内网的嵌入式设备&#xff0c;没有公网IP&#xff0c;NAT穿透失败&#xff0c;防火墙策略死死锁住所有入向端口&#xff0c;连ICMP都被禁了&#xff1b;或者…...

观察不同模型在统一 API 下的响应速度与输出风格差异

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察不同模型在统一 API 下的响应速度与输出风格差异 在为大语言模型应用选择模型时&#xff0c;开发者通常会关注两个核心维度&am…...

You-Get下载视频音画不同步?可能是FFmpeg路径没配对!附Mac/Linux/Windows三平台配置指南

You-Get跨平台音视频同步解决方案&#xff1a;FFmpeg环境配置全指南 当你在Mac上流畅使用you-get下载合并好的视频&#xff0c;切换到Windows却遭遇音画分离的尴尬时&#xff0c;问题往往出在FFmpeg的环境配置上。本文将带你深入理解多平台下FFmpeg的配置差异&#xff0c;并提…...

别再死记硬背公式了!用UE5的Lerp节点玩转材质混合(附灰度图实战案例)

别再死记硬背公式了&#xff01;用UE5的Lerp节点玩转材质混合&#xff08;附灰度图实战案例&#xff09;在游戏开发中&#xff0c;材质混合是创造丰富视觉效果的关键技术。对于Unreal Engine 5的初学者来说&#xff0c;LinearInterpolate&#xff08;简称Lerp&#xff09;节点可…...

猫抓浏览器扩展技术深度解析:构建高效流媒体资源捕获工作流

猫抓浏览器扩展技术深度解析&#xff1a;构建高效流媒体资源捕获工作流 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓浏览器扩展是一个基于C…...