
Editable PPT Rebuilder 是什么
Editable PPT Rebuilder 是一个面向 Codex 的 PowerPoint 重建 Skill。它以整页图片、PPTX 页面或高分辨率幻灯片截图作为视觉与文字事实依据,将页面重建为可编辑、可审计并经过交付验证的 PowerPoint 演示文稿。
它不会简单地把整页截图放入 PPT,而是根据对象类型选择合适的表达方式:可读文字转换为 PowerPoint 文本框,面板、边框、箭头等简单结构转换为原生形状,照片、复杂图表和示意图则作为独立的语义 PNG 资产保留。
需要注意的是,图片化输入无法完美恢复原始文件中不可见的矢量对象、隐藏文字、图表底层数据或原始编辑层级。对于无法可靠识别的内容,工作流要求保留人工审核状态,而不是猜测。

核心能力与对象分类
项目围绕“人工主导、AI 辅助”的方法设计。AI 可用于长文档归纳、结构备选、逐页脚本、视觉草案和对象拆解;专业主线、页面取舍、关键数据核对、技术边界判断和最终审核仍由人工负责。
- editable_text:标题、正文、标签、图例、坐标轴、表格和公式等可读内容。
- native_shape:面板、色带、边框、分隔线、连接器、箭头、徽章和简单图形。
- semantic_png:照片、人物、产品、复杂图表、网络图、复杂示意图和复杂图标。
- background:需要单独进行前景移除或重建审核的复杂大幅背景。
- backup_only:仅作为不可见备份保留的内容,不能替代最终可见对象。
小图标必须经过 ImageGen 视觉核心流程,包括生成无文字视觉核心、去除色键、检查透明边缘、嵌入 PPTX,并记录审核证据。复杂视觉也必须具备明确的语义对象、唯一归属和审核证据。
安装前准备
首先准备 Codex、Python 环境以及完整的项目目录。安装后的目录通常位于以下路径:
$CODEX_HOME/skills/editable-ppt-rebuilder如果没有设置 CODEX_HOME,通常使用:
~/.codex/skills/editable-ppt-rebuilder安装完成后,可以使用 $editable-ppt-rebuilder 调用该 Skill。如果当前任务没有立即发现新 Skill,请重新加载 Codex 或新建任务。
依赖与工具
安装 Skill 与运行完整工作流是两件事。除了项目中的 requirements.txt,还需要根据任务准备以下组件:
- Python 依赖,用于脚本和处理流程。
- Tesseract OCR 及对应语言数据。中文识别通常需要
chi_sim。 - Microsoft PowerPoint 或等效的高保真渲染器,用于最终渲染检查。
- 可用的 ImageGen 能力,用于小图标的强制视觉核心流程。
项目还提供 config.example.yaml,可参考其中的渲染、分割、OCR 和质量检查配置。
完整重建流程
第一步:提取并保存源页面
先从输入 PPT、PPTX 或截图中提取或渲染源页面,并将结果保存到 source_pages/。源页面必须始终保留且不修改,它是后续视觉比对、坐标定位和质量审核的基准。
第二步:执行基线分解
使用 scripts/decompose_visual_elements.py 执行 OCR、候选区域发现和基线输出。该步骤会帮助发现文字、图形、图片及其坐标,生成后续拆解所需的初始结果。
python scripts/decompose_visual_elements.py ...基线结果不是最终答案。应同时检查源页面、对象清单、审核覆盖图和粗略预览。对于错误识别或缺少语言模型支持的 OCR 结果,必须人工修正或标记审核状态。
第三步:为每个对象选择表达方式
逐页检查可见对象,并为每个对象确定唯一的最终表达类型。优先将所有可读文字重建为可编辑文本,将简单结构重建为原生形状,将复杂或风格敏感的视觉内容作为独立语义 PNG。

每页应先定义唯一的回答任务,再决定文字、原生结构和复杂视觉的组合方式。这样可以避免把整页截图切成多个不可维护的片段。
第四步:按源页面坐标重建 PPTX
根据源页面坐标确定性地放置文本框、原生形状和独立视觉资产,并保持源页面的宽高比。标题、数据和标签应可直接编辑;色块、箭头和边框应可调整;照片、复杂示意图和图标则应能够独立替换或维护。
复杂视觉不能使用页面切片拼贴整页。每个 PNG 都应有明确的语义对象、唯一归属和对应审核证据。
第五步:处理复杂视觉与图标
为复杂视觉和每个小图标生成独立资产。小图标不能直接裁剪、放大、描摹或复用源图标像素作为可见最终图标。使用 ImageGen 时,应生成不含文字的视觉核心,再完成去除色键、透明边缘检查和嵌入 PPTX。
对于复杂背景,应执行前景移除或重建审核。简单背景则优先使用原生 PowerPoint 形状,避免将未经审核的生成背景直接作为最终结果。
第六步:渲染并检查实际结果
完成重建后,通过 PowerPoint 或等效的高保真渲染器导出最终预览。不要只检查对象数据或脚本输出,还要检查实际渲染结果中的文字、裁剪、透明度、重叠和视觉一致性。
第七步:生成清单并执行交付验证
最终输出通常应包含源页面、独立 PNG、CSV 或 JSON 清单、裁剪审核证据、背景审核证据、PowerPoint 预览、差异图和逐页质量报告。精细重建完成后,运行:
python scripts/validate_delivery.py <refined_output_dir> --pptx <refined_deck.pptx>严格交付要求验证器返回 0。如果验证器以非零状态退出,不应交付文件,而应先处理报告中的问题。
批量处理多个输入
当需要重复处理多个页面或多个输入时,可以使用批处理脚本:
python scripts/run_batches.py ...批处理适合生成统一的基线分解结果,但不能代替逐页审核。每个页面仍需要确认对象分类、OCR 质量、裁剪归属和最终视觉效果。
质量审核重点
- 源页面是否完整保留,且没有被修改。
- 所有可读文字是否都重建为可编辑文本;文字 PNG 是否仅作为不可见备份。
- 简单结构是否使用原生 PowerPoint 对象。
- 复杂 PNG 是否具备语义名称、唯一归属和审核证据。
- 页面宽高比、对象位置、透明度和裁剪是否正确。
- 是否存在重复资产、内容溢出、对象裁切、意外重叠或背景残留。
- 小图标是否完成 ImageGen、透明边缘和语义独立性审核。
- 所有审核项和质量问题是否已关闭,并且验证器返回零退出状态。
进阶使用建议
优先维护对象边界
重建的价值在于建立清晰的对象边界,而不是追求整页像素级复制。将标题、数据、色块、箭头、照片和示意图分别处理,可以让后续修改、替换和审阅更加可靠。
把审核证据纳入交付物
除 PPTX 外,应保留清单、裁剪审核、背景审核、差异图和逐页质量报告。这些材料能够说明哪些内容是可编辑对象,哪些内容是独立视觉资产,以及最终结果是否经过实际渲染检查。
不要过度推断不可见内容
如果源图中的文字不可读、标志无法可靠识别,或图表底层数据不可见,应保留人工审核状态。不要为了填补空白而猜测文字、数据或原始编辑层级。
总结
Editable PPT Rebuilder 提供了一套从源页面提取、OCR 分解、对象分类、确定性重建到最终验证的完整工作流。正确使用它的关键不是把截图放进 PPT,而是将页面拆成可编辑文本、原生结构和具有明确语义的独立视觉资产,并通过真实渲染和严格验证确保交付质量。
