在创建&之后找到桌子的高度在python-pptx中填充它

时间:2017-07-13 20:33:58

标签: xml python-pptx

我正在使用表格,并希望在填充值后查询其最终高度。这样我就可以根据它的大小来调整它在幻灯片(graphicframe.top)上的位置。我用这些行添加表格:

graphicframe = shapes.add_table(rows = 41, cols = 5, left = Inches(0), top = Inches(2), width = Inches(5.7), height = Inches(4)) table = graphicframe.table

然后循环遍历其单元格以单独填充它们。表格高度变化以适应输入(例如:文本可以换行到2行,增加高度,大量行可能会使表格高于我最初指定的高度等)。

graphicframe.height返回我输入到add_table的原始高度,而不是数据填充后的最终高度。 table.rows [i]。也是这样。

我发现了XML文件中每行的高度,这些也与add_table的原始高度相对应,而不是数据填充后表的经验最终高度。从XML文件中,有41行指定高度h,对应于我表中的41行。它们看起来像这样:< a:tr h =" 89209" > ...< / a:tr>

你知道我的桌子的经验高度(在它填充之后)是否记录在任何地方?谢谢!!

1 个答案:

答案 0 :(得分:0)

简答为否,您无法确定刚刚使用python-pptx创建的表格的渲染高度。这是因为“适合”的任何高度调整都是由PowerPoint呈现引擎完成的,在使用PowerPoint打开文件之前,该引擎无法使用。

您可以使用您提到的方法(累加行高),但只有在用PowerPoint打开演示文稿后才能准确并可能访问该幻灯片并可能进行小幅调整到桌子。您将不得不进行实验,看看有什么因素导致PowerPoint将表格行高度重写为其渲染值。请注意,PowerPoint和LibreOffice之间的行为可能有所不同。