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

咨询:能否用Python批量修改PowerPoint中指定文字的颜色?

可行实现方案

可以用python-pptx库完成这个需求,这是Python生态里专门处理PPT文件的工具,具体步骤如下:

1. 安装依赖库

执行以下命令安装所需库:

pip install python-pptx

2. 核心代码实现

from pptx import Presentation
from pptx.dml.color import RGBColor

def highlight_remember_in_pptx(input_path, output_path):
    # 加载目标PPT文件
    prs = Presentation(input_path)
    
    # 遍历所有幻灯片
    for slide in prs.slides:
        # 遍历幻灯片内的所有形状
        for shape in slide.shapes:
            # 跳过无文本内容的形状
            if not shape.has_text_frame:
                continue
            text_frame = shape.text_frame
            # 遍历文本框内的所有段落
            for paragraph in text_frame.paragraphs:
                # 遍历段落内的所有文本块(run)
                for run in paragraph.runs:
                    # 检查当前文本块是否包含目标单词
                    if "remember" in run.text:
                        # 拆分文本,分离目标单词与其他内容
                        parts = run.text.split("remember")
                        # 清空当前文本块内容,重新构建
                        run.text = parts[0]
                        # 逐个插入拆分后的内容,将"remember"单独设为亮红色
                        for part in parts[1:]:
                            # 添加红色的"remember"
                            red_run = paragraph.add_run()
                            red_run.text = "remember"
                            red_run.font.color.rgb = RGBColor(255, 0, 0)
                            # 添加后续文本,继承原文本块的格式
                            follow_run = paragraph.add_run()
                            follow_run.text = part
                            follow_run.font.name = run.font.name
                            follow_run.font.size = run.font.size
                            follow_run.font.bold = run.font.bold
                            follow_run.font.italic = run.font.italic
    
    # 保存修改后的PPT文件
    prs.save(output_path)

# 调用示例
if __name__ == "__main__":
    input_pptx = "source.pptx"  # 替换为你的源PPT路径
    output_pptx = "modified.pptx"  # 替换为修改后保存的路径
    highlight_remember_in_pptx(input_pptx, output_pptx)

注意事项

  • 代码会处理所有文本框(包括占位符、普通文本框)中的"remember"
  • 若需要区分大小写(如只匹配小写的"remember"),可保留原有判断逻辑;若要忽略大小写匹配,可将判断条件改为if "remember" in run.text.lower(),同时注意拆分时的大小写对应
  • 除"remember"的颜色外,原文本的字体、字号、加粗等格式都会被保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:30:56