You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用python-pptx库修改PPT项目符号字体大小?代码为何失效?

问题原因分析

你的代码无法修改字体大小,核心原因是完全没有添加设置字体格式的相关逻辑,具体细节如下:

  • 代码仅完成了文本框创建和文本内容赋值(tf.text = bullet_point),但字体大小属于文本格式属性,需要通过文本框架的段落(Paragraph)及段落内的运行块(Run)来设置,直接给text_frame.text赋值只会应用PPT默认字体样式,不会触发自定义字体大小的更改。
  • 在python-pptx库中,新添加的文本默认沿用演示文稿的基础字体样式,若未显式修改Run对象的字体属性,字体大小会保持默认值,无法达到你的需求。
修正示例代码

要实现字体大小修改,需在设置文本后,访问对应段落的Run对象并配置font.size属性:

from pptx.util import Inches, Pt

i = 0  # 假设初始偏移量为0
for bullet_point in text:
    i += 0.5
    body_shape = slide.shapes.add_textbox(left=Inches(1), top=Inches(i), width=Inches(6), height=Inches(1))
    tf = body_shape.text_frame
    # 创建段落并设置文本内容
    paragraph = tf.add_paragraph()
    paragraph.text = bullet_point
    # 启用项目符号(一级)
    paragraph.level = 0
    # 设置字体大小为12磅
    paragraph.font.size = Pt(12)
    # 可选:补充其他字体设置
    # paragraph.font.name = "微软雅黑"
    # paragraph.font.bold = True
关键说明
  • 避免直接使用tf.text = bullet_point,通过add_paragraph()创建段落对象,能更灵活控制段落的项目符号层级、字体格式等属性。
  • Pt()用于定义字体大小,单位为磅,与PPT界面中的字体大小单位一致。
  • 若需要多级项目符号,调整paragraph.level的值即可(范围0-8,对应不同层级)。

内容的提问来源于stack exchange,提问作者Eni Asllani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:17:04