diff --git a/README.md b/README.md index f613345b..148ec051 100644 --- a/README.md +++ b/README.md @@ -168,9 +168,10 @@ Some common problems: [FAQ](/doc/Q&A.md) # 🎯 Supplement There is currently no complete development documentation, but the following documents may be of some help to you: -- [Project Directory and Data Structure](https://github.com/pipipi-pikachu/PPTist/blob/master/doc/DirectoryAndData.md) -- [Fundamentals of Canvas and Elements](https://github.com/pipipi-pikachu/PPTist/blob/master/doc/Canvas.md) -- [How to Customize an Element](https://github.com/pipipi-pikachu/PPTist/blob/master/doc/CustomElement.md) +- [Project Directory and Data Structure](/doc/DirectoryAndData.md) +- [Fundamentals of Canvas and Elements](/doc/Canvas.md) +- [How to Customize an Element](/doc/CustomElement.md) +- [About AIPPT](/doc/AIPPT.md) Here are some auxiliary development tools/repositories: - Import PPTX file reference: [pptxtojson](https://github.com/pipipi-pikachu/pptxtojson) diff --git a/README_zh.md b/README_zh.md index 64d0270d..ca8662aa 100644 --- a/README_zh.md +++ b/README_zh.md @@ -162,6 +162,7 @@ npm run dev - [项目目录与数据结构](/doc/DirectoryAndData.md) - [画布与元素的基本原理](/doc/Canvas.md) - [如何自定义一个元素](/doc/CustomElement.md) +- [关于AIPPT](/doc/AIPPT.md) 下面是一些辅助开发的工具/仓库: - 导入PPTX文件参考:[pptxtojson](https://github.com/pipipi-pikachu/pptxtojson) diff --git a/doc/AIPPT.md b/doc/AIPPT.md new file mode 100644 index 00000000..64fe2a99 --- /dev/null +++ b/doc/AIPPT.md @@ -0,0 +1,55 @@ +## AIPPT的基本原理 +1. 定义PPT结构(一套PPT中都有什么类型的页面,每种页面都有些什么内容) +2. 基于以上结构,定义数据格式,该数据将用于AI生成结构化的PPT数据,具体结构见 + - 示例数据:`public/mocks/AIPPT.json` + - 结构定义:`src/types/AIPPT.ts` +3. 制作模板,模板中标记好结构类型 +4. AI生成符合第1步定义的PPT结构的数据 +5. 利用AI或其他方案,生成相关的配图 +6. 将AI生成的数据、配图与模板进行匹配结合,生成最终的PPT + +## AIPPT模板制作流程 +1. 打开PPTist; +2. 制作模板页面; +3. 打开左上角菜单[幻灯片类型标注]功能; +4. 为制作好的页面标注页面类型和节点类型; +5. 使用导出功能导出为JSON文件。 + +> 注意:实际上并不存在专门提供给AIPPT的模板。所谓的AIPPT模板只是把在PPTist中制作的普通页面标注上类型标记而已。这些数据不仅仅用于AI生成PPT,也可以作为普通的页面模板使用。 + +## 模板标记类型:页面标记和节点标记 +#### 封面页 +* 标题 +* 正文 +* 图片(背景图、页面插图) +#### 目录页 +* 目录标题(标记类型为:列表项目) +* 图片(背景图、页面插图) +#### 过渡页(章节过渡) +* 标题 +* 正文 +* 节编号 +* 图片(背景图、页面插图) +#### 内容页 +* 标题 +* 2~4个内容项,包括: +* 内容项标题(标记类型为:列表项标题) + * 内容项正文(标记类型为:列表项目) + * 内容项编号(标记类型为:项目编号) +* 图片(背景图、页面插图、项目插图) +#### 结束页(致谢页) +* 图片(背景图、页面插图) + +> 节点标记分为两种 - 文本标记和图片标记: +> - 文本标记可作用于文本节点和带文字的形状节点; +> - 图片标记只作用于图片节点。 + +## AIPPT模板制作原则 +一个用于AIPPT的模板至少包括以下页面(共11页): +* 1个封面页 +* 5个目录页(2~6个目录项各1个) +* 1个过渡页 +* 3个内容页(2~4个内容项各1个) +* 1个结束页 + +> 但要注意,以上仅仅是满足最基本的要求,如果希望AI生成的PPT具有一定的随机性,需要适当增加每种页面的数量(举个例子,假设模板中存在3个封面页,生成时会从3个中随机选择1个使用)。 \ No newline at end of file diff --git a/doc/Canvas.md b/doc/Canvas.md index 1cef00c7..26a64b71 100644 --- a/doc/Canvas.md +++ b/doc/Canvas.md @@ -3,11 +3,11 @@ #### 编辑器的基本结构 ``` └──编辑器 - ├── 顶部菜单里 + ├── 顶部菜单栏 ├── 左侧导航栏 ├── 右侧导航栏 ├── 中上部插入/工具栏 - ├── 底部输入栏 + ├── 底部演讲者备注 └── 画布 ├── 可视区域 │ ├── 可编辑元素