我正在使用PHP从数据库生成docx文档。生成的文档包含附有标签的柱形图(即包含文本框的用户形状)。为了让文本框适应并显示所有文本(即,用户无需调整文本框的大小以查看所有文本),我的代码会计算出适合3cm的字符数,并添加换行符根据需要的字符串,告诉我需要多少行文本。我有:
<a:xfrm xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:off x="1638276" y="1676399"/>
<a:ext cx="1257325" cy="'.(252000 * $labelLeftLines).'"/>
</a:xfrm>
我相信它应该给我一个3.5厘米宽的文本框(内部填充额外增加.5)和.7厘米的高度乘以$ labelLeftLines的值。但是,文本框总是变为3.厘米宽,高达.86厘米,只显示一行文本。 如果我添加'autofit':
<a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" vertOverflow="clip" wrap="square" rtlCol="0">
<a:spAutoFit/>
</a:bodyPr>
生成的文件看起来是一样的,但是当我右键单击文本框来检查属性时,确实应用了“autofit”。我必须取消选中它并重新检查它以使其影响文本框。 那里有openXML大师吗?
答案 0 :(得分:0)
<cdr:relSizeAnchor xmlns:cdr="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing">
<cdr:from>
<cdr:x>0.47</cdr:x>
<cdr:y>0.75</cdr:y>
</cdr:from>
<cdr:to>
<cdr:x>0.67</cdr:x>
<cdr:y>1</cdr:y>
</cdr:to>
更改这些值实际上会改变texbox的大小,但我不知道正在使用哪些单位。从0.75到1,产生1.43cm的高度。 有一天,我或许可以找到我的方法。