【教案生成平台】实战教程三:打造智能 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 生产流水线,极大释放了教师的生产力。

相关文章
|
3月前
|
存储 人工智能 应用服务中间件
【教案生成平台】实战教程五:系统优化与工程化实践
本教程系列将AI助手从Demo升级为可用产品:打造悬浮式全局聊天组件、可视化设置中心、本地存储优化(localforage)、路由懒加载及Nginx SPA部署方案,助力构建高性能教师辅助平台。
210 13
|
3月前
|
人工智能 JavaScript API
【教案生成平台】实战教程二:接入 AI 大模型实现智能教案生成
一款基于 Vue 3 + Vite 的教师辅助工具,聚焦教案智能生成。输入课程主题,AI 流式输出完整教学设计,支持 Markdown 实时预览与 Word 导出,提升备课效率。核心技术涵盖流式 API 调用、提示词工程与文档生成,构建从输入到输出的完整 AI 工作流。
473 8
|
3月前
|
人工智能 JavaScript 前端开发
【教案生成平台】实战教程四:开发所见即所得的在线试卷编辑器
本试卷编辑器基于Vue实现,支持拖拽排序、动态题型组件渲染(单选/简答等),实时A4预览,并通过html2canvas+jsPDF导出高清PDF。数据模型清晰,扩展性强,真正实现所见即所得的高效出卷体验。
327 19
|
2月前
|
数据采集 人工智能 搜索推荐
"老师,你讲的我都懂,但下次还是不会用"——一套让课程设计真正落地的AI指令
分享一套课程设计AI指令,能将DeepSeek/Kimi变成教学设计顾问,帮助教师和培训师快速构建目标明确、结构合理的专业课程方案。从"讲得好"跨越到"教得好",让学习真正发生。
326 10
|
3月前
|
人工智能 JavaScript 前端开发
【教案生成平台】实战教程一:从零搭建现代化教师辅助平台 (环境与架构)
本教程带你从零搭建基于Vue3的教师辅助平台,解决备课、出卷、做课件痛点。采用Vite+Pinia+VueRouter,实现手绘风格UI与模块化架构,夯实前端工程化基础。
486 2
|
2月前
|
人工智能 网络协议 网络安全
2026阿里云OpenClaw/Clawdbot部署+集成iMessage指南:苹果生态AI助手搭建教程
2026年,OpenClaw(前身为Clawdbot、Moltbot)凭借轻量化容器化架构、灵活的跨平台集成能力,成为个人与小型团队打造专属AI助手的首选工具。其支持自然语言指令解析、多任务自动化执行、多终端同步响应的核心特性,完美适配苹果生态用户的办公与生活需求。iMessage作为苹果生态核心的即时通讯工具,覆盖iPhone、Mac、iPad全终端,具备端到端加密、无缝同步的优势,将两者深度对接,可实现“iMessage发指令、AI自动化执行、全终端收结果”的跨场景体验,无需切换APP,随时随地调用AI能力处理文档生成、数据查询、任务提醒等事务。
1056 18
|
3月前
|
人工智能 前端开发 JavaScript
ICO 图标生成器开发实战教程
本教程详解纯前端ICO图标生成器开发全过程:支持图片转ICO与文字生图双模式,Canvas实时预览、多尺寸打包;深度集成通义灵码辅助实现二进制ICO封装、正则验证与算法优化;兼顾SEO、语义化HTML及玻璃拟态UI设计。
603 1
|
7月前
|
人工智能 IDE 开发工具
AI 编程,一键生成完整工程代码(企业级),开启零代码时代
飞算JavaAI是一款IDE插件,能将文字需求一键生成企业级完整工程代码,大幅提升开发效率。支持模块拆分、代码分层、数据库脚本生成,并可自定义代码风格与架构,适配团队规范。实现“零代码”开发与功能扩展,让开发者专注核心逻辑,告别重复编码。
|
11月前
|
传感器 人工智能 IDE
AI IDE正式上线!通义灵码开箱即用
作为AI原生的开发环境工具,通义灵码AI IDE深度适配了最新的千问3大模型,并全面集成通义灵码插件能力,具备编程智能体、行间建议预测、行间会话等功能。
5099 171

热门文章

最新文章

下一篇
开通oss服务