PNG To Editable PPT
When To Use
Use this skill when the request is:
- 单张图片转换为单张 PPT。
- 要求 PPT 可编辑,而不是整图贴入。
- 要保留整体版式、文字、模块框、箭头、流程图、图标。
- 图片中复杂照片类素材允许作为独立图片对象嵌入,保证内容不丢。
Core Rule
Do not use the source image as the only slide object. Rebuild the page with native PowerPoint objects:
- Text: editable text boxes.
- Module boxes/cards: editable rectangles or rounded rectangles.
- Arrows/lines/flowcharts: editable connectors and shapes.
- Simple icons: editable native shapes.
- Complex photos, screenshots, realistic objects: cropped picture objects.
Quick Workflow
- Inspect the source image size and visual structure.
- Create a JSON layout spec from
layout_spec.example.json. - Use pixel coordinates from the source image. The script maps pixels to PPT EMUs 1:1 at 96 DPI.
- Crop complex photo-like assets through the
assets section. - Recreate all editable structure in
elements. - Generate the PPT:
python png2ppt_skill/scripts/editable_png_to_ppt.py --spec path/to/spec.json
- Verify output object counts and, when available, render-check with LibreOffice:
python png2ppt_skill/scripts/editable_png_to_ppt.py --spec path/to/spec.json --render-check
Files
WORKFLOW.md: detailed repeatable process.SPEC_REFERENCE.md: JSON spec fields and supported element types.layout_spec.example.json: starter spec.scripts/editable_png_to_ppt.py: deterministic PPT generator.
Quality Bar
The generated PPT should contain many editable objects, not one pasted image. A good output normally has:
text_shapes > 0picture_shapes only for complex raster assetsshapes significantly larger than picture_shapes- same slide aspect ratio as the source image
- no obvious clipped text or missing visual area after render-check