当前位置: 首页 > news >正文

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流程图

digraph EduPPT_Core_Simple {rankdir=LRnode [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:输入指令 ,获得教案,

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

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

课程名称:语文  
课题:《春天的故事》  
课时: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

from docx import Document
from pptx import Presentation
from pptx.util import Inches, Pt
import osdef parse_teaching_plan(file_path):"""解析教案文档并提取结构化内容"""doc = Document(file_path)content = {"course_name": "","lesson_title": "","objectives": [],"key_points": [],"process": []}current_section = Nonefor 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 contentdef 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.titlesubtitle = 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.titlecontent = 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.titlecontent = 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.titlecontent = slide.placeholders[1]title.text = f"教学步骤 {i + 1}"content.text = step# 保存PPTprs.save(output_path)return output_pathif __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

http://www.dtcms.com/a/535974.html

相关文章:

  • PPT WPS ERROR +mn-ea
  • 技术解析 | QtScrcpy:一款基于Qt的跨平台Android投屏工具的实现原理与代码架构
  • F037 vue+neo4j 编程语言知识图谱可视化分析系统vue+flask+neo4j
  • qt设置运行框左上角图标
  • 大量PPT文件怎么快速转换成JPG格式的长图
  • 网站数据怎么做接口供小程序调用企业手机网站建设策划方案
  • LabVIEW机械零件尺寸检测
  • 网站建设公司整站源码专做网站公司
  • ProfiNet转EtherNet/IP工业智能网关实现欧姆龙PLC与倍福I/O模块通讯的实操案例
  • AR工业巡检:虚实融合的智能巡检技术详解
  • 【LUA教程】LUA脚本语言中文教程.PDF
  • 初识影刀--一款 AI 驱动的 RPA 自动化软件
  • SAP SD客户对账开票功能分享
  • 洛谷 P1177:【模板】排序 ← 基数排序实现
  • 株洲网站设计外包首选中国可信网站查询
  • 物联网智慧医疗:告别胶片时代的就医革命
  • 3步实现MQTT远程连接!EMQX+cpolar构建物联网消息高速公路
  • 怎么注册微网站织梦建设网站全过程
  • [无人机sdk] `FlightController` | startTakeoffSync() | actionSync()
  • [linux仓库]线程与进程的较量:资源划分与内核实现的全景解析[线程·贰]
  • Flutter开发HarmonyOS鸿蒙App商业项目实战已出炉
  • 宁波网站建设制作公司排名网站优化外链怎么做
  • 开发做网站公司国内网站空间推荐
  • 罗克韦尔PLC通过Modbus TCP转EtherNet/IP智能网关与港口中央监控云平台的互通方案解析
  • 学习threejs,打造交互式泡泡、粒子特效与科幻氛围​​
  • Linux小课堂: Apache虚拟主机配置之基于IP与域名的服务器部署指南
  • MCU的时钟系统
  • OpenCV 4.1.2 SDK 静态库作用与功能详解
  • Hive数据仓库:架构原理与现代化实践指南
  • 当选择中药饮片时,如何确保性价比高的优质选择?