pptx-cnlisted
Install: claude install-skill ssssliug/claude-skill-pptx-cn
# PPT 文档生成(Node · 中文 · 研究向)
面向 Node-only 环境(**无 Python / LibreOffice / pandoc**,在 Windows + Node v24 上验证过;macOS / Linux 同理)。`.pptx` 用 [`pptxgenjs`](https://github.com/gitbrent/PptxGenJS)。**只做创建**——转 PDF / 缩略图 / schema 校验等 QA 本机跑不了(要视觉预览需另装 LibreOffice)。
官方 `~/.claude/skills/pptx`(默认停用,文件仍在)有更全的踩坑表与 Python 脚本(校验 / 缩略图 / 模板编辑 / tracked changes / comments)。遇到复杂或排错场景,可手动 `cat ~/.claude/skills/pptx/SKILL.md` 当字典查——它不自动加载,但内容在。配套 Word 技能见 `docx-cn`。
## 运行(两种方式任选)
**方式 A · 本仓库装依赖(推荐,跨平台)**:仓库根 `package.json` 已列好依赖,`npm install` 后直接跑:
```bash
npm install
node templates/results_pptx.js out.pptx # 输出路径可中文
```
**方式 B · 共享依赖 + NODE_PATH(Windows / Git Bash 特有技巧)**:把所有 skill 的 node_modules 集中放一处(如 `~/.claude/skills-deps/node_modules`,含 `pptxgenjs` / `sharp` / `react-icons` / `react` / `react-dom`),脚本里直接 `require()`、不必每个仓库各装一份。node 是原生 Windows 程序、**不认 MSYS 的 `~` / `/tmp` 路径**,必须 cygpath + NODE_PATH:
```bash
NODE_PATH=$(cygpath -w ~/.claude/skills-deps/node_modules) node 脚本.js
```
输出用完整 Windows 路径 `C:/.../名.pptx`,中文路径 OK。改 / 重生成同名文件前确认没被 Office 打开(**EBUSY**)。
---
## PPT (pptxgenjs)
### 画布
`pres.layout = 'LAYOUT_WIDE'` → 13.33″×7.5″。默认 `LAYOUT_16x9` 只有 10″ 宽,超出坐标的内容写进去了但看不见。
### 中文字体(最高频翻车点,务必显式指定)
pptxgenjs 默认 Calibri,**渲染中文会掉字 / 变方块 / 行距崩**。每处文字都带 `fontFace`:
- 正文 / 标题:`fontFace:'Microsoft YaHei'`(微软雅黑,英文也正常,整段统一最省事)
- 代码:`fontFace:'Consolas'`
- 中英混排想给数字 / 术语换字体 → 单独包一个 `{ text, options }` run;否则整段统一 YaHei。
- 中文段落用全角标点(避免半角逗号配中文字体的间距问题)。
### 颜色(高频坑)
**不带 `#`、必须 6 位 hex**:`col