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

问题描述

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

在pptx-python中可以做到吗?

解决方法

没有。 “拉伸”的表格单元格高度和由此产生的整体表格高度是渲染问题,这些值未记录在 .pptx 文件中。

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

近似表格单元格呈现尺寸的一种方法是在某种图形环境中自己呈现文本并查看它有多大。该值将取决于字体字体和磅值,因此您需要了解这些。任何方式都将是近似的;有很多小的复杂因素,甚至像 OpenOffice 这样的渲染器也不一定总是像另一个渲染器一样渲染,比如 PowerPoint 或 Google Docs。例如,PowerPoint 还可能使用列宽调整规则来帮助容纳大量填充的单元格,而不仅仅是使单元格更高。

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

另一种方法可能是使用 VBA 来驱动实际运行的 PowerPoint 实例。这可能允许访问表格的呈现大小。