欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

freemarker 操作word,生成带图片的文档在office 2013中打开,图片不能正确显示,在wps中就可以

程序员文章站 2022-04-30 12:48:52
...

freemarker 操作word,生成带图片的文档在office 2013中打开,图片不能正确显示,在wps中就可以

通过将word模板另存为WordXML文档,freemarker 操作word,生成带图片的文档在office 2013中打开,图片不能正确显示,在wps中就可以,原ftl模板如下:

    <#list key.zsxxImg as imgKey>
                             <#list imgKey.singleImg as img>
                                <w:pict>
                                    <w:binData w:name="${"wordml://"+key_index+imgKey_index+img_index+10000+".jpg"}">
                                          ${img.imgInfo}
                                    </w:binData>
                                    <v:shape id="_x0000_s1026" o:spt="75" alt="1524739911002" type="#_x0000_t75" style="height:${img.imgHeight}px;width:${img.imgWidth}px;" 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 src="${"wordml://"+key_index+imgKey_index+img_index+10000+".jpg"}" o:title="" />
                                        <o:lock v:ext="edit" aspectratio="t" />
                                        <w10:wrap type="none" />
                                        <w10:anchorlock/>
                                    </v:shape>
                                </w:pict>
                          </#list>
                        </#list>

freemarker 操作word,生成带图片的文档在office 2013中打开,图片不能正确显示,在wps中就可以
解决办法:w:binData中间不能有空格,在word中就能打开了

 <w:binData w:name="${"wordml://"+key_index+imgKey_index+img_index+10000+".jpg"}"> ${img.imgInfo}</w:binData>
相关标签: word