SuperAPI AI 工具集

pptx

办公与效率

查看项目

更新于 10-16 04:48

技能介绍

用途 该技能面向需要处理 PowerPoint 演示文稿(.pptx 文件)的场景,支持三类任务:创建新演示文稿、修改现有演示文稿、分析演示文稿内容。

读取与分析内容 若仅需读取演示文稿的文本内容,可将文档转换为 markdown:python -m markitdown path-to-file.pptx。 若需访问批注、演讲者备注、幻灯片版式、动画、设计元素及复杂格式,则必须解包演示文稿并读取原始 XML。解包命令:python ooxml/scripts/unpack.py <office_file> <output_dir>。unpack.py 脚本位于 skills/pptx/ooxml/scripts/unpack.py(相对于项目根目录);若该路径不存在,可用 find . -name "unpack.py" 定位。 关键文件结构包括:ppt/presentation.xml(主演示元数据与幻灯片引用)、ppt/slides/slide{N}.xml(单张幻灯片内容)、ppt/notesSlides/notesSlide{N}.xml(演讲者备注)、ppt/comments/modernComment_*.xml(批注)、ppt/slideLayouts/(版式模板)、ppt/slideMasters/(母版模板)、ppt/theme/(主题与样式)、ppt/media/(图片与其他媒体)。

字体与颜色提取 当需要模仿某个示例设计时,应先用以下方法分析其字体与颜色:读取主题文件 ppt/theme/theme1.xml 中的颜色(<a:clrScheme>)与字体(<a:fontScheme>);检查 ppt/slides/slide1.xml 中实际使用的字体(<a:rPr>)与颜色;用 grep 在所有 XML 文件中搜索颜色(<a:solidFill>、<a:srgbClr>)与字体引用。

无模板创建新演示 从零创建时使用 html2pptx 工作流,将 HTML 幻灯片转换为 PowerPoint 并精确定位。设计原则要求:创建前先分析内容并选择合适设计元素,考虑主题、语气、行业与氛围;若用户提及公司或组织,考虑其品牌色与识别;配色需契合内容;写代码前先说明设计思路。要求仅使用网络安全字体(Arial、Helvetica、Times New Roman、Georgia、Courier New、Verdana、Tahoma、Trebuchet MS、Impact);通过大小、粗细和颜色建立清晰视觉层级;确保可读性(强对比、合适字号、整齐对齐);跨幻灯片保持一致性(重复图案、间距与视觉语言)。资料提供了多套示例配色方案,如 Classic Blue、Teal & Coral、Bold Red、Burgundy Luxury、Black & Gold、Forest Green 等,可作为灵感来源,可选用、改编或自创。视觉细节选项涵盖几何图案、边框与框架处理、字体处理、图表与数据样式、版式创新和背景处理等类别。版式提示:带图表或表格时优先使用两栏布局(页眉通栏,下方两栏,一栏放文本/项目符号,另一栏放重点内容),或让重点内容占满整张幻灯片;不要将图表/表格在单栏中垂直堆叠在文本下方。

工作流 必须完整阅读 html2pptx.md(不得设置读取范围限制),再为每张幻灯片创建合适尺寸(如 16:9 为 720pt × 405pt)的 HTML 文件;文本内容使用 <p>、<h1>-<h6>、<ul>、<ol>;图表/表格预留区使用 class="placeholder"(用灰色背景便于识别)。关键要求:渐变与图标须先用 Sharp 栅格化为 PNG 图片,再在 HTML 中引用。随后创建并运行 JavaScript 文件,使用 html2pptx.js 库将 HTML 幻灯片转为 PowerPoint 并保存;用 html2pptx() 处理每个 HTML 文件,用 PptxGenJS API 向占位区添加图表与表格,用 pptx.writeFile() 保存。最后进行视觉验证:生成缩略图(python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4),检查文字截断、文字重叠、定位问题与对比度问题;如有问题则调整 HTML 的边距/间距/颜色并重新生成,直至所有幻灯片视觉正确。

编辑现有演示 编辑现有幻灯片需使用原始 Office Open XML(OOXML)格式:解包 .pptx、编辑 XML 内容、重新打包。工作流:必须完整阅读 ooxml.md(约 500 行,不得设置读取范围限制);解包(python ooxml/scripts/unpack.py <office_file> <output_dir>);编辑 XML 文件(主要是 ppt/slides/slide{N}.xml 及相关文件);每次编辑后立即验证并修复错误(python ooxml/scripts/validate.py <dir> --original <file>);打包最终演示(python ooxml/scripts/pack.py <input_directory> <office_file>)。

使用模板创建新演示 需要遵循现有模板设计创建演示时,需复制并重排模板幻灯片,再替换占位内容。工作流:提取模板文本并创建缩略图网格(提取文本:python -m markitdown template.pptx > template-content.md;完整阅读 template-content.md,不得设置读取范围限制;创建缩略图网格:python scripts/thumbnail.py template.pptx)。分析模板并将清单保存到文件:查看缩略图网格了解版式、设计模式与视觉结构;创建并保存 template-inventory.md,包含总幻灯片数,并注明幻灯片从 0 开始索引(首张为 0,末张为数量减 1),每张幻灯片都需按索引逐条列出(类别、幻灯片编号、可用时的版式代码、用途描述)。创建演示大纲:依据模板清单选择版式,首页选用引言或标题模板,其余选用安全的文本版式;须将版式结构与实际内容匹配——单栏用于统一叙述或单一主题,两栏仅在恰好有两个不同项目/概念时使用,三栏仅在恰好有三个时使用,图文版式仅在有实际图片可插入时使用,引用版式仅用于真实的人物引语(含出处),绝不用于强调;占位符数量不得超过实际内容数量;内容为 4 项以上时可拆分为多张幻灯片或改用列表格式;选择版式前先清点实际内容项,确认每个占位符都将填入有意义内容;将内容与模板映射保存为 outline.md,并给出 template_mapping(示例:template_mapping = [0, 34, 34, 50, 54],分别对应标题/封面、B1 标题与正文、重复的 B1、E1 引用、F2 结尾与文本),并提醒核对索引是否在范围内(若有 73 张幻灯片,索引为 0-72)。使用 scripts/rearrange.py 复制、重排与删除幻灯片(python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52),脚本会自动处理重复、删除与重排,索引从 0 开始,同一索引可多次出现以复制该幻灯片。用 inventory.py 提取全部文本(python scripts/inventory.py working.pptx text-inventory.json),并完整阅读 text-inventory.json(不得设置读取范围限制)。inventory JSON 以 slide-0、slide-1 等命名幻灯片,形状按视觉位置(从上到下、从左到右)命名为 shape-0、shape-1 等,占位符类型为 TITLE、CENTER_TITLE、SUBTITLE、BODY、OBJECT 或 null;包含段落文本及可选属性(bullet、level、alignment、space_before、space_after、line_spacing、font_name、font_size、bold、italic、underline、color);设有默认字号 default_font_size(来自版式占位符,可用时);SLIDE_NUMBER 占位符类型的形状会自动从清单中排除;bullet 为 true 时总是包含 level(即使为 0);间距以磅为单位且仅在有设置时包含;颜色包含 RGB(如 "FF0000")以及 theme_c(资料在此处被截断)。

限制 资料未提供该技能的收费、价格、平台支持范围与效果数据,暂未提供。