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

回到顶部