python+ai智能根据doc教案文档生成ppt

最近碰到一个需求:做一个简单的备课智能软件 用于教育培训

摘要:本文介绍了一个教育培训备课智能软件的开发流程,通过AI生成教案并自动转换为PPT。系统首先解析教案文档(如teaching_plan.docx),提取课程名称、教学目标、重难点和教学过程等结构化数据,然后使用Python的python-docx和python-pptx库自动生成包含封面、教学目标、重难点和分步教学过程的PPT演示文稿。该方案实现了从教案文本到教学课件的自动化转换,为教师备课提供了便捷工具。核心代码展示了文档解析和PPT生成的关键实现逻辑。

1.​ai生成教案 → 2.保存本地 → 3.python获得解析教案​ → 4. ​解析内容​ → 5. ​生成PPT​ → 6. ​预览结果​ → 7. ​完成​

step1:

step1:

step1:

step1:提炼需求,让ai将需要弄成dot流程图

bash 复制代码
digraph EduPPT_Core_Simple {
    rankdir=LR
    node [shape=rect, style=rounded]
    
    start [label="开始", shape=ellipse]
    upload [label="本地文件夹固定路径的指定教案"]
    parse [label="解析内容"]
    generate [label="生成PPT"]
    preview [label="预览结果"]
    end [label="完成", shape=ellipse]
    
    start -> upload -> parse -> generate -> preview -> end
}

step1:输入指令 ,获得教案,

bash 复制代码
 猜测该教案的文件名 后缀 和内容  ,没有就模拟生成一个虚拟的

step1:​虚拟教案内容(文件名:teaching_plan.docx)​​

bash 复制代码
课程名称:语文  
课题:《春天的故事》  
课时:1课时  
授课班级:小学三年级  

一、教学目标  
1. 知识与技能:学生能够正确朗读课文,理解课文内容,掌握生字词。  
2. 过程与方法:通过小组讨论和情景模拟,培养学生的表达能力和合作精神。  
3. 情感态度与价值观:激发学生对大自然的热爱,感受春天的美好。

二、教学重难点  
- 重点:理解课文描述春天景物的句子。  
- 难点:体会作者的情感,并用自己的语言表达。

三、教学准备  
- 多媒体课件、图片、录音机。

四、教学过程  
1. 导入(5分钟):播放春天相关的视频,引导学生谈论春天的印象。  
2. 新课讲授(20分钟):  
   - 范读课文,学生跟读。  
   - 讲解生字词:如"蝴蝶"、"微风"等。  
   - 分段解读课文,提问互动。  
3. 巩固练习(10分钟):  
   - 分组角色扮演课文场景。  
   - 完成课后练习题。  
4. 总结与作业(5分钟):  
   - 总结本节课内容。  
   - 布置作业:写一段关于春天的短文。

五、教学反思  
(预留空间用于课后填写)

step1:用wps新建一个docx文件,路径为

input_dir = r"D:\Users\wangrusheng\Downloads\file\teaching_plan.docx"

step1:开始编写python代码 ,自动获得教学ppt

C:\Users\Administrator\PycharmProjects\PythonProject4\hello.py

python 复制代码
from docx import Document
from pptx import Presentation
from pptx.util import Inches, Pt
import os


def parse_teaching_plan(file_path):
    """解析教案文档并提取结构化内容"""
    doc = Document(file_path)
    content = {
        "course_name": "",
        "lesson_title": "",
        "objectives": [],
        "key_points": [],
        "process": []
    }

    current_section = None
    for para in doc.paragraphs:
        text = para.text.strip()

        # 识别文档中的章节标题
        if text.startswith("课程名称:"):
            content["course_name"] = text.split(":", 1)[-1]
        elif text.startswith("课题:"):
            content["lesson_title"] = text.split(":", 1)[-1]
        elif "教学目标" in text:
            current_section = "objectives"
        elif "教学重难点" in text:
            current_section = "key_points"
        elif "教学过程" in text:
            current_section = "process"
        elif current_section and text:
            # 将内容添加到对应章节
            content[current_section].append(text)

    return content


def generate_ppt(plan_data, output_path):
    """根据解析结果生成PPT"""
    prs = Presentation()

    # 封面页
    slide_layout = prs.slide_layouts[0]
    slide = prs.slides.add_slide(slide_layout)
    title = slide.shapes.title
    subtitle = slide.placeholders[1]

    title.text = plan_data["lesson_title"]
    subtitle.text = plan_data["course_name"]

    # 教学目标页
    slide_layout = prs.slide_layouts[1]
    slide = prs.slides.add_slide(slide_layout)
    title = slide.shapes.title
    content = slide.placeholders[1]

    title.text = "教学目标"
    content.text = "\n".join([f"• {obj}" for obj in plan_data["objectives"]])

    # 教学重难点页
    slide = prs.slides.add_slide(slide_layout)
    title = slide.shapes.title
    content = slide.placeholders[1]

    title.text = "教学重难点"
    content.text = "\n".join([f"• {point}" for point in plan_data["key_points"]])

    # 教学过程页
    slide_layout = prs.slide_layouts[1]
    for i, step in enumerate(plan_data["process"]):
        slide = prs.slides.add_slide(slide_layout)
        title = slide.shapes.title
        content = slide.placeholders[1]

        title.text = f"教学步骤 {i + 1}"
        content.text = step

    # 保存PPT
    prs.save(output_path)
    return output_path


if __name__ == "__main__":
    # 输入路径(根据您的实际路径修改)
    input_dir = r"D:\Users\wangrusheng\Downloads\file\teaching_plan.docx"
    output_dir = os.path.join(os.path.dirname(input_dir), "presentation.pptx")

    # 执行核心流程
    try:
        print("开始解析教案...")
        plan_data = parse_teaching_plan(input_dir)

        print("生成PPT文档...")
        ppt_path = generate_ppt(plan_data, output_dir)

        print(f"PPT生成成功! 保存路径: {ppt_path}")
        print("流程完成")
    except Exception as e:
        print(f"处理出错: {str(e)}")

end

相关推荐
北京宇音天下7 小时前
VTX316语音合成芯片:低功耗高自然度,开启TTS语音新未来
人工智能·语音识别
minhuan7 小时前
大模型应用:联邦学习融合本地大模型:隐私合规推荐的核心流程与实践.62
大数据·人工智能·大模型应用·联邦学习推荐系统·推荐系统案例
oscar9997 小时前
深入解析不安全反序列化漏洞与防护[高风险]
开发语言·python·安全
落叶,听雪7 小时前
性价比高的软著助手供应商选哪家
大数据·人工智能·python
懒羊羊吃辣条7 小时前
充分利用未来已知信息:DAG 用双因果结构把 TSF-X 时序预测推到新高度
人工智能·深度学习·机器学习
暴风鱼划水7 小时前
大型语言模型(入门篇)C
python·语言模型·大模型·llm
易晨 微盛·企微管家7 小时前
汽车经销服务实战案例解析|企业微信AI SCRM助力实现咨询标准化与即时化
人工智能
阳艳讲ai7 小时前
九尾狐AI智能获客白皮书:重构企业增长新引擎
大数据·人工智能
老蒋每日coding7 小时前
AI Agent 设计模式系列(十二)—— 异常处理和恢复模式
人工智能·设计模式
人工智能AI技术7 小时前
【Agent从入门到实践】20 LLM的基础使用:API调用(OpenAI、国产大模型),程序员快速上手
人工智能·python