1、使用的Microsoft Office 2007,添加一个无边框的表格,并插入一张图片,最后另存为编码utf-8,一开始保存的word xml格式的,图片的base64编码位于文档最后,暂时没有找到解决方法,所以就保存

2、用编辑工具打开,找到base64编码替换为ftl标签,红色所示,图片设置长宽(蓝色所示)

<w:p wsp:rsidR="00A50283" wsp:rsidRDefault="00A50283" wsp:rsidP="00D6093A"><w:pPr><w:spacing w:line="20" w:line-rule="exact"/><w:rPr><w:rFonts w:ascii="黑体" w:fareast="黑体" w:h-ansi="华文中宋"/><wx:font wx:val="黑体"/><w:sz w:val="36"/><w:sz-cs w:val="36"/></w:rPr></w:pPr></w:p><w:tbl><w:tblPr><w:tblW w:w="9462" w:type="dxa"/><w:tblLook w:val="04A0"/></w:tblPr><w:tblGrid><w:gridCol w:w="9462"/></w:tblGrid><w:tr wsp:rsidR="00CA63A1" wsp:rsidRPr="00783132" wsp:rsidTr="00783132"><w:trPr><w:trHeight w:val="13715"/></w:trPr><w:tc><w:tcPr><w:tcW w:w="9462" w:type="dxa"/><w:shd w:val="clear" w:color="auto" w:fill="auto"/></w:tcPr><w:p wsp:rsidR="00CA63A1" wsp:rsidRPr="00783132" wsp:rsidRDefault="00CA63A1" wsp:rsidP="00CA63A1"><w:pPr><w:rPr><w:rFonts w:ascii="黑体" w:fareast="黑体" w:h-ansi="华文中宋"/><wx:font wx:val="黑体"/><w:sz w:val="36"/><w:sz-cs w:val="36"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00783132"><w:rPr><w:rFonts w:ascii="黑体" w:fareast="黑体" w:h-ansi="华文中宋"/><wx:font wx:val="黑体"/><w:sz w:val="36"/><w:sz-cs w:val="36"/></w:rPr><w:pict><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"/><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"/><v:f eqn="sum @0 1 0"/><v:f eqn="sum 0 0 @1"/><v:f eqn="prod @2 1 2"/><v:f eqn="prod @3 21600 pixelWidth"/><v:f eqn="prod @3 21600 pixelHeight"/><v:f eqn="sum @0 0 1"/><v:f eqn="prod @6 1 2"/><v:f eqn="prod @7 21600 pixelWidth"/><v:f eqn="sum @8 21600 0"/><v:f eqn="prod @7 21600 pixelHeight"/><v:f eqn="sum @10 21600 0"/></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/><o:lock v:ext="edit" aspectratio="t"/></v:shapetype><w:binData w:name="${"wordml://0200000"+sl_index+1+".jpg"}" xml:space="preserve">${sl.图片绝对路径}</w:binData><v:shape id="_x0000_i1025" type="#_x0000_t75" style="width:400pt;height:500pt"><v:imagedata src="${"wordml://0200000"+sl_index+1+".jpg"}" o:title=""/></v:shape></w:pict></w:r></w:p></w:tc></w:tr></w:tbl>

3、图片路径转为base64,否则报错

private String changeimg(String path) {  
            InputStream ins = null;  
            byte[] data = null;  
            try {  
                ins = new FileInputStream(path);  
                data = new byte[ins.available()];  
                ins.read(data);  
                ins.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            BASE64Encoder encoder = new BASE64Encoder();  
            return encoder.encode(data);  
        }

4、若无图片则显示文本信息

解决方案用<#if sl.upViewPath == '1'>显示文本<#else>图片显示</#if>

使用freemaker 导出word 含多张图片,若无图片则显示文本信息的更多相关文章

  1. Java 用Freemarker完美导出word文档(带图片)

    Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...

  2. 【Java】用Freemarker完美导出word文档(带图片)

    Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...

  3. 利用jQuery-Word-Export导出word (含ECharts)

      写在前面的话:写博客的初衷是想把自己学到的知识总结下来,在写的过程中,相当于又把知识梳理了一遍.我坚信有输入,有输出,技术才会进步.我一般都会自己写一个小demo,测试没有问题,再进行整理. 在实 ...

  4. 使用Freemarker导出Word文档(包含图片)代码实现及总结

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  5. Freemaker基于word模板动态导出汇总整理

    Freemaker基于word模板动态导出汇总整理 一.使用的jar包: 二.Word模板动态导出的基本思路: 1.首先通过自己在word中创建好需要导出的word文本+表格的模板,模板中需要填写内容 ...

  6. Freemaker基于word模板动态导出压缩文件汇总整理

    Freemaker基于word模板动态导出压缩文件汇总整理 Freemaker基于word模板动态导出单个文件思路和代码详情见连接: https://www.cnblogs.com/lsy-blogs ...

  7. Java导出Word利用freemarker(含图片)

    制作Word模版 建议使用高版本的office做,尽量不要用WPS做,生成xml会出现乱码 编码要统一,推荐UTF-8 建好模板,将模板另存为xml格式,建议原来模板不要删,xml的如果后期打不开,还 ...

  8. 使用POI导出Word(含表格)的实现方式及操作Word的工具类

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  9. freemarker导出word带图片

    导出word带图片 如果你需要在word中添加图片,那你就在第一步制作模板时,加入一张图片占位,然后打开xml文档,可以看到如下的一片base64编码后的代码: <w:binData w:nam ...

随机推荐

  1. div闪一下就消失

    <div id="saveCode" class="center" style="display:none;width:300px;height ...

  2. 关于KPM算法

    [转]从头到尾彻底理解KMP http://blog.csdn.net/v_july_v/article/details/7041827 int* GetNextval(char* p){ int p ...

  3. 分享调用Java private方法

    上周在修复bug时,发现Java类中某方法是private,且类中没有用到,第一感觉是方法多余.其实通过分析,发现原来Native Code会通过JNI调到此方法.这也给自己启发,平时做Code re ...

  4. 深入解析条件变量(condition variables)

    深入解析条件变量 什么是条件变量(condition variables) 引用APUE中的一句话: Condition variables are another synchronization m ...

  5. NGINX压力测试

    目录 1    硬件配置    3 1.1    型号    3 1.2    CPU    3 1.3    内存    3 2    软件环境    3 2.1    操作系统    3 2.2  ...

  6. 读取pdf内容分页和全部

    //读取pdf 全部内容public static String topdffile(String pdffile){ StringBuffer result = new StringBuffer() ...

  7. 用IDEA在Tomcat上部署项目

    其实每次在需要运行的jsp页面右键=>run也是可以运行的,但是会出现下面这样 正常应该Run==>Edit Con-- 这时候将看到这个页面,千万不要在Defaults中招Tomcat配 ...

  8. python实现维吉利亚密码加密(Vigenère cipher)

    最近有个朋友问我关于维吉利亚密码如何用python实现加密,研究之后发现这是个挺好玩的东西,遂决定写篇博文记录一下. 一.何谓维吉利亚密码 第一列是密钥字母列,第一行是明文字母行.不难看出维吉利亚密码 ...

  9. python安装的时候报SSL连接错误的解决办法

    Collecting xlwt   Could not fetch URL https://pypi.python.org/simple/xlwt/: There was a problem conf ...

  10. jQuery学习笔记 .addClass()/.removeClass()简单学习

    使用jQuery或javaScript来动态改变页面中某个或部分元素的样式,为了实现这样的功能,我们往往都是使用jQuery或javaScript来控制HTML中DOM的类名(class)从而实现增加 ...