Freemarker导出word文档的一些问题
我被图片换行问题给难了好一会儿,我没想到在word中,两个图片标签本身就自带了换行功能,如果要想使图片不换行的话,需要将两个图片放在一个w:p标签中。
明白这一点之前,我花了不少时间去找所谓的换行符,通过beyond compare各种对比不同效果、换行与不换行的图片之间的区别。
这次耐心还是挺足的,不然估计的花更多的时间才能找到答案。
这次要赖自己的英语水平了——通过文档对比其实我早就注意到包含【GoBack】关键字的【w:bookmarkStart】标签了,但我却把它错误理解成了换行符……甚至还在想,为啥我把换行符去掉之后,怎么这个换行标签就从xml中出现了呢……哈哈,现在想来自己真是太可笑。
我要是英语再好一点的话,应该早就意识到,哦,原来两个图片标签本身就自带换行效果,如果想要不换行的话,需要将其写在同一个w:p标签中,并且用被我南辕北辙的误解为换行符的【不换行符】来实现这个效果。
一个好消息是,我已经持续学习英语一个月了,并且会继续坚持一下去。
<w:p w:rsidR="00A644D4" w:rsidRDefault="003E49CE" w:rsidP="001D19BC"> <w:r>
<w:rPr>
<w:noProof/>
</w:rPr>
<w:drawing>
<wp:inline distT="0" distB="0" distL="0" distR="0">
<wp:extent cx="3105150" cy="1800225"/>
<wp:effectExtent l="0" t="0" r="0" b="9525"/>
<wp:docPr id="1" name="图片 1"/>
<wp:cNvGraphicFramePr>
<a:graphicFrameLocks noChangeAspect="1"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
</wp:cNvGraphicFramePr>
<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
<pic:pic
xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
<pic:nvPicPr>
<pic:cNvPr id="1" name="char1.png"/>
<pic:cNvPicPr/>
</pic:nvPicPr>
<pic:blipFill>
<a:blip r:embed="rId6">
<a:extLst>
<a:ext uri="{28A0092B-C50C-407E-A947-70E740481C1C}">
<a14:useLocalDpi val="0"
xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"/>
</a:ext>
</a:extLst>
</a:blip>
<a:stretch>
<a:fillRect/>
</a:stretch>
</pic:blipFill>
<pic:spPr>
<a:xfrm>
<a:off x="0" y="0"/>
<a:ext cx="3105150" cy="1800225"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
</pic:spPr>
</pic:pic>
</a:graphicData>
</a:graphic>
</wp:inline>
</w:drawing>
</w:r>
<w:bookmarkStart w:id="0" w:name="_GoBack"/>
<w:bookmarkEnd w:id="0"/>
<w:r w:rsidR="00A644D4">
<w:rPr>
<w:rFonts w:hint="eastAsia"/>
<w:noProof/>
</w:rPr>
<w:drawing>
<wp:inline distT="0" distB="0" distL="0" distR="0">
<wp:extent cx="3105150" cy="1800225"/>
<wp:effectExtent l="0" t="0" r="0" b="9525"/>
<wp:docPr id="2" name="图片 2"/>
<wp:cNvGraphicFramePr>
<a:graphicFrameLocks noChangeAspect="1"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
</wp:cNvGraphicFramePr>
<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
<pic:pic
xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
<pic:nvPicPr>
<pic:cNvPr id="2" name="char1.png"/>
<pic:cNvPicPr/>
</pic:nvPicPr>
<pic:blipFill>
<a:blip r:embed="rId9">
<a:extLst>
<a:ext uri="{28A0092B-C50C-407E-A947-70E740481C1C}">
<a14:useLocalDpi val="0"
xmlns:a14="http://schemas.microsoft.com/office/drawing/2010/main"/>
</a:ext>
</a:extLst>
</a:blip>
<a:stretch>
<a:fillRect/>
</a:stretch>
</pic:blipFill>
<pic:spPr>
<a:xfrm>
<a:off x="0" y="0"/>
<a:ext cx="3105150" cy="1800225"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
</pic:spPr>
</pic:pic>
</a:graphicData>
</a:graphic>
</wp:inline>
</w:drawing>
</w:r>
</w:p>
影响图片大小的关键代码(通过文档对比发现的)
<wp:extent cx="3105150" cy="1800225"/> <wp:effectExtent l="0" t="0" r="0" b="9525"/>
……
<a:ext cx="3105150" cy="1800225"/>
以及集合遍历关键字
<#list list as fillRate >这里是需要循环的标签
调用当前遍历元素为${fillRate.xxx}
顺便说一下,freemarker支持嵌套循环,也就是允许我们在list中写list
</#list>
判断对象是否存在(null或者为空)
<if 对象??>不为空就会执行这里面
</if>
以上是 Freemarker导出word文档的一些问题 的全部内容, 来源链接: utcz.com/z/511864.html