如何在Python-pptx创建的表中更改文本的字体大小

时间:2016-07-14 15:34:36

标签: python-3.x python-pptx

我正在创建一个脚本来显示产品性能图表并创建一个表来显示其部件号,应用程序列表和当前应用程序的数量。

但是,默认字体太大,无法将所有这些信息都放入幻灯片中,需要缩小。

如何在Python-pptx中减少表格中文本的字体大小?

这就是我所拥有的,但我一直收到错误"属性错误:' _Cell'对象没有属性'段'"

table = shapes.add_table(rows, cols, left + left_offset, top + Inches(.25), width, height - Inches(.25)).table
#column width
for i in range(3):
    table.columns[i].width = col_width[i]           
    for i in range(len(a_slide)):
        #color table
        if i % 2 == 0:
            for j in range(3):
                fill = table.cell(i, j).fill
                fill.background()
        else:
            for j in range(3):
                fill = table.cell(i, j).fill
                fill.solid()
                fill.fore_color.rgb = RGBColor(240, 128, 128)
        #populate table
        table.cell(i, 0).text = str(item["name"])
        try:
            table.cell(i, 1).text = ", ".join(item["app"])
        except:
            table.cell(i, 1).text = " "
        finally:
            table.cell(i, 2).text = str(item["vio"])
            for j in range(0,3):
                font = table.cell(i, j).paragraph[0].font
                font.size = Pt(12)

1 个答案:

答案 0 :(得分:2)

_Cell对象不直接包含段落。但是,它包含TextFrame上包含段落的.text_frame对象。所以如果你只是使用:

cell.text_frame.paragraphs[0]

..你应该得到你所期望的。请注意,它是.paragraphs,而不是.paragraph。

_Cell的API文档位于: http://python-pptx.readthedocs.io/en/latest/api/table.html#cell-objects

并且通常提供解决像这样的更精细点所需的所有细节。