使用ai的api接口生成json格式的章节信息,然后通过pptx库来替换模板中的占位符就能实现ai一键生成ppt了。
from pptx import Presentation
def replace_placeholders(template_path, output_path, placeholders_data):
"""
替换 PPT 模板中的占位符内容,并保留样式
:param template_path: 模板文件路径
:param output_path: 生成的 PPT 文件路径
:param placeholders_data: 占位符内容的字典,键为占位符名称,值为要替换的内容
"""
# 加载模板
prs = Presentation(template_path)
# 遍历每一张幻灯片
for slide in prs.slides:
# 遍历幻灯片中的每一个形状
for shape in slide.shapes:
# 检查形状是否有文本
if shape.has_text_frame:
# 遍历文本框中的每一个段落
for paragraph in shape.text_frame.paragraphs:
# 遍历段落中的每一个文本运行
for run in paragraph.runs:
# 检查文本运行的内容是否是占位符
if run.text in placeholders_data:
# 替换占位符内容,保留样式
run.text = placeholders_data[run.text]
# 保存生成的 PPT
prs.save(output_path)
print(f"PPT 已生成并保存到: {output_path}")
# 示例数据
template_path = "template.pptx" # 模板文件路径
output_path = "output.pptx" # 生成的 PPT 文件路径
placeholders_data = {
"{{title}}": "我的演示文稿",
"{{subtitle}}": "使用 python-pptx 生成",
"{{content1}}": "这是第一段内容",
"{{footer}}": "页脚信息"
}
# 调用函数生成 PPT
replace_placeholders(template_path, output_path, placeholders_data) 网友回复
有没有免费让ai自动帮你接管操作电脑的mcp服务?
mcp为啥用Streamable HTTP 替代 HTTP + SSE?
scratchjr有没有开源的前端html网页版本源代码?
多模态大模型能否根据ui交互视频来来模仿写出前端交互动画效果ui代码?
如何用阿里云oss+函数计算fc+事件总线EventBridge+消息队列+数据库+redis缓存打造一个高并发弹性系统?
阿里云函数计算 FC如何在海外节点搭建一个代理网络?
ai studio中gemini build的代码如何发布到github pages等免费网页托管上 ?
如何在cursor、qoder、trae中使用Claude Skills功能?
有没有不用u盘就能重装系统的开源工具?
python如何固定摄像头实时计算停车场停车位剩余数量?


