freemarker 图片输出、多张图片输出(图片重复原因及解决)

单张图片显示:

  先写好word格式的文档,在其中插入一张图片,然后重命名为ftl,再用编辑器打开,把图片那一段base64信息用freemarker表达式替换掉。 之后把图片的信息输出到模板即可。

多张图片显示:

  需要注意的是,多张图片显示时,当list循环的时候,如果你不改变图片两个属性w:name和imagedata src的值,那么它永远也是调用第一张图片的地址,显示的都是第一张图片。

更改两个属性w:name和imagedata src的方法:

  用变量个体的索引来改变两个属性的名字,变量个体的索引格式为“变量名字_index”,见下面红色加粗字体部分。

<#list images as im>
<w:pict>
    <v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="[email protected]@[email protected]@[email protected]@[email protected]@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"+im_index+1+".jpg"}" xml:space="preserve">
        ${im}
    </w:binData>
    <v:shape id="图片" o:spid="_x0000_i1025" type="#_x0000_t75" style="width:414.75pt;height:207.75pt;visibility:visible;mso-wrap-style:square">
        <v:imagedata src="${"wordml://0200000"+im_index+1+".jpg"}" o:title="菜单"/>
    </v:shape>
</w:pict>
</#list>

参考资料:

http://www.oschina.net/question/246518_45251

http://bbs.csdn.net/topics/390556319?page=1#post-397392952

本文转自:

http://blog.csdn.net/stormwy/article/details/40080127

时间: 2024-08-05 07:35:23

freemarker 图片输出、多张图片输出(图片重复原因及解决)的相关文章

输出随机认证码图片

1 package cn.itcast.response; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics; 6 import java.awt.Graphics2D; 7 import java.awt.image.BufferedImage; 8 import java.io.FileInputStream; 9 import java.io.IOException; 10 impor

今天写一些 有关iOS 多图片组合 成一张图片的问题。保持原像素不变

1.要求:服务器给一张图片模板,要在模版上镂空,然后添加一些别的图片,然后组合成一张图,这个模版的像素 不是固定的,有可能比 当前手机屏幕大.所以,在组合截图的时候,有一定的要求. 贴代码: 1 /** 2 * 组合图片 imgVC_bg :模版image存放的uiimageview , array_imageView 镂空图片视图,double_proportion:模版图片放大后 和 当前屏幕宽或高的比例 3 */ 4 #pragma makr -组合图片 5 -(void )SaveIma

java向图片上写字,两个图片合并的方法

package writeimg; import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.net.URL; public class pic { pri

Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本

Atitit. 图像处理jpg图片的压缩  清理垃圾图片 java版本 1. 清理图片压缩图片尺寸 1 2. 所以要使用ImageWriter 1 3. Thumbnails质量压缩builder.outputQuality(0.9); 2 4. attilax框架的处理 code 2 5. 到一篇文章提到如何控制jpg图片后压缩的质量 3 6. 参考 4 1. 清理图片压缩图片尺寸 目标::300kb>>>10kb.. 处理流程:::scale,outputQuality(0.5) 裁

如何将.jpg图片 转换成.eps 格式图片

在使用latex写作论文的时候,需要插入一些图片,但是往往有些图片不是eps格式的.虽然网上有如何插入jpg格式的图片方法,但是经过我实验后发现都不太管用.最后找到一个比较靠谱的方法,使用latx本身的图片转换功能.具体方法如下: 可以从MiKTex的目录下找到bmeps的应用文件.在我的电脑里路径是D:\ProText\MiKTeX\texmf\miktex\bin,是latex自己的bitmap to eps converter. 在DOS下,进入.jpg图片所在目录, 用语句bmeps 1

一些浏览器智能翻转图片,php判断并复制(覆盖)带有Orientation图片翻转信息的JPEG图片

/** * 处理带有Orientation图片翻转信息的JPEG图片 * param $imagePath 图片资源路径 * param $dscPath 目标路径 * 照片中EXIF Orientation 参数让你随便照像但都可以看到正确方向的照片而无需手动旋转(前提要图片浏览器支持,Windows 自带的不支持) * * */public static function delImgOrientation($imagePath, $dscPath = null){ /* exif_imag

Java图片工具类,完成图片的截取和任意缩放

package com.common.util; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.WritableRas

一个iOS图片选择器的DEMO(实现图片添加,宫格排列,图片长按删除,以及图片替换等功能)

在开发中,经常用到选择多张图片进行上传或作其他处理等等,以下DEMO满足了此功能中的大部分功能,可直接使用到项目中. 主要功能如下: 1,图片九宫格排列(可自动设置) 2,图片长按抖动(仿苹果软件删除时,图标抖动效果),可进入删除状态,再次单击进入普通状态 3,图片设置最大上限,加号按钮自动隐藏 4,已选图片可单击进行重新选择 5,无需代理,直接调用对应属性就可获取所有图片,并与显示顺序保持一致 效果图如下: 1 // 2 // SZAddImage.h 3 // addImage 4 // 5

PHP不改变图片长宽只改变图片体积大小的压缩方法

现在基本上很多网站都有图片管理,包括企业站也是,很多图片为了保证质量可能需要高清,但是图片太大的话,对于服务器也是个压力,每次加载页面的时候光页面图片就得好长时间,影响用户体验. 当然,如果有钱你可以 1.cdn静态资源包 2.oss管理文件资源,不一定是图片,也可以是文件哦 3.搭建自己的文件服务器,图片当然可以了 不过以上好是好,不过都得花钱,我感觉还是从根本上解决比较好,来吧,那我们就上代码把 <?php /** * 图片压缩类:通过缩放来压缩. * 如果要保持源图比例,把参数$perce