Map<String, String> details 书签key 和写入的数据值 value
//创建临时文件
File tempFile = new File("D:" + File.separator + System.currentTimeMillis() + ".docx");
String tempFilePath = tempFile.getPath();
InputStream inputStream = OssUtil.getFileInputStream("模板文件链接https://xxxx.docx");
Document doc = new Document(inputStream);
DocumentBuilder builder = new DocumentBuilder(doc);
BookmarkCollection bookmarks = doc.getRange().getBookmarks();
//先插入二维码图片
//查找二维码图片特定名称的书签
Bookmark bookmark = bookmarks.get("书签名");
if (bookmark != null) {
// 创建一个 DocumentBuilder 对象,并将光标移动到书签的位置
builder.moveToBookmark(bookmark.getName());
// 网址转为base64
String qrUrl = "www.baidu.com";
String base64String = QrCoder.base64ImageString(QrCoder.createQrCode(null, qrUrl));
base64String = removeBase64Prefix(base64String);
// 解码 Base64 字符串为字节数组
byte[] imageBytes = Base64.getDecoder().decode(base64String);
// 使用字节数组创建输入流
ByteArrayInputStream imageStream = new ByteArrayInputStream(imageBytes);
// 插入图片到文档中
Shape shape = builder.insertImage(imageStream);
shape.setWidth(125.0);
shape.setHeight(125.0);
// 关闭图片流
imageStream.close();
//删除details里的key
details.remove("书签名")
}
//写入其他书签
for (Map.Entry<String, String> entry : details.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
if (builder.moveToBookmark(key) && StringUtil.isNotEmpty(value)) {
builder.write(value);
bookmarks.remove(key);
}
}
doc.save(tempFilePath);
相关推荐
JAVA实现向Word模板中插入Base64图片和数据信息
poi-tl(poi template language)是Word模板引擎,基于Apache POI,提供更友好的API,使用起来更加简单。在服务端提前准备好Word模板文件,并在用户请求接口时服务端动态获取图片。数据等信息插入到模板当中,然后返回包含数据信息的Word文件流。在需要插入图片的地方使用:{{@参数名}},文本信息使用:{{参数名}},进行占位,占位格式将会被保留,经过处理后格式不变。将准备好的模板文件放在resources目录下。参数名必须同Word模板中的参数名称保持一致。
java向word写入数据
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.8</version> </dependency> <dependency> ...
java 用ftl模板生成word时插入多张图片
ftl 插入 图片
Java中实现写Word文档
通过java代码,往docx文档中写入标题和段落。但是打开word后发现标题并没有生效。效果如下,标题的属性确实是"标题1"。这是因为需要自己编写标题的样式信息,参考如下代码中的addCustomHeadingStyle方法。
Java集成Poi写入word文档
向word中动态写入数据,并且将写好的word文档下载给用户。
易语言游戏Call调用避坑指南:主线程绑定与反检测实战
本文详细解析了易语言游戏Call调用中的主线程绑定与反检测技术,帮助开发者避免游戏崩溃和断线问题。通过分析线程检测原理、提供易语言实现方案及高级反检测技巧,如动态线程绑定和上下文伪装,确保Call调用的稳定性和安全性。文章还包含常见问题排查和性能优化建议,适用于游戏辅助开发领域。
JAVA向word模板文档中写入数据并下载
将某些证明类的文档设置一个模板,先以变量填充,再由java代码去用实际值替换变量,并下载 。1. 在pom.xml中引入poi 2. 代码如下: 模板: 替换后:
山东大学FPGA课程实验一 加法器设计
电子设计自动化与FPGA设计,实验一 加法器设计
java使用poi操作word模板,插入图片、段落、表格
java使用poi操作word插入图片、段落、表格准备工作创建word模板.docx文件编写模板格式.xml文件java上手poimaven依赖使用到的包具体应用对应封装方法 ----------图片插入指定位置操作图片操作使用到的工具类对应封装方法 ----------表格操作表格操作用到的工具类对应封装方法 ----------段落内容替换操作段落内容操作用到的工具类效果图如果想设置单独的样式 准备工作 创建word模板.docx文件 使用模板操作,因为自己使用poi去写word过于麻烦,耦合性太高
基于Arduino与Velostat的智能鞋垫:DIY足底压力监测系统全解析
压力传感器是物联网和健康监测领域的基础元件,其核心原理是将物理压力转换为可测量的电信号。通过压阻效应,材料的电阻值随压力变化,从而实现压力感知。这项技术为低成本、定制化的健康监测方案提供了可能,尤其在运动分析和康复训练中具有重要价值。本文聚焦于利用Velostat压敏材料和Arduino平台,详细解析如何从传感器制作、信号调理到无线数据传输,构建一套完整的足底压力监测系统。文中深入探讨了传感器阵列构建、信号滤波等关键技术,并针对常见问题提供了实用的解决方案,为创客和开发者实现可穿戴健康监测设备提供了清晰的工
光学系统设计:波段、光源、光纤与探测器匹配指南
在光学测量和光纤通信系统中,波段、光源、光纤和探测器的匹配关系是系统设计的核心基础。波段指电磁波谱中的特定波长范围,光源负责产生特定波长的光信号,光纤作为传输介质需要与波长匹配以降低损耗,探测器则负责将光信号转换为电信号。理解各组件的光谱特性对于系统性能至关重要,例如在850nm短波长多模光纤系统中,VCSEL激光器与PIN光电二极管的组合能提供最佳性价比。典型应用场景包括生物医学成像、光纤通信和气体传感,其中光谱重叠优化、模场直径匹配和偏振特性协调是关键技术要点。通过实测数据对比不同组合的传输性能,可以为
java springboot 写入word文档(word模版: 文字,表格,图片)
java使用模版,填充word。包括文字,表格,图片
SpringBoot 自定义注解来实现动态切换数据源
/ 初始化数据源@Override@Inherited@Pointcut(“@annotation(包名.aop.DataSource)”) public void@Pointcut 注解定义了一个切点,名称为 dynamicDataSource。@annotation(包名.aop.DataSource) 表示这个切点匹配所有带有 @DataSource 注解的方法。
java根据模板导出word,并在word中插入echarts相关统计图片以及表格
java根据word模板生成对应的word文档,并且要在word文档中插入Echarts的一些统计图表,例如柱状图、折线图、柱状混合图等。思路是根据Echatrs的option生成json文件,然后通过命令行调用phantomjs执行echarts-convert的js脚本生成Echarts对应图表的图片,然后将图片转为Base64的字符串,替换word文档中的图片占位符,实现往word文档中插入统计图表的需求。
[Dify] 如何构建一个带评分功能的 Dify AI 教练系统
本文介绍如何利用Dify开源平台构建具备自动评分功能的AI教练系统。系统通过Prompt设计AI教练角色,使用OpenAPI定义评分工具接口,结合工作流编排实现提问、回答收集、评分和反馈的全流程。文章详细讲解了从AI教练身份设定、多维度评分标准设计到前端可视化展示的实现方法,并提供了可扩展建议,适用于语言训练、面试模拟等多种场景。该系统展示了Dify平台在构建智能化评估应用方面的优势,实现零代码开发专业AI教练解决方案。
搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)
这篇文章教大家在ECS云服务器上部署EMQX,搭建自己私有的MQTT服务器,配置EMQX实现设备上云,设备数据转发,存储;服务器我采用的华为云的ECS服务器,系统选择Ubuntu系统。
Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类
最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊。下面介绍一下应用场景:这次项目依旧是springboot项目,使用ftl模版生成的word文件。比上一版相比更加灵活而且实用性更高,还可插入base64图片进行展示关于ftl模板我会简单介绍一下使用的心得,其实也是一些标签而已,熟悉以后操作起来也比较快下载。
UCIE Specification详解(五)
Logical Physical Layer(逻辑物理层)
Java poi Word模板数据替换工具类(支持图片和表格)
Java poi Word模板数据替换需求说明设计思路功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 需求说明 在项目中遇到一个需要将报表数据导出到word的需求,报表数据包含了文字,图片和表格数据。 设计思路 实际上在日常项
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
Java导出数据到Word模板中
Java导出数据到Word模板.前言网上的方案需求介绍模板简介使用体验poi-tlFreemarker操作步骤总结 前言 相信很多人都会遇到Java导出的业务,Java导出主要有导出数据到Excel和Word,但是相比较而言对于导出数据到Excel的实现方案会比较成熟一些,网上的教程也是非常之多的.但是导出到Word的方案还是有所欠缺,一些简单的导出还是可以的,但是遇到一些比较复杂的Word模板导...
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
Java word文档转图片 || word转pdf两行代码搞定
word转图片,word文档转pdf。支持动态数据生成
poi使用模板导出word带图片
1.下面是我做的加载模板导出带图片的word的导出方式,使用之前请映入freemarker的jar包,可以从百度下载即可。 2.首先准备到你要导出的word模板,在要填充的模板中填入el表达式,如下图所示。 XXXX公司招聘高校毕业生应聘登记表 姓 名 ${name} 性 别 ${sex} 出生年月 ${birt
【Freemarker】java代码wps word带图片动态模板生成
for (int i = 0; i < fileList.length; i++) { HashMap<String, Object> file = new HashMap<>(); String path = fileList[i].getAbsolutePath(); File imageFile=new File(downloadPath+"\\upload\\"+path); try { // 获取图片长宽 Bu
java根据word模板导出_Java通过word模板导出word
Java通过word模板导出word1.创建word模板文件,注意调整好格式,后期修改较为麻烦2.打开创建好的word模板,点击文件另存为,选择xml格式3.将生成的模板xml文件后缀改成ftl,例如:模板.xml-->模板.ftl4.在项目中引入freemarker依赖5.将模板.ftl文件放入项目resources下面的templates(自定义文件夹)6.编写代码程序。示例如下:pub...
java模板变量_java freemarker + word 模板 生成 word 文档 (变量替换,数据的循环,表格数据的循环,以及图片的替换)...
1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理就得整理半天,而且一旦要修改模板,那简直就是灾难,而且据说还不兼容 WPS1.2,所以笔者找到了以下可以直接用 word 文档作为模板的方法,这里做以下笔记,以下代码依赖于 JDK8 以上2,pom.x...
Java 数据填充到word模板中
maven引用 <dependencies> <!--word操作工具类--> <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.6.0-beta1</version
3399



被折叠的 条评论
为什么被折叠?



