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

如何用Python批量修改PPTX文件的文字样式与幻灯片背景色?

用Python批量修改PPT的字体、文字颜色及背景色

核心实现思路

遍历指定文件夹下的所有PPT文件,对每个文件的每张幻灯片执行以下操作:

  1. 统一修改幻灯片背景色
  2. 遍历所有含文本的形状(占位符、文本框等),批量修改文字的字体和颜色

完整代码示例

from pptx import Presentation
from pptx.util import Pt
from pptx.dml.color import RGBColor
import os

# 自定义配置参数
TARGET_FOLDER = "你的PPT文件夹路径"  # 替换为实际存放PPT的文件夹
OUTPUT_FOLDER = "修改后的PPT"       # 输出文件夹,不存在则自动创建
TARGET_FONT = "微软雅黑"             # 替换为你需要的字体
TEXT_RGB = RGBColor(0, 51, 102)      # 文字颜色(深蓝色),可自行调整RGB值
BG_RGB = RGBColor(245, 245, 245)     # 幻灯片背景色(浅灰色)

# 创建输出目录
os.makedirs(OUTPUT_FOLDER, exist_ok=True)

def process_single_ppt(ppt_file_path):
    prs = Presentation(ppt_file_path)
    
    # 1. 处理所有幻灯片的背景色
    for slide in prs.slides:
        # 设置纯色背景填充
        slide.background.fill.solid()
        slide.background.fill.fore_color.rgb = BG_RGB
        
        # 2. 处理幻灯片内所有文字的字体和颜色
        for shape in slide.shapes:
            if not shape.has_text_frame:
                continue
            # 遍历文本框内的所有段落和文字块
            for paragraph in shape.text_frame.paragraphs:
                for run in paragraph.runs:
                    # 设置字体(针对中文字体需额外指定eastAsia属性)
                    run.font.name = TARGET_FONT
                    run.font._element.rPr.rFonts.set('w:eastAsia', TARGET_FONT)
                    # 设置文字颜色
                    run.font.color.rgb = TEXT_RGB
    
    # 保存修改后的PPT到输出文件夹
    output_file = os.path.join(OUTPUT_FOLDER, os.path.basename(ppt_file_path))
    prs.save(output_file)
    print(f"处理完成:{os.path.basename(ppt_file_path)}")

# 遍历目标文件夹,批量处理所有PPT文件
for file_name in os.listdir(TARGET_FOLDER):
    if file_name.lower().endswith((".pptx", ".ppt")):
        full_path = os.path.join(TARGET_FOLDER, file_name)
        process_single_ppt(full_path)

print("所有PPT批量处理完成!")

关键细节说明

  • 中文字体适配:由于python-pptx对东亚字体的特殊处理逻辑,需额外设置eastAsia属性,避免字体不生效的问题。
  • 颜色自定义:RGBColor的三个参数对应红、绿、蓝通道,取值范围为0-255,可根据需求调整为任意颜色。
  • 安全处理:修改后的PPT会保存到指定输出文件夹,不会覆盖原文件,避免数据丢失。
  • 覆盖场景:代码会处理幻灯片内所有含文本的形状,包括预设占位符、手动添加的文本框、表格内文字等。

注意事项

  • 确保目标字体已在你的系统中安装,否则PPT会自动替换为系统默认字体。
  • 加密或损坏的PPT文件无法被python-pptx解析,需提前筛选排除。
  • 旧版.ppt文件兼容性略差,建议先转为.pptx格式后再处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:05:03