image2editable 用于把图片、PDF 和截图式 PPT 转换成可以继续修改的 PowerPoint。它适合课件截图、设计稿、报告页面和图片化幻灯片,减少从零复刻整页版式的工作。
转换后,可以直接在 PowerPoint 中修改识别出的文字、移动拆分出的视觉元素,并继续调整页面内容;处理混合 PPTX 时,原本可编辑的内容会保留在文件中。
| 原图 | 转换后的可编辑效果 |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
若是单独一张图片,为获得最佳的 16:9 PPT 视觉效果,建议输入图片采用 16:9 比例。
| 能力 | 说明 |
|---|---|
| 可编辑文字 | 尽量恢复为 PowerPoint 原生文本框,可在输出文件中直接修改。 |
| 可移动视觉元素 | 将可独立处理的视觉元素拆分为透明图片组件,便于移动或替换。 |
| 混合 PPTX 保护 | 未参与重建的原生文字、形状、表格、图表、备注和层级顺序保持不变。 |
| 多种输入 | 支持图片、图片目录、PDF、图片版 PPTX 和混合 PPTX。 |
| 批量转换 | 多张图片或多页文档按顺序生成多页 PPTX。 |
| 质量保护 | 每页最多进行五轮重修;无法通过质量检查时保留原内容并给出 warning。 |
- 这是把已有页面重建为可继续编辑 PPT 的工具,不是根据文章或大纲生成全新演示文稿。
⚠️ 复杂视觉元素通常会以可移动图片组件保留,不能保证其内部元素都能恢复为原生 PowerPoint 形状。- 🔒 Host Agent 模式可能把诊断图交由当前宿主服务处理;处理敏感文件时,请选择 Local Agent。
npx skills add DSY-Xueai/image2editable --skill image-to-ppt请从 https://github.com/DSY-Xueai/image2editable 安装 <image-to-ppt> skill。安装后,可直接向支持视觉、文件读取和工具调用的 Agent 描述需求,Codex 中可使用 $image-to-ppt,claude code中可使用/image-to-ppt。图片、PDF 和 .pptx 可以直接粘贴或附加到对话框,也可以提供本地路径:
#Codex
$image-to-ppt 把 input.pptx 转成可编辑 PPTX,保留没有命中的原生对象。
$image-to-ppt 把 input.png 转成可编辑 PPTX。
$image-to-ppt 把 <input.pdf> 转成可编辑 PPT。
#claude code
/image-to-ppt 把 input.pptx 转成可编辑 PPTX,保留没有命中的原生对象。
/image-to-ppt 把 input.png 转成可编辑 PPTX。
/image-to-ppt 把 <input.pdf> 转成可编辑 PPT。
💡 建议: 有可用的 Codex、Claude Code 等宿主时优先使用 Skill;只想在本机离线处理图片或 PDF 时使用 Local CLI。
需自行先在本机部署并启动具备视觉理解能力的模型服务。服务需提供 OpenAI 兼容的 /v1/chat/completions 接口,支持图像输入和 JSON 响应;可使用 vLLM、LM Studio,或已启用 OpenAI 兼容接口的 Ollama。
git clone https://github.com/DSY-Xueai/image2editable.git
cd image2editable
pip install .首次配置时,在项目根目录使用下面这个命令复制模板并填写自己的服务信息。
Copy-Item .env.example .env再编辑 .env:IMAGE2EDITABLE_LOCAL_BASE_URL 填服务地址,IMAGE2EDITABLE_LOCAL_MODEL 填服务端实际暴露的模型名;服务不需要密钥时让 IMAGE2EDITABLE_LOCAL_API_KEY 留空。
配置完成后,使用 --agent-provider local 调用本地服务:
# 图片 → 可编辑 PPTX
image2editable convert input.png -o output.pptx --slide-size 16:9 --agent-provider local
# PDF → 可编辑 PPTX
image2editable convert input.pdf -o output.pptx --slide-size 16:9 --agent-provider local| 参数 | 默认值 | 用途 |
|---|---|---|
sources |
必填 | 要转换的输入:图片、图片目录、单个 PDF 或单个 PPTX。文档类输入不能与其他来源混用。 |
-o, --output |
输入同名 | 指定输出文件;--slide-size both 时用作输出基名。 |
--lang |
ch |
指定 OCR 识别语言,常用值为 ch 或 en。 |
--agent-provider |
host |
选择处理方式:host 交由当前 Agent/Skill 协作,local 使用已安装的本地视觉模型。 |
--slide-size |
both |
控制版式:original 保持输入比例,16:9 生成宽屏,both 同时生成两种尺寸。 |
--run-dir |
自动生成 | 指定运行目录,便于查看进度、继续未完成的任务或排查问题。 |
上面执行命令中的 input.pdf 就是 sources,等价于:
sources = ["input.pdf"]
| 方式 | 适合 | 工作方式 |
|---|---|---|
| Host Agent | 已在 Codex、Claude Code 等宿主中工作,并希望由 Agent 协助判断页面结构。 | Skill 将诊断资料交给当前宿主 Agent;CLI 不会直接调用某个固定云端 AI API。 |
| Local Agent | 已自行部署本地视觉模型服务,希望在自己的设备上处理图片或 PDF 。 | 使用配置的 OpenAI 兼容本地服务。 |
image2editable/
├── .claude-plugin/ # Claude Code 插件清单
│ └── plugin.json
├── docs/
│ └── images/ # README 图片资源
├── image2editable/ # 统一 CLI、运行时和转换模块
├── scripts/ # 识别、重建和 PPTX/PSD 组装模块
├── skills/
│ ├── image-to-ppt/ # 可安装的图片转 PPT Skill
│ └── image-to-psd/ # 兼容的图片转 PSD Skill
├── tests/ # 自动化测试
├── third_party/
│ └── licenses/ # 第三方许可证资料
├── .env.example # Local Agent 配置示例
├── .gitignore
├── CITATION.cff # 引用信息
├── image_to_ppt.py # 兼容的图片转 PPTX 入口
├── image_to_psd.py # 兼容的图片转 PSD 入口
├── LICENSE # MIT 许可证
├── pyproject.toml # Python 包与 CLI 配置
├── README.md # 中文说明
├── README_EN.md # English documentation
├── requirements.txt # 核心依赖
└── THIRD_PARTY_NOTICES.md # 第三方依赖与许可证说明
⚠️ 复杂页面建议人工复核。 艺术字、密集表格、渐变和复杂插画可能无法逐像素还原;请在交付前检查文字、组件位置和页面布局。- 图片中的文字越清晰、背景越规整,重建通常越可靠;艺术字、密集表格、渐变和复杂插画不保证逐像素一致。
- 💳 Host Agent 会消耗模型的 Token / 上下文额度。 复杂页面可能经过多轮诊断与重修,实际消耗取决于所用 Agent、模型和页面复杂度。Local 模式不使用项目方 Token,但会消耗用户本地模型服务的推理资源,CPU 可运行但速度可能较慢。
- ⏱️ 多页 PDF、复杂页面和高分辨率图片耗时较长。 每页都会经过 OCR、视觉拆分、重建与质量检查,最多可进行 5 轮重修;Host 模式还需要等待 Agent 完成视觉判断。
| 输入 | 使用建议 | 说明 |
|---|---|---|
| 图片或图片目录 | Skill 或 Local CLI | 支持 PNG、JPG/JPEG、BMP、TIFF/TIF、WebP;目录只扫描第一层图片。 |
| Skill 或 Local CLI | 按页渲染并按顺序重建为多页 PPTX。 | |
| 图片版 PPTX、混合 PPTX | 推荐 Skill | 会识别可处理的图片页;未命中的原生对象保持不变。 |
其他第三方依赖及许可证见 THIRD_PARTY_NOTICES.md,引用信息见 CITATION.cff。
MIT






