用途
Slides 技能用于创建和编辑演示文稿幻灯片(.pptx)。它规定使用 PptxGenJS 进行幻灯片编写,而不是 python-pptx(除非任务仅为检查)。可编辑输出应保留在 JavaScript 中,并同时交付 .pptx 和源 .js 文件。
主要能力
- 使用 PptxGenJS 编写幻灯片,支持显式主题字体、稳定间距和可编辑的 PowerPoint 原生元素。
- 附带资源 assets/pptxgenjs_helpers/,可复制到工作区并本地导入,避免重复实现辅助逻辑。
- 提供多个脚本:
- scripts/render_slides.py:将 .pptx 或 .pdf 栅格化为每页 PNG。
- scripts/slides_test.py:检测内容是否溢出幻灯片画布。
- scripts/create_montage.py:生成渲染幻灯片的联系表式蒙太奇。
- scripts/detect_font.py:报告 LibreOffice 解析时缺失或替换的字体。
- scripts/ensure_raster_image.py:将 SVG/EMF/HEIC/PDF 类资源转换为 PNG 以便快速检查。
- 提供 references/pptxgenjs-helpers.md,仅在需要 API 细节或依赖说明时加载。
使用方式
工作流程:
- 检查请求,确定是创建新演示文稿、重建现有演示文稿还是编辑现有演示文稿。
- 预先设置幻灯片尺寸。默认使用 16:9(LAYOUT_WIDE),除非源材料明显使用其他宽高比。
- 将 assets/pptxgenjs_helpers/ 复制到工作目录,并从那里导入辅助工具。
- 使用 JavaScript 构建演示文稿,显式设置主题字体、稳定间距,并在可行时使用可编辑的 PowerPoint 原生元素。
- 从技能目录运行捆绑脚本,或将所需脚本复制到任务工作区。使用 render_slides.py 渲染结果,查看 PNG,并在交付前修复布局问题。
- 当幻灯片边缘紧张或内容密集时,运行 slides_test.py 进行溢出检查。
- 交付 .pptx、编写用的 .js 以及重建演示文稿所需的任何生成资源。
编写规则:
- 显式设置主题字体。如果排版重要,不要依赖 PowerPoint 默认值。
- 使用 autoFontSize、calcTextBox 及相关辅助工具来设置文本框大小;不要使用 PptxGenJS 的 fit 或 autoFit。
- 使用项目符号选项,而不是字面量 • 字符。
- 使用 imageSizingCrop 或 imageSizingContain,而不是 PptxGenJS 内置的图像尺寸调整。
- 使用 latexToSvgDataUri() 处理公式,使用 codeToRuns() 处理语法高亮代码块。
- 对于简单的条形图、折线图、饼图、直方图风格的可视化,优先使用原生 PowerPoint 图表,以便审阅者之后可以编辑。
- 对于 PptxGenJS 无法很好表达的图表或示意图,在外部渲染 SVG 并将 SVG 放入幻灯片。
- 在生成或大幅编辑幻灯片时,提交的 JavaScript 中应包含 warnIfSlideHasOverlaps(slide, pptx) 和 warnIfSlideElementsOutOfBounds(slide, pptx)。
- 在交付前修复所有非故意的重叠和越界警告。如果重叠是有意的,在相关元素附近留下简短代码注释。
重建或编辑现有幻灯片:
- 首先渲染源演示文稿或参考 PDF,以便视觉比较幻灯片几何形状。
- 在重建布局前匹配原始宽高比。
- 尽可能保留可编辑性:文本应保持为文本,简单图表应保持为原生图表。
- 如果参考幻灯片使用栅格图稿,使用 ensure_raster_image.py 从矢量或特殊图像格式生成调试 PNG,然后再放置。
验证命令示例(假设已将所需脚本复制到工作目录;如果没有,则相对于技能文件夹调用相同脚本路径):
将幻灯片渲染为 PNG 以供审查
python3 scripts/render_slides.py deck.pptx --output_dir rendered
构建蒙太奇以便快速扫描
python3 scripts/create_montage.py --input_dir rendered --output_file montage.png
检查是否超出原始幻灯片画布
python3 scripts/slides_test.py deck.pptx
检测缺失或替换的字体
python3 scripts/detect_font.py deck.pptx --json
如果需要辅助 API 摘要或依赖细节,加载 references/pptxgenjs-helpers.md。
适用场景
- 创建新的 .pptx 演示文稿。
- 重建或编辑现有演示文稿。
- 需要生成可编辑的 PowerPoint 原生元素。
- 需要在交付前进行渲染审查、溢出检测和字体检测。
限制
- 未提供关于收费、价格、平台支持范围、效果保证等信息。
- 未提供除上述脚本和资源外的其他功能说明。
- 未提供具体安装命令或依赖安装步骤。