课件 → 知识清单填空笔记单(可编辑 PPTX)
概述
从课程 PPT 课件中提炼客观知识点,生成一份供学生边听课边填空的笔记单。内容必须严格出自课件;挖空只挖最重点短关键词;版式还原约读书房既定设计(logo、标签、姓名栏、主题化美化)。产出为原生可编辑的 PPTX(文本框、表格、图形均为 PowerPoint 对象),由内容 JSON + 生成脚本驱动,保证版式稳定、文字可改。
重要:动手前先完整阅读 references/content-rules.md(选材规则、挖空规则、内容 JSON 格式、质量核对清单都在其中)。
工作流程
第 1 步:提取课件内容
python <skill目录>/scripts/extract_pptx.py "<课件.pptx>" <工作目录>/extract --render
ppt_text.txt:逐页文本 + 表格内容 + 内嵌图片清单,是内容的唯一来源。slide_NN.png:整页渲染图(本机装有 PowerPoint 时才有)。必须翻看渲染图(用图片查看工具)判断课件视觉主题(配色、风格),部分知识点可能只在图片里。- 若渲染图不可用,基于文本中的题材关键词判断主题(如"黄帝/神话/姓氏"→ 中国古代题材)。
第 2 步:确定主题与样式
- 主题:从课件标题页/内容提炼(如"知识梳理""中华姓氏文化"),写入页头标签。
- 样式二选一(写入 JSON 的
"style"字段): - 中国古代题材(神话、历史、传统文化、古典文学)→
"gufeng"(楷体、回纹页框、灯笼/金竹装饰)。 - 其他或无法判断 →
"green"(简洁绿色,居中大标题 + 淡青/淡绿/米黄色块)。 - 用户指定样式时以用户为准。
第 3 步:起草内容 JSON
按 references/content-rules.md 的选材规则、挖空规则、内容 JSON 格式执行:
- 从课件文本中筛出全部客观知识点(概念、时间地点、人物、阵营、分类、特点、数字)。
- 剔除故事情节、互动讨论、教学目标页。
- 组织为 2~4 个编号节(一、二、三、四),节内 bullet 列要点;结构化关系用
table块。 - 选挖空点:每页 8~15 个,每个 2~8 字;在 JSON 文本中用
{{答案}}标记,答案类型不明显时在括号外补"(填朝代)(填原因)"式提示。 - 逐字核对:每条表述在课件文本中找到原文出处;年份、人名、数字逐一比对。
- 把 JSON 保存到工作目录,如
<工作目录>/笔记单.json。
第 4 步:生成 PPTX 并自检
python <skill目录>/scripts/build_notesheet.py "<笔记单.json>" "<笔记单.pptx>"
python <skill目录>/scripts/pptx_preview.py "<笔记单.pptx>" <工作目录>/preview
build_notesheet.py以实测渲染高度选方案(优先单页,自动微缩字号塞进一页;确实装不下才均衡分页),并打印字号缩放与各页版心底部位置;必须翻看 preview PNG 逐页检查:- 行距紧凑(与审定示例一致,不得拉伸纵向间距)、页面无大面积空白、无内容溢出、无元素重叠。
- 学生版挖空括号清晰、空白够手写 2~5 个字;答案版每个空都有红色答案。
- 页框、logo、标签、装饰图正常显示。
- 不合格则改 JSON 重新生成,直至通过。
第 5 步:交付
- 交付 PPTX 文件路径(同时保留内容 JSON 以便后续改版)。
- 提示用户:PPTX 可直接在 PowerPoint/WPS 中改文字、调色块,打印/分发时另存为 PDF。
- 简要说明:主题、样式选择理由、挖空数量、页数结构。
资源清单
scripts/extract_pptx.py:提取课件文本/图片/整页渲染图。scripts/build_notesheet.py:内容 JSON → A4 竖版 PPTX(学生版+答案版,尽量各一页、装不下才均衡分页;挖空空白按手写宽度只加横向,行距保持紧凑;JSON 可指定font字体)。scripts/pptx_preview.py:PPTX 逐页渲染 PNG 自检(需 PowerPoint)。assets/logo.png:约读书房 logo(右上角)。assets/gufeng/frame.png:古风回纹页框(整页背景)。assets/gufeng/lantern.png、assets/gufeng/bamboo.png:古风装饰。references/content-rules.md:选材/挖空规则 + 内容 JSON 格式 + 质量核对清单(必读)。
边界与注意
- 内容准确优先于美观:任何拿不准的知识点宁可少挖空、少写,不可编造。
- 已交付示例的版式是基准:不要引入示例之外的新设计元素(新字体、新配色、新装饰)。
- 生成脚本内置的版式(页头、标签、字号、配色)不要随意改;需要调整版式时优先调 JSON 的
font_scale,确有必要才改脚本。 - 用户要求多讲次分开出单时,每次运行本流程生成独立 PPTX;知识点跨讲重复时以该讲课件为准。