python pptx 适合 table 到精确大小并将文本自动修复到它

python pptx fit table to exact size and autofix the text to it

我正在使用 python 2.7 和 python pptx

我需要一个 table 来适应确切的尺寸, 它有 2 列 它有未知的行数 每个单元格的文本长度未知。

我需要整个 table 适合某个确切位置,并且理想情况下希望每个单元格中的文本适合它应该得到的 table 的确切部分但是公式 (size/rows/2)

我找到了如何调整每个单元格中文本的大小,但还不够

我找到了如何使用 .width 和 .height 更改 table 大小,但是当文本太长时这不起作用,它只会使 table 变大。

我怎样才能对每个单元格的大小施加严格的限制,以尽可能最好的方式(或最接近的解决方案)用文本填充它?

谢谢!

我处理过类似的需求,这就是我处理具有随机行数的 table 的方式。

  1. 确定最大的列 characters.In 我的情况是,我只有一列内容不同。
  2. 尝试粗略估计一张幻灯片可以容纳的字符数。
  3. 想出在达到最大字符数时中断文本并转到下一张幻灯片的逻辑,创建一个 table 并填写剩余的内容。

将 table 的初始尺寸设置为 Varun 描述的样式中的最佳近似值,然后调用以下方法之一

table.cell(x,y).text_frame.auto_size = MSO_AUTO_SIZE.TEXT_TO_FIT_SHAPE 
table.cell(x,y).text_frame.fit_text() 

在您的 table 中的文本框架上,让字体自行修改以适合您提供的框架。我发现这些选项有些问题,但也许你会有更好的运气!在这里阅读更多:https://media.readthedocs.org/pdf/python-pptx/latest/python-pptx.pdf