【问题标题】:Find height of table after creating & populating it in python-pptx在 python-pptx 中创建和填充表格后查找表格的高度
【发布时间】:2017-07-13 20:33:58
【问题描述】:

我正在处理一个表格,并希望在填充了值后查询它的最终高度。这样我就可以根据它的大小调整它在幻灯片 (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].height 也一样。

我发现 XML 文件中每一行的高度看起来是什么,这些也对应于 add_table 的原始高度,而不是数据填充后表格的经验最终高度。从 XML 文件中,有 41 行指定高度 h,对应于我的表中的 41 行。它们看起来像这样: ...

您知道我的表格的经验高度(填充后)是否记录在任何地方?谢谢!!

【问题讨论】:

    标签: xml python-pptx


    【解决方案1】:

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

    您也许可以使用您提到的方法(将行高相加),但只有在使用 PowerPoint 打开演示文稿并可能访问该幻灯片并可能进行小幅调整之后 才能准确到桌子上。您必须进行试验以查看导致 PowerPoint 将表格行高重写为其呈现值的原因(如果有的话)。请注意,PowerPoint 和 LibreOffice 之间的这种行为可能不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      相关资源
      最近更新 更多