前提:

1.知道如何创建ftl模板

2.知道ftl的指令及语法

3.知道如何用java将ftl文件生成word并添加数据

4.知道如何将图片转为base64字符串

内容:

1.在ftl模板中引入多个图片

<#if imageList?? && (imageList?size) &gt; 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) &gt; 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) &gt; 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时插入多张图片相关推荐

  1. 利用.ftl模板生成word之后再转pdf发现 填充的印章图片显示不全,没有自动移到下一页处理办法

    因为公司业务需要,利用一个ftl模板生成word在转为pdf.然后发现印章图片在页底那边显示不全,没有如文字一般自动换到下一页去.例如如下: 最后折腾了半天,在网上试了各种办法.最后只能通过 java ...

  2. java手动/按模板生成word与excel

    目录 一.前言 二.生成word 1.使用Apache poi手动生成一个word (1)导入依赖 (2)手动生成一个包含表格的word 2.使用Apache poi 按模板生成一个简单的word ( ...

  3. JAVA根据ftl模板生成需要的多表格word文档

    效果如下图: 第一步:编辑模板 第二步:另存为xml格式 第三步:改为ftl模板格式,并编辑ftl模板 <?xml version="1.0" encoding=" ...

  4. java通过ftl模板导出word最详细教程

    百度云链接 链接: https://pan.baidu.com/s/1OEzvsFSqAelstDtu2mo5xw 提取码: fdhq https://pan.baidu.com/s/1OEzvsFS ...

  5. 【Java】使用模板生成word文档到服务器,并下载

    前台js只需要一个方法, 1.Action:说明:dataMap是需要展示的数据, String rootPath = SaveFileUtil.FILE_PATH;此处是为了判断盘符的,win系统和 ...

  6. freemarker根据模板生成word,并插入图片

    1.将你的word模板根据下图插入需要填充的占位符,格式为${},大括号内放入传对应的值 2.审核者后面放的是一张电子签名的图片,这个位置将是我们要插入图片的位置 3.然后将你的word文件保存另存为 ...

  7. java后台利用模板生成Word文档提供前台下载

    2016.12.06更新,java后台利用Apache poi生成Excel文档提供前台下载,博客链接http://blog.csdn.net/u010251278/article/details/5 ...

  8. java 使用 freemarker模板 生成 word 并用 aspose 转换成PDF

    添加依赖: <!-- freemarker生成word文件--><dependency><groupId>org.springframework.boot</ ...

  9. 根据ftl模板生成word

    首先创建word文档,编辑好模板,使用 ${} 作为媒介标识待填入的值 另存为xml格式 改为ftl格式 上传至项目目录下 /*** 1, 新建一个word文档, 输入模板内容:值用${}代替 比如- ...

最新文章

  1. replace into mysql去重_上传 phpexcel 类 入库并入库前去重
  2. 五十六、 白话讲解商业智能 BI、数据仓库 DW、数据挖掘 DM
  3. 【数据结构与算法】之电话号码键盘的字母组合算法
  4. 阿里云云效如何保障双11大型项目管理
  5. Java8使用Stream的缺点是调试困难?教你一招你就不会这么认为了
  6. Routeros2.9.7安装总结
  7. 认识 ARM、FPGA
  8. 071 time模块
  9. linux 正则查找email,linux的正则表达式查找
  10. 自制卡牌游戏Python
  11. 机器学习二(python sklearn逻辑回归)
  12. 关于生产报表工具—行列视(RCV)的答疑
  13. AI人工智能外呼机器人测试项目经历
  14. 数据、数据库、数据库管理系统、数据库系统的概念
  15. 电脑桌面分类管理软件--酷呆桌面、腾讯桌面
  16. 视频转文字怎么转,3个办法教你将视频里的语音转文字
  17. uil的简单常用操作
  18. 剑网三账号分离能分到其他服务器,数据互通全面启动_剑侠情缘网络版叁_金山游戏官方网站_金山逍遥Xoyo.com...
  19. 在通达信服务接口手机软件如何使用自己的代码选股?
  20. CAD中如何进行日照分析?CAD日照分析教程

热门文章

  1. 用计算机怎么表示度数,度数符号怎么在电脑上打出来(图解特殊符号的2种输入技巧)...
  2. 清空手机微信浏览器缓存
  3. Alien Skin Exposure X7最新2022好用的ps滤镜插件
  4. 2021年资料员-通用基础(资料员)考试及资料员-通用基础(资料员)免费试题
  5. Python开发 LTE频点/频率换算工具V0.1
  6. 江苏省计算机考试在哪打印准考证
  7. 25 致远OA修改页面参数值
  8. 调用币安接口获取币种及当前价格
  9. 用户微博阅读量、互动数、新增粉丝统计
  10. EasyExcel 导入