SuperAPI AI 工具集

slides

办公与效率

查看项目

更新于 10-15 18:31

技能介绍

用途

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 细节或依赖说明时加载。

使用方式

工作流程:

  1. 检查请求,确定是创建新演示文稿、重建现有演示文稿还是编辑现有演示文稿。
  2. 预先设置幻灯片尺寸。默认使用 16:9(LAYOUT_WIDE),除非源材料明显使用其他宽高比。
  3. 将 assets/pptxgenjs_helpers/ 复制到工作目录,并从那里导入辅助工具。
  4. 使用 JavaScript 构建演示文稿,显式设置主题字体、稳定间距,并在可行时使用可编辑的 PowerPoint 原生元素。
  5. 从技能目录运行捆绑脚本,或将所需脚本复制到任务工作区。使用 render_slides.py 渲染结果,查看 PNG,并在交付前修复布局问题。
  6. 当幻灯片边缘紧张或内容密集时,运行 slides_test.py 进行溢出检查。
  7. 交付 .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 原生元素。
  • 需要在交付前进行渲染审查、溢出检测和字体检测。

限制

  • 未提供关于收费、价格、平台支持范围、效果保证等信息。
  • 未提供除上述脚本和资源外的其他功能说明。
  • 未提供具体安装命令或依赖安装步骤。