简体中文 | English
PowerPoint-ist(/'pauəpɔintist/),一个基于 Web 的在线演示文稿(幻灯片)应用,还原了大部分 Office PowerPoint 常用功能,支持 文字、图片、形状、线条、图表、表格、视频、音频、公式 几种最常用的元素类型,可以在 Web 浏览器中编辑/演示幻灯片。
在线体验地址👉:https://pipipi-pikachu.github.io/PPTist/
npm install
npm run dev
浏览器访问:http://127.0.0.1:5173/
注意:如果你将本项目部署在自己的服务器上,发现无法初始化成功,那是因为初始化的数据是放在作者私人对象存储中的,不对外开放,你需要把数据转移到自己的服务器/对象存储服务/数据库/前端本地
打包成 nginx 静态镜像。镜像不含任何环境相关的值和密钥,所有配置在容器启动时注入,因此同一份镜像可以跑在任何环境,改配置不需要重新构建。
docker build --platform linux/arm64 -t pptist:2.0.0 .
--platform 决定目标机器架构,先用 uname -m 确认:aarch64 → linux/arm64,x86_64 → linux/amd64。架构不匹配的话,对方 docker load 之后只会得到一句 exec format error。
docker run -d --name pptist -p 8080:80 \
-e SPEAKING_API_HOST=https://your-api-host \
-e AZURE_SPEECH_KEY=xxxxxxxx \
-e AZURE_SPEECH_REGION=eastasia \
-e TZ=Asia/Shanghai \
pptist:2.0.0
| 变量 | 必填 | 说明 |
|---|---|---|
SPEAKING_API_HOST |
✅ | 后端 API 地址。必须是浏览器能访问到的地址(公网域名或 http://服务器IP:8000),不能填容器名。不传会回落到代码内置的默认域名 |
AZURE_SPEECH_KEY |
✅ | Azure Speech 密钥,前端 TTS 朗读用。不传则朗读功能直接报错 |
AZURE_SPEECH_REGION |
✅ | Azure 区域,如 eastasia |
TZ |
时区。不传则容器为 UTC,只影响 nginx 日志时间 |
⚠️
AZURE_SPEECH_KEY会写进浏览器可读的/config.js,任何人都能取走。这是既有设计(前端直连 Azure)遗留的问题;改成运行时注入只解决了灵活性,没有解决这一点。
curl http://localhost:8080/config.js
三个值都应该非空。为空说明对应的环境变量没传进去,输出里自带说明文字。
用新的 -e 参数重跑容器即可,不需要重新构建镜像:
docker rm -f pptist
docker run -d --name pptist -p 8080:80 -e SPEAKING_API_HOST=... pptist:2.0.0
原理:nginx 启动时用 envsubst 把 config.js.template 渲染成 /config.js,页面在 app bundle 之前同步加载它。代码的读取优先级是 window.__APP_CONFIG__ > import.meta.env.VITE_* > 硬编码兜底,所以本地 npm run dev 和原有的构建部署方式行为完全不变。
AI生成PPT
页面添加、删除
页面顺序调整
页面复制粘贴
幻灯片分节
背景设置(纯色、渐变、图片)
设置画布尺寸
网格线
标尺
画布缩放、移动
主题设置
提取已有幻灯片风格
演讲者备注(富文本)
幻灯片模板
翻页动画
元素动画(入场、退场、强调)
选择面板(隐藏元素、层级排序、元素命名)
页面和节点类型标注(可用于模板相关功能)
查找/替换
批注
元素添加、删除
元素复制粘贴
元素拖拽移动
元素旋转
元素缩放
元素多选(框选、点选)
多元素组合
多元素批量编辑
元素锁定
元素吸附对齐(移动和缩放)
元素层级调整
元素对齐到画布
元素对齐到其他元素
多元素均匀分布
拖拽添加图文
粘贴外部图片
元素坐标、尺寸和旋转角度设置
元素超链接(链接到网页、链接到其他幻灯片页面)
富文本编辑(颜色、高亮、字体、字号、加粗、斜体、下划线、删除线、角标、行内代码、引用、超链接、对齐方式、序号、项目符号、段落缩进、清除格式)
行高
字间距
段间距
首行缩进
填充色
边框
阴影
透明度
竖向文本
AI改写/扩写/缩写
裁剪(自定义、按形状、按纵横比)
圆角
滤镜
着色(蒙版)
翻转
边框
阴影
替换图片
重置图片
设置为背景图
绘制任意多边形
绘制任意线条(未封闭形状模拟)
替换形状
填充(纯色、渐变、图片)
边框
阴影
透明度
翻转
形状格式刷
编辑文字(支持富文本,与文字元素的富文本编辑功能近似)
直线、基础折线/曲线
颜色
宽度
样式(实线、虚线、点线)
端点样式
图表类型转换
数据编辑
背景填充
主题色
坐标轴/坐标文字颜色
网格颜色
堆积模式、平滑曲线等
行、列添加删除
主题设置(主题色、表头、汇总行、第一列、最后一列)
合并单元格
单元格样式(填充色、文字颜色、加粗、斜体、下划线、删除线、对齐方式)
边框
预览封面设置
自动播放
图标颜色
自动播放
循环播放
LaTeX编辑
颜色设置
公式线条粗细设置
画笔工具(画笔/形状/箭头/荧光笔标注、橡皮擦除、黑板模式)
全部幻灯片预览
触底显示缩略图导航
计时器工具
激光笔
自动放映
演讲者视图
基础编辑
基础预览
播放预览
目前没有完整的开发文档,但下面这些文档可能会对你有一些帮助:
下面是一些辅助开发的工具/仓库:
AGPL-3.0 License | Copyright © 2020-PRESENT pipipi-pikachu
important contribution标签);协议的核心要求用通俗的语言解释如下:
详细协议内容见官方文档:AGPL-3.0 协议