0

我正在使用 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 厘米宽的文本框(内部填充额外的 0.5)和 0.7 厘米的高度乘以 $labelLeftLines 的值。但是,文本框总是显示为 3.cm 宽 x 0.86cm 高,它只显示一行文本。如果我添加“自动调整”:

<a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" vertOverflow="clip" wrap="square" rtlCol="0">
     <a:spAutoFit/>
</a:bodyPr>

生成的文件看起来一样,但是,当我右键单击文本框以检查属性时,确实应用了“自动调整”。我必须取消选中它并重新选中它以使其影响文本框。那里有任何 openXML 大师吗?

4

1 回答 1

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.43 厘米的高度。有朝一日,我也许能在纪录片中找到自己的出路。

于 2013-08-24T21:49:50.017 回答