使用OpenXml在Powerpoint上更改文本值不适合

时间:2012-10-03 10:15:37

标签: vb.net powerpoint openxml

我使用OpenXml以这种方式创建自定义powerpoint演示文稿:我在演示文稿中放置了一个关键字,我在使用OpenXml的过程中找到它并更改文本值。一切正常,但适合选项最初不起作用。 文本框中包含选项“自动调整:溢出时缩小文本;将文本换行:打开” 在我的过程之后,新文本显示在正确的位置但是自动调整没有完成,我需要单击文本框并输入以查看自动调整工作。我认为修改后只有PowerPoint检查选项。

我想要的是在流程结束时调用autofit选项。任何人都可以帮助我吗?

我希望你明白我想做什么。

感谢。

1 个答案:

答案 0 :(得分:5)

仅使用OpenXML是不可能的。客户端应用程序(如PowerPoint)使用<a:normAutofit/>标记根据需要更大或更小地呈现文本。 OpenXML实际上并没有渲染任何内容,因此在客户端执行之前,它只会读取文本,就好像它没有自动调整一样。

有几种方法可以考虑控制它 - 但它们都不是很好。一种方法是在PowerPoint中使用VSTO或VBA来检查打开的PPTX上的所有形状,如果它们有自动装配标记,则重新渲染它们。第二种方法是根据形状的宽度和宽度自己进行所有字体测量。高度然后将字体比例设置为适当的百分比。另一种方法是使文本框足够大,以适应您将要插入的最大量的文本,然后关闭自动调整。

抱歉,这对您没有立即帮助。我对这个特定的主题进行了大量的研究,这都是坏消息。