java 用ftl模板生成word时插入多张图片
前提:
1.知道如何创建ftl模板
2.知道ftl的指令及语法
3.知道如何用java将ftl文件生成word并添加数据
4.知道如何将图片转为base64字符串
内容:
1.在ftl模板中引入多个图片
<#if imageList?? && (imageList?size) > 0><#list imageList as image><pkg:part pkg:name="/word/media/image_${image_index}.jpeg" pkg:contentType="image/jpeg"><pkg:binaryData>${image}</pkg:binaryData></pkg:part></#list>
</#if>
在ftl模板的下方添加<pkg:part>标签,通过该标签引入图片,代码如上所示 。其中:imageList为List<String>的对象,里面存放图片的base64字符串,pkg:name属性的值要唯一;<pkg:binaryData>标签内不能有空格和换行。
2.展示图片
在ftl模板上方的该标签<pkg:part>内添加以下标签用于其他位置引用该图片,
<#if imageList?? && (imageList?size) > 0><#list imageList as image><Relationship Id="imageId_${image_index}"Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"arget="media/image_${image_index}.jpeg" /></#list>
</#if>
其中arget属性中的值必须和图片标签的属性pag:name相似(少了个'/word/'),Id属性必须唯一。
展示:
<#if imageList?? && (imageList?size) > 0><#list imageList as image><w:pict><v:shape id="_x0000_i1026_${image_index}" o:spt="75" alt="图片"type="#_x0000_t75"style="height:21.15pt;width:42.3pt;" filled="f"o:preferrelative="t" stroked="f"coordsize="21600,21600"><v:path /><v:fill on="f" focussize="0,0" /><v:stroke on="f" /><v:imagedata r:id="imageId_${image_index}" o:title="图" /><o:lock v:ext="edit" aspectratio="t" /><w10:wrap type="none" /><w10:anchorlock /></v:shape></w:pict></#list>
</#if>
通过在需要的位置添加<w:pict>标签进行图片展示,<v:imagedata>引用对应的图片。其中<v:imagedata>的属性r:id需要和<Relationship>的属性Id对应。
java 用ftl模板生成word时插入多张图片相关推荐
- 利用.ftl模板生成word之后再转pdf发现 填充的印章图片显示不全,没有自动移到下一页处理办法
因为公司业务需要,利用一个ftl模板生成word在转为pdf.然后发现印章图片在页底那边显示不全,没有如文字一般自动换到下一页去.例如如下: 最后折腾了半天,在网上试了各种办法.最后只能通过 java ...
- java手动/按模板生成word与excel
目录 一.前言 二.生成word 1.使用Apache poi手动生成一个word (1)导入依赖 (2)手动生成一个包含表格的word 2.使用Apache poi 按模板生成一个简单的word ( ...
- JAVA根据ftl模板生成需要的多表格word文档
效果如下图: 第一步:编辑模板 第二步:另存为xml格式 第三步:改为ftl模板格式,并编辑ftl模板 <?xml version="1.0" encoding=" ...
- java通过ftl模板导出word最详细教程
百度云链接 链接: https://pan.baidu.com/s/1OEzvsFSqAelstDtu2mo5xw 提取码: fdhq https://pan.baidu.com/s/1OEzvsFS ...
- 【Java】使用模板生成word文档到服务器,并下载
前台js只需要一个方法, 1.Action:说明:dataMap是需要展示的数据, String rootPath = SaveFileUtil.FILE_PATH;此处是为了判断盘符的,win系统和 ...
- freemarker根据模板生成word,并插入图片
1.将你的word模板根据下图插入需要填充的占位符,格式为${},大括号内放入传对应的值 2.审核者后面放的是一张电子签名的图片,这个位置将是我们要插入图片的位置 3.然后将你的word文件保存另存为 ...
- java后台利用模板生成Word文档提供前台下载
2016.12.06更新,java后台利用Apache poi生成Excel文档提供前台下载,博客链接http://blog.csdn.net/u010251278/article/details/5 ...
- java 使用 freemarker模板 生成 word 并用 aspose 转换成PDF
添加依赖: <!-- freemarker生成word文件--><dependency><groupId>org.springframework.boot</ ...
- 根据ftl模板生成word
首先创建word文档,编辑好模板,使用 ${} 作为媒介标识待填入的值 另存为xml格式 改为ftl格式 上传至项目目录下 /*** 1, 新建一个word文档, 输入模板内容:值用${}代替 比如- ...
最新文章
- replace into mysql去重_上传 phpexcel 类 入库并入库前去重
- 五十六、 白话讲解商业智能 BI、数据仓库 DW、数据挖掘 DM
- 【数据结构与算法】之电话号码键盘的字母组合算法
- 阿里云云效如何保障双11大型项目管理
- Java8使用Stream的缺点是调试困难?教你一招你就不会这么认为了
- Routeros2.9.7安装总结
- 认识 ARM、FPGA
- 071 time模块
- linux 正则查找email,linux的正则表达式查找
- 自制卡牌游戏Python
- 机器学习二(python sklearn逻辑回归)
- 关于生产报表工具—行列视(RCV)的答疑
- AI人工智能外呼机器人测试项目经历
- 数据、数据库、数据库管理系统、数据库系统的概念
- 电脑桌面分类管理软件--酷呆桌面、腾讯桌面
- 视频转文字怎么转,3个办法教你将视频里的语音转文字
- uil的简单常用操作
- 剑网三账号分离能分到其他服务器,数据互通全面启动_剑侠情缘网络版叁_金山游戏官方网站_金山逍遥Xoyo.com...
- 在通达信服务接口手机软件如何使用自己的代码选股?
- CAD中如何进行日照分析?CAD日照分析教程