Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources. Confidence: high Scope-risk: narrow Directive: Keep private/internal skills out of the public marketplace and preserve normal incremental market Git history. Tested: Marketplace validation passed.
35 lines
2.4 KiB
Markdown
35 lines
2.4 KiB
Markdown
---
|
|
name: pptx
|
|
description: 创建、读取、编辑和检查 PowerPoint 演示文稿或模板(.pptx/.potx),保留模板与可编辑图表,适配简体中文字体和 Windows PowerShell。
|
|
license: Proprietary. LICENSE.txt has complete terms
|
|
---
|
|
|
|
# PowerPoint 演示文稿
|
|
|
|
先读取 [references/platform.md](references/platform.md),确认字体、Node/Python 与需要的转换工具。先看用户模板或参考稿,再决定布局、配色与内容密度。
|
|
|
|
| 任务 | 选择 |
|
|
| --- | --- |
|
|
| 新建幻灯片 | `pptxgenjs`;简单任务也可使用 `python-pptx` |
|
|
| 提取文本 | `python-pptx` 或 markitdown;检查备注与隐藏页 |
|
|
| 复杂模板、母版或原生图表编辑 | OOXML 加随附脚本 |
|
|
| .ppt 旧格式 | LibreOffice 先转 .pptx |
|
|
|
|
## 中文与画布
|
|
|
|
新建稿未指定比例时用 16:9,设置画布后再添加元素。用户模板比例和主题优先。使用本机可用的微软雅黑、等线或思源黑体,同时设置主题字体与正文文本字体;简体中文语言标记使用 `zh-CN`。长中文标题主动换行,表格与数据标签保留足够空间,不能只缩小字号隐藏溢出。
|
|
|
|
`pptxgenjs` 颜色使用六位 HEX,不带 `#`;每次添加元素使用独立选项对象。文本框 margin 与字体测量要一致;原生图表、表格和文本保持可编辑。坐标单位为英寸,必须落在实际画布内。库限制、组合图表和模板 OOXML 细节按需读取 [upstream-guide.md](upstream-guide.md)。
|
|
|
|
## 模板编辑
|
|
|
|
先完成复制、删除或重排幻灯片,再改正文。使用 `scripts/add_slide.py` 注册复制页,最终页序确定后运行 `scripts/clean.py` 清理失去引用的部分。不要只复制 slide XML;关系、媒体、母版和内容类型必须一起处理。用 `scripts/office_package.py` 解包和重打包,避免依赖 Bash ZIP 命令。
|
|
|
|
```powershell
|
|
python "$skill\scripts\office\validate.py" ".\输出.pptx" --original ".\模板.pptx"
|
|
python "$skill\scripts\office\soffice.py" --headless --convert-to pdf --outdir ".\preview" ".\输出.pptx"
|
|
python "$skill\scripts\render_pdf.py" ".\preview\输出.pdf" ".\preview\pages"
|
|
```
|
|
|
|
没有模板时省略 `--original`。每页检查文字溢出、缺字、对齐、遮挡、图表标签、图片分辨率和页序。需要模板缩略图且 Poppler 可用时运行 `scripts/thumbnail.py` 并指定独立输出前缀;否则用上面的免 Poppler 逐页预览。
|