pptx-python:添加文本后动态查找表高度



我想动态地找到表格的高度,这样每当表格的高度达到特定数字时,我就可以创建另一张幻灯片并拆分表格。由于单元格中的文本数量各不相同,因此每次运行代码时的高度都会不同。

有可能在pptx-python中做到这一点吗?

否"拉伸的";表单元格高度和由此产生的总表高度是一个渲染问题,并且这些值没有记录在.pptx文件中。

行或单元格可以具有在文件中设置的最小高度,但一旦单元格获得的文本超过其可以显示的文本,它将自动增长到该最小高度之外,而PowerPoint渲染器就是这样做的。它不会记录它最终得到的值。

近似表单元格的渲染尺寸的一种方法是在某种图形环境中自己渲染文本,看看它有多大。这个值将取决于字体类型的面和点的大小,所以你需要知道这些。无论你怎么做都是近似的;有很多小的复杂因素,即使像OpenOffice这样的渲染器也可能不总是像PowerPoint或Google Docs那样渲染。例如,PowerPoint还可能使用列宽调整规则来帮助适应填充密集的单元格,而不仅仅是使单元格变高。

我听说至少有一位开发人员使用wxPython作为渲染环境来近似PowerPoint的渲染行为,取得了合理的结果,但我相信这是针对单个文本框的。对表执行同样的操作可能要复杂得多。

另一种途径可能是使用VBA来驱动实际运行的PowerPoint实例。这样可以访问表的渲染大小。

最新更新