用途:把自包含的单页 SVG 图(如科研流程图、架构图)转成保留真实文字的矢量 PDF,以及原生可编辑的 PPTX,而不是把整页截图放进幻灯片。
主要能力:SVG→PDF 用 Chrome headless 打印并核验文字、矢量路径与页面尺寸;有 SVG 时优先从 SVG 恢复原生几何、从 PDF 导入文字;支持已展开的 path(M/L/H/V/C/S/Z)、嵌套分组、填充描边、真实 text/tspan、userSpaceOnUse 线性渐变、全页背景 rect,以及单独成组的单 path 高斯模糊阴影。
使用方式:先运行安装脚本(幂等):SKILL_DIR="$(dirname "$(readlink -f ~/.agents/skills/editable-vector-slides/SKILL.md)")" 后执行 bash "$SKILL_DIR/scripts/install.sh",输出 SETUP OK 才能转换。转换命令:python3 "$SKILL_DIR/scripts/convert.py" /absolute/input.svg --format both --output-dir /absolute/new-output-dir;只出 PDF 用 --format pdf。输出目录必须不存在,源 SVG 不动。
适用场景:需要可编辑文字与矢量对象的幻灯片交付;只需 PDF 时不必生成 PPTX;已有满足需求的原始 PPTX 时不做有损往返。
限制:这是有边界的转换方案,不是通用 SVG 引擎。不支持几何 transform、use/symbol、非背景 rect/circle/ellipse、复合路径的洞、mask/clipPath、CSS 样式表、径向渐变、其它滤镜、嵌入图像;所有文字被放在几何上方,需遮挡的设计要额外重建 z-order;渐变起止点未精确重映射;字体子集与 PDF 导入可能拆分文本框,LibreOffice 往返可能轻微移动基线;不恢复原始组、图层、动画、母版或参数化形状语义。脚本拒绝 DTD、脚本、事件属性和外部资源,但不是任意不可信 SVG 的安全沙箱。转换后必须按验收清单看图,未在 PowerPoint 实机打开前不宣称兼容测试。