使用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)
网友回复
js如何流式输出ai的回答并折叠代码块,点击代码块右侧可预览代码?
ai大模型如何将文章转换成可视化一目了然的图片流程图图表?
大模型生成html版本的ui原型图和ppt演示文档的系统提示词怎么写?
rtsp视频直播流如何转换成websocket流在h5页面上观看?
为啥coze会开源工作流agent coze studio?
如何检测网页是通过收藏夹打开的?
python如何实现类似php的http动态脚本请求处理响应代码?
js如何实现类似php的http动态脚本请求处理响应代码?
trae与solo有啥区别不同?
vue如何让ai动态生成问卷调查多步骤表单式收集基础信息自动规划执行任务?