SuperAPI AI 工具集

pptx-render

设计与创作

查看项目

更新于 10-16 05:07

技能介绍

用途:pptx-render 用于提取 PPTX 幻灯片的内容,帮助理解某一页幻灯片包含什么(形状、文本、位置、图片),主要场景是与 Typst 幻灯片对比,尤其是图表和视觉元素。

主要能力:使用 python-pptx 读取指定幻灯片,输出每个形状的名称、位置(英寸,基于左上角)、尺寸、文本、是否为图片、是否为表格及行列数;可保存幻灯片中内嵌的图片;可根据形状模式判断内容类型,例如多个文本框配合箭头通常是实质图表,单个占满幻灯片的大图片可能是剪贴画,表格对应数据表,仅文本框则是纯文字页。

使用方式:先确定 PPTX 文件与幻灯片编号,若用户引用内容清单条目可先 grep 清单查找页码;再用 python-pptx 遍历 shapes 提取信息;需要图片时按 MSO_SHAPE_TYPE.PICTURE 保存 blob。常用一行命令为 uv run python3 -c "...",其中加载 Presentation 后遍历 prs.slides[N-1].shapes 并输出 JSON。

渲染为 PDF/PNG:如需真正的栅格化而非内容提取,使用共享的 x2t 封装脚本:python3 ${CLAUDE_SKILL_DIR}/../../scripts/doc_render.py deck.pptx deck.pdf(全部幻灯片转 PDF,再用 pdftoppm 拆分),或 python3 ${CLAUDE_SKILL_DIR}/../../scripts/doc_render.py deck.pptx slide1.png(仅首页转 PNG)。

限制:依赖 python-pptx(pixi 项目依赖)。不要直接调用 soffice --headless,它在 macOS 上会因 profile 锁问题静默失败(返回 0 且无输出);封装脚本优先使用 x2t,仅在 x2t 缺失时回退到 soffice。x2t 为无状态且可并行。标准幻灯片尺寸为 10"×7.5" 或 16:9 的 10"×5.63"。组合形状可能含子形状(连接线、箭头),需检查组合的 .shapes。其余细节暂未提供。