【教案生成平台】实战教程三:打造智能 PPT 生成器 (AI + PptxGenJS)

简介: 一款基于 Vue 3 + Vite 的智能教学工具,利用 AI 自动生成结构化 PPT 数据,结合可视化编辑与本地持久化,实现高效备课。支持 JSON 模板解析、动态渲染导出(pptxgenjs)与草稿自动保存,大幅提升教师工作效率。在线体验:ytecn.com/teacher

一款基于 Vue 3 + Vite 开发的现代化教师辅助工具,旨在提升备课与教学效率。

1. 功能颠覆

传统的 PPT 制作耗时耗力。本功能通过 AI 直接生成 PPT 的 JSON 结构化数据,然后利用前端库动态渲染成 PPTX 文件。
核心技术点:

  • 结构化 Prompt (要求 AI 返回 JSON)
  • pptxgenjs (浏览器端生成 PPT)
  • localforage (自动保存草稿)

2. 定义数据结构

不同于教案的纯文本,PPT 是高度结构化的。我们定义如下数据模型:

const pptData = {
   
  title: "课程标题",
  subtitle: "副标题/授课人",
  slides: [
    {
   
      layout: "Title", // 封面页
      title: "...",
      subtitle: "...",
    },
    {
   
      layout: "Content", // 内容页
      title: "第一章:基础概念",
      content: ["要点1", "要点2", "要点3"], // 数组形式方便渲染列表
      note: "演讲者备注...",
    },
  ],
};

3. 强制 AI 输出 JSON

为了让代码能解析 AI 的结果,必须在 Prompt 中通过 System Instruction 强制约束格式。

const pptPrompt = `你是一个 PPT 制作专家。请根据内容生成 PPT 大纲。
**必须严格只返回 JSON 格式,不要包含 Markdown 代码块标记。**
JSON 结构如下:
{ "title": "...", "slides": [ ... ] }`;

在接收到 AI 的响应后,我们需要进行清洗(去除可能的 ``json 前缀)并JSON.parse`。如果解析失败,提示用户重试。

image.png

4. 可视化编辑器开发 (PPTEditor.vue)

我们需要一个界面来展示和修改这组 JSON 数据。

  • 左侧/顶部:全局设置(主题、标题)。
  • 主体:幻灯片列表。使用 v-for 循环 pptData.slides
  • 编辑卡片:每个 Slide 是一个卡片,支持修改 Title 和 Content (使用 <textarea> 编辑数组)。
  • 操作:支持添加/删除页面,拖拽排序(进阶)。
    image.png

5. 集成 PptxGenJS 导出

这是最神奇的一步。将内存中的 JSON 变为真正的 .pptx 文件。

import PptxGenJS from "pptxgenjs";

const exportPPT = () => {
   
  const pres = new PptxGenJS();

  // 遍历每一页
  pptData.value.slides.forEach((slide) => {
   
    const s = pres.addSlide();

    // 根据 layout 不同进行不同渲染
    if (slide.layout === "Title") {
   
      s.addText(slide.title, {
    x: 1, y: 3, fontSize: 32, align: "center" });
    } else {
   
      s.addText(slide.title, {
    x: 0.5, y: 0.5, fontSize: 24, bold: true });
      // 渲染列表内容
      slide.content.forEach((line, idx) => {
   
        s.addText(line, {
    x: 1, y: 1.5 + idx * 0.5, bullet: true });
      });
    }

    // 添加备注
    if (slide.note) s.addNotes(slide.note);
  });

  pres.writeFile({
    fileName: "Lesson.pptx" });
};

6. 数据持久化

用户往往不能一次做完。使用 localforage 监听 pptData 的变化并自动存入 IndexedDB。

watch(
  pptData,
  (newVal) => {
   
    localforage.setItem("current_ppt", newVal);
  },
  {
    deep: true },
);

在线体验

演示链接: https://www.ytecn.com/teacher/
git链接: https://github.com/tcshowhand/teacher/

总结

通过 "AI 生成结构 -> 人工微调 JSON -> 渲染引擎导出",我们实现了一个高效的 PPT 生产流水线,极大释放了教师的生产力。

相关文章
|
14天前
|
存储 人工智能 应用服务中间件
【教案生成平台】实战教程五:系统优化与工程化实践
本教程系列将AI助手从Demo升级为可用产品:打造悬浮式全局聊天组件、可视化设置中心、本地存储优化(localforage)、路由懒加载及Nginx SPA部署方案,助力构建高性能教师辅助平台。
104 13
|
15天前
|
人工智能 JavaScript 前端开发
【教案生成平台】实战教程四:开发所见即所得的在线试卷编辑器
本试卷编辑器基于Vue实现,支持拖拽排序、动态题型组件渲染(单选/简答等),实时A4预览,并通过html2canvas+jsPDF导出高清PDF。数据模型清晰,扩展性强,真正实现所见即所得的高效出卷体验。
184 19
|
29天前
|
存储 缓存 调度
阿里云Tair KVCache仿真分析:高精度的计算和缓存模拟设计与实现
在大模型推理迈向“智能体时代”的今天,KVCache 已从性能优化手段升级为系统级基础设施,“显存内缓存”模式在长上下文、多轮交互等场景下难以为继,而“以存代算”的多级 KVCache 架构虽突破了容量瓶颈,却引入了一个由模型结构、硬件平台、推理引擎与缓存策略等因素交织而成的高维配置空间。如何在满足 SLO(如延迟、吞吐等服务等级目标)的前提下,找到“时延–吞吐–成本”的最优平衡点,成为规模化部署的核心挑战。
459 38
阿里云Tair KVCache仿真分析:高精度的计算和缓存模拟设计与实现
|
17天前
|
人工智能 JavaScript API
【教案生成平台】实战教程二:接入 AI 大模型实现智能教案生成
一款基于 Vue 3 + Vite 的教师辅助工具,聚焦教案智能生成。输入课程主题,AI 流式输出完整教学设计,支持 Markdown 实时预览与 Word 导出,提升备课效率。核心技术涵盖流式 API 调用、提示词工程与文档生成,构建从输入到输出的完整 AI 工作流。
167 8
|
29天前
|
存储 弹性计算 人工智能
阿里云服务器租用费用价格表(2026年最新)一年、1个月和1小时收费
2026年阿里云服务器最新价格出炉,涵盖轻量应用服务器、ECS、GPU服务器等多种类型。38元/年起秒杀轻量服务器,99元/年畅享2核2G配置,按月、按小时灵活计费,支持个人开发、企业建站及AI计算全场景需求,高性价比优选。
1064 12
|
4天前
|
数据采集 人工智能 搜索推荐
"老师,你讲的我都懂,但下次还是不会用"——一套让课程设计真正落地的AI指令
分享一套课程设计AI指令,能将DeepSeek/Kimi变成教学设计顾问,帮助教师和培训师快速构建目标明确、结构合理的专业课程方案。从"讲得好"跨越到"教得好",让学习真正发生。
87 8
|
20天前
|
Rust 自然语言处理 Java
《跨语言协作效率提升:GraalPython互操作核心瓶颈攻坚手册》
本文聚焦GraalPython多语言互操作的性能瓶颈,结合实时流处理、边缘计算等场景,深度剖析类型语义转译、语境切换、内存语义协同、版本协同、动态优化边界限制等核心问题。揭示不同语言类型体系、内存模型、线程调度机制的本质差异,如何通过Polyglot API、Truffle框架的中间环节放大隐性性能损耗,以及高频调用场景下这些损耗的累积效应。
91 22
|
29天前
|
设计模式 XML NoSQL
从HITL(Human In The Loop) 实践出发看Agent与设计模式的对跖点
本文探讨在ReactAgent中引入HITL(人机回路)机制的实践方案,分析传统多轮对话的局限性,提出通过交互设计、对话挂起与工具化实现真正的人机协同,并揭示Agent演进背后与工程设计模式(如钩子、适配器、工厂模式等)的深层关联,展望未来Agent的进化方向。
506 44
从HITL(Human In The Loop) 实践出发看Agent与设计模式的对跖点
|
20天前
|
存储 边缘计算 JavaScript
《跨越异构鸿沟:Python与WebAssembly集成的ABI核心挑战深度解析》
本文聚焦Python与WebAssembly系统接口集成过程中的ABI核心挑战,从异构体系的底层语义冲突切入,深度剖析类型语义对齐、内存模型异构、系统接口抽象层级差异、工具链碎片化、ABI演进与兼容平衡等关键问题。结合边缘计算、物联网等实践场景,揭示动态类型与静态二进制体系在交互时的隐性矛盾,阐述ABI作为跨环境桥梁,在类型映射、内存管理、接口适配等维度需攻克的技术壁垒,以及兼顾功能扩展与向后兼容的长期战略方向,为开发者提供兼具深度与实用价值的技术洞察。
90 20
|
2天前
|
人工智能 自然语言处理 机器人
阿里云Clawdbot(OpenClaw)部署保姆级教程:接入微信/飞书/钉钉/QQ实现自动化运行
OpenClaw(前身为Clawdbot、Moltbot)是一款具备自然语言理解、任务自动化执行与多工具集成能力的开源AI代理工具,核心价值在于通过日常沟通式的指令,完成文件处理、日程管理、信息提取、团队协作同步等实操任务,彻底摆脱重复手工劳动。2026年,阿里云针对这款热门工具推出专属一键部署方案,通过预置优化镜像,将原本复杂的环境配置、依赖安装等步骤全部简化,无需专业编程基础,零基础用户也能在10分钟内完成部署,同时支持无缝接入微信、飞书、钉钉、QQ四大主流通讯工具,实现多场景自动化运行。
582 15

热门文章

最新文章