如何更改 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
通常会提供解决此类问题所需的所有详细信息。
我正在创建一个脚本来显示产品性能图表,并创建一个 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
通常会提供解决此类问题所需的所有详细信息。