将表尺寸限制为python-pptx中的表占位符尺寸

时间:2019-06-18 13:44:30

标签: python-3.x placeholder presentation python-pptx

我正在尝试使用具有特定尺寸的python-pptx将表添加到演示文稿中

我从幻灯片创建了一个幻灯片布局,该幻灯片布局包含我想要的区域中的表格占位符,并使用python-pptx加载了它。

slide_layout

但是无论占位符尺寸如何,创建后的表本身都超过了占位符。

主要取决于文档“表的高度由行数决定”的行数。

shape_id,名称,高度= self.shape_id,self.name,E(行* 370840)

我尝试手动更新placeholder.py文件并更改行高,但出现相同的输出。

shape_id,名称,高度= self.shape_id,self.name,E(行* 18429)

该表格坚持按照下图显示超出占位符区域

output

下面是我的代码,有什么线索吗?

from pptx import Presentation
# the presentation including the table placeholder
prs = Presentation('Presentation2.pptx')
slide1 = prs.slides.add_slide(prs.slide_layouts[11])
table_placeholder = slide1.shapes[0]
shape = table_placeholder.insert_table(rows=22,cols=2)
prs.save('test.pptx')

1 个答案:

答案 0 :(得分:1)

PowerPoint中的表垂直扩展以容纳新行;这就是他们工作的方式。您将需要自己进行任何调整大小,这可能是一个具有挑战性的问题。当用户在应用程序中创建表时,这不是同一种问题,因为他们只会调整适合性,直到看起来最适合他们的目的为止。

您将需要根据应用程序以及可以解析的启发式方法来调整字体大小和行高以及其他属性(例如列宽等),这可能与某些单元格中的行数和文本长度有关等等。

表格占位符实际上只是给出了起始位置和宽度。