title: WPS 私有化功能清单 date: 2026-08-27 tags:
- WPS
- 私有化
- Ribbon
- 功能清单 status: active
WPS 私有化功能清单
1. 能力边界速览
| 档位 | 范围 |
|---|---|
| 已实现 | 九类Ribbon分组入口;页面业务中的AiPPT智能生成、模板库、单页、图片、图标、插图、我的上传、私有化后台;PPT基础操作;统一字体、统一颜色、一键Logo、环形布局、阵列布局、智能缩放、重设主题色;导出中的图片型PDF、逐页图片、新PPTX、图片集PPTX、PPT拼图;工具箱本地卡片 |
| 有代码 | 图形连接线、显示/隐藏Shape:Handler存在但没有入口;智能透视、渐变蒙版、形状圆角、PPT压缩:只有前端页面,WPS没有对应Handler |
| 条件支持 | 边缘裁切、Shape布尔运算、视频导出:依赖目标WPS版本 |
| 未实现 | 会员中心;designTools的8个命令由wps-dispatcher.ts返回notSupported |
页面存在不代表WPS支持。有页面但没有Handler的功能见 8. 有页面但WPS未实现,平台版本依赖见 10. 平台依赖。
2. Ribbon直接入口
配置:
packages/aippt-plugin-wps-com/public/ribbon.xml
packages/aippt-plugin-wps-com/src/config/ribbon.local.json当前按钮:
| 分组 | 功能 | 打开方式 |
|---|---|---|
| AI | AiPPT | WebDialog,在线页面 |
| 模板 | 模板、单页 | WebDialog,在线页面 |
| 素材 | 图片、图标、插图 | WebDialog,在线页面 |
| 设计 | 统一字体、统一颜色、一键Logo | WebDialog,离线页面 |
| 布局 | 环形布局、阵列布局、智能缩放 | WebDialog,离线页面 |
| 快捷操作 | 边缘裁切、原位复制、重设主题色 | 直接Handler或WebDialog |
| 导出 | 导出、PPT拼图 | WebDialog,离线页面 |
| 扩展 | 工具箱 | TaskPane |
| 账户 | 关于、我的上传 | WebDialog |
账号头像和名称由menu_account显示,不是独立业务按钮。
3. 页面业务
| 业务 | 状态 | 说明 |
|---|---|---|
| AiPPT智能生成 | 已实现 | 固定用户Token,生成后打开PPT或插入Slide |
| 模板库 | 已实现 | 打开完整PPT |
| 单页 | 已实现 | 插入当前PPT |
| 图片 | 已实现 | 新增或替换 |
| 图标 | 已实现 | 新增或替换Shape |
| 插图 | 已实现 | 新增或替换Shape组 |
| 我的上传 | 已实现 | 上传当前PPT、Slide或Shape |
| 私有化后台 | 已实现 | 独立admin-private页面 |
| 会员中心 | 未实现 | 私有化固定用户不走公网会员体系 |
4. PPT基础操作
| 功能 | 状态 |
|---|---|
| 获取当前Slide和选区 | 已实现 |
| 插入、删除、移动和缩放Shape | 已实现 |
| 旋转和翻转 | 已实现 |
| 成组和取消成组 | 已实现 |
| 原位复制 | 已实现 |
| 对齐和分布 | 已实现,工具箱入口 |
| 文本对齐 | 已实现,工具箱入口 |
| 图层顺序 | 已实现,工具箱入口 |
| AutoSize和自动换行 | 已实现,工具箱入口 |
| 显示/隐藏Shape | Handler存在,当前入口未展示 |
5. 设计和布局
| 功能 | 状态 | 入口 |
|---|---|---|
| 统一字体 | 已实现 | Ribbon |
| 统一颜色 | 已实现 | Ribbon |
| 一键Logo | 已实现 | Ribbon |
| 环形布局 | 已实现 | Ribbon |
| 阵列布局 | 已实现 | Ribbon |
| 智能缩放 | 已实现 | Ribbon |
| 重设主题色 | 已实现 | Ribbon |
| 图形连接线 | Handler存在 | 顶层Ribbon未展示 |
| 边缘裁切 | 条件支持 | Ribbon |
| Shape布尔运算 | 条件支持 | 工具箱 |
边缘裁切:
ShapeRange.MergeShapes
→ 失败后CommandBars.ExecuteMso("ShapesIntersect")
→ 两条路径都失败则返回不支持6. 导出
| 功能 | 状态 | 说明 |
|---|---|---|
| 图片型PDF | 已实现 | JPEG写入PDF 1.4,不支持文字选择和密码 |
| 逐页图片 | 已实现 | 输出到PPT同名目录 |
| 新PPTX | 已实现 | 复制选中Slide |
| 图片集PPTX | 已实现 | AddPicture铺满页面 |
| 视频 | 条件支持 | 依赖WPS CreateVideo |
| PPT拼图 | 已实现 | Canvas合成和水印 |
| PPT压缩 | 未实现 | dispatcher没有CompressPresentation Handler |
7. 工具箱
私有化WPS使用固定本地卡片:
bag-zone/components/Layout/DefaultData.ts
→ defaultCardDataWPS允许的方法:
designTools.align
designTools.distribute
designTools.textAlign
designTools.mergeShapes
designTools.zOrder
designTools.shapeAutoSize
ShapeConnector.AddShapeConnector
designTools.group
designTools.ungroup
application.commandBars.ExecuteMso
designTools.rotate
designTools.flip排除的命令:
FontDialog
ParagraphDialog
ObjectFormatDialog
SelectionPane私有化工具箱没有公网macOS/Windows版本的自定义方案、卡片编辑和在线收藏。
8. 有页面但WPS未实现
以下功能有前端页面和TypeScript调用,但WPS没有对应Handler:
| 功能 | 前端模块 |
|---|---|
| 智能透视 | Shape3DTransform.ts |
| 渐变蒙版 | ShapeGradientMask.ts |
| 形状圆角 | ShapeCornersRounded.ts |
| PPT压缩 | CompressPresentation.ts |
9. 明确未支持
designTools.convertToFreeForm
designTools.combineShapes
designTools.splitShapes
designTools.convertTextToVector
designTools.releaseCompoundPath
designTools.position
designTools.dockShape
DesignTools.MoveShapeToLayout调用时由wps-dispatcher.ts返回notSupported错误。
10. 平台依赖
以下能力要在目标WPS版本上实测:
CreateTaskPane和GetTaskPane的方法名;CreateWebDialog返回值;MergeShapes;ExecuteMso;CreateVideo;Slides.InsertFromFile;FileSystem.writeAsBinaryString;PluginStorage。
Linux WPS和Windows WPS不能只按产品名称判断能力,必须记录具体版本。
11. 功能入口检查
新增功能时同时检查:
ribbon.xml
ribbon.local.json
allowedVisibleRibbonIds
页面HTML是否打包
impl/wps.ts或wps-dispatcher Handler
目标WPS JS API相关文档: