耗资100小时,我开源了一款PPT在线编辑器

大家好, 我是徐小夕. 之前一直在社区分享零代码 &低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:

  • H5-Dooring(页面可视化搭建平台)
  • Flowmix/Docx 多模态文档编辑器
  • 灵语AI文档

最近在研发和设计AI办公软件时,为了真正的开源热爱,我花费100个小时,写了一款在线可视化的PPT编辑器,目前已经开源,大家感兴趣可以参考学习一下。

演示demo

github地址:github.com/MrXujiang/p...

目前开源协议友好,协议为:Apache-2.0 license。

我们可以基于它进行二次扩展开发,实现自己企业级在线PPT编辑器。接下来我就和大家分享一下PPTX

技术栈介绍

为了顺便学习研究一下最新的技术,我采用了如下核心技术栈:

  • Nextjs
  • @radix-ui
  • tailwindcss
  • html2canvas
  • recharts
  • 自研PPT结构转换算法

功能模块

  • 多组件支持(图文,形状,表格,可视化图表等)
  • 自定义画布
  • 动态可配置属性面板
  • PPT演示功能
  • 组件可视化拖拽
  • PPT导出功能

详细功能和技术介绍

以下是我设计的PPT的数据结构:

每一个组件元素都设计成了结构化的JSON,方便数据驱动的PPT渲染。

实时可预览的画布

我们可以创建画布,并在顶部菜单中选中对应的组件插入到画布,左侧画布列表会实时展示画布的更新情况(实时缩略图):

多样的画布背景设置

我们可以对每一张PPT画布设置不同的背景样式,比如背景色,渐变色,背景图片,甚至能自定义编写css代码来设置背景:

设置背景图片:

开箱即用的PPT组件

我们可以在PPT中插入文本,图片,图表,表格,图标,形状等元素,来满足我们PPT设计的各种需求。插入图表的效果:

目前图表支持六种,柱状图,折线图,饼图,面积图,散点图,雷达图,当然后续还会继续扩展。同时图表还支持各种高级配置,比如图表配色方案,图表动画等:

插入自定义表格的效果:

我们可以在配置面板编辑表格数据,并设置更多表格的自定义样式。插入形状:

目前支持各种复杂形状,并支持各种形状的样式配置。插入自定义图标:

同时所有的组件都支持旋转,层级调整等,满足各种样式设计需求。

PPT实时预览演示功能

点击演示按钮,我们可以一键演示PPT,并轻松切换PPT页面。

PPT导出功能

上面是我实现的导出PPT的效果,在WPS可以直接预览。导出PPT功能需要设计PPT底层数据结构相关的技术,比如需要将数据转化为XML,实现过程相对复杂,这里就不一一介绍了,如果大家有好的方案,也可以在留言区交流反馈。

PPT属性配置面板

开源不易,大家记得点赞 关注 + 收藏哈~

当然还有很多功能期待大家一起共建,大家有好的想法和建议可以在评论区留言反馈~

相关推荐
崔庆才丨静觅4 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60615 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了5 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅5 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅5 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅6 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment6 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅6 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊6 小时前
jwt介绍
前端
爱敲代码的小鱼6 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax