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

How to change font size of text within a table created by Python-pptx

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

但是,默认字体太大,无法在幻灯片中显示所有这些信息,需要缩小。

如何减小 Python-pptx 中 table 中文本的字体大小?

这就是我所拥有的,但我一直收到错误消息"AttributeError: '_Cell' object has no attribute 'paragraph'"

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)

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

cell.text_frame.paragraphs[0]

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

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

通常会提供解决此类问题所需的所有详细信息。