简体中文 | English
PowerPoint-ist(/'pauəpɔintist/), A web-based presentation (slideshow) application. This application replicates most of the commonly used features of Microsoft Office PowerPoint. It supports various essential element types such as text, images, shapes, lines, charts, tables, videos, audio, and formulas. You can edit and present slides directly in a web browser.
Try it online👉:https://pipipi-pikachu.github.io/PPTist/
- Easy Development: Built with Vue 3.x and TypeScript, it does not rely on UI component libraries and avoids third-party components as much as possible. This makes styling customization easier and functionality extension more convenient.
- User Friendly: It offers a context menu available everywhere, dozens of keyboard shortcuts, and countless editing detail optimizations, striving to replicate a desktop application-level experience.
- Feature Rich: Supports most of the commonly used elements and functionalities found in PowerPoint, supports generate PPT by AI, supports exporting in various formats, and offers basic editing and previewing on mobile devices.
npm install
npm run dev
- History (undo, redo)
- Shortcuts
- Right-click menu
- Export local files (PPTX, JSON, images, PDF)
- Import and export pptist files
- AI PPT
- Add/delete pages
- Copy/paste pages
- Adjust page order
- Create sections
- Background settings (solid color, gradient, image)
- Set canvas size
- Gridlines
- Rulers
- Canvas zoom and move
- Theme settings
- Extract slides style
- Speaker notes (rich text)
- Slide templates
- Transition animations
- Element animations (entrance, exit, emphasis)
- Selection panel (hide elements, layer sorting, element naming)
- Labels for Page and Node Types (usable for template-related features)
- Find/replace
- Annotations
- Add/delete elements
- Copy/paste elements
- Drag and move elements
- Rotate elements
- Scale elements
- Multiple element selection (marquee, point selection)
- Group multiple elements
- Batch edit multiple elements
- Lock elements
- Magnetic alignment of elements (move and scale)
- Adjust element layer
- Align elements to canvas
- Align elements to other elements
- Evenly distribute multiple elements
- Drag to add text and images
- Paste external images
- Set element coordinates, size, and rotation
- Element hyperlinks (link to webpage, link to other slide pages)
- Rich text editing (color, highlight, font, font size, bold, italic, underline, strikethrough, subscript, inline code, quote, hyperlink, alignment, numbering, bullet points, paragraph indent, clear formatting)
- Line height
- Character spacing
- Paragraph spacing
- First line indent
- Fill color
- Border
- Shadow
- Transparency
- Vertical text
- Crop (custom, shape, aspect ratio)
- Rounding
- Filters
- Tint (mask)
- Flip
- Border
- Shadow
- Replace image
- Reset image
- Set as background
- Draw any polygon
- Draw any line (unclosed shape simulation)
- Replace shape
- Fill color
- Border
- Shadow
- Transparency
- Flip
- Shape format painter
- Edit text (supports rich text, similar to text element’s rich text editing)
- Straight lines, polylines, curves
- Color
- Width
- Style (solid, dashed, dotted)
- Endpoint style
- Chart type conversion
- Data editing
- Background fill
- Theme color
- Coordinate system and axis text color
- Other chart settings
- Border
- Add/delete rows and columns
- Theme settings (theme color, header, total row, first column, last column)
- Merge cells
- Cell styles (fill color, text color, bold, italic, underline, strikethrough, alignment)
- Border
- Preview cover settings
- Auto play
- Icon color
- Auto play
- Loop play
- LaTeX editing
- Color settings
- Formula line thickness settings
- Preview all slides
- Pen and blackboard tools
- Timer tool
- Laser pointer
- Auto play
- Speaker view
- Basic editing
- Add/delete/copy/note/undo redo pages
- Insert text, images, rectangles, circles
- General element operations: move, scale, rotate, copy, delete, layer adjust, align
- Element styles: text (bold, italic, underline, strikethrough, font size, color, alignment), fill color
- Basic preview
- Play preview
Some common problems: FAQ
There is currently no complete development documentation, but the following documents may be of some help to you:
- Project Directory and Data Structure
- Fundamentals of Canvas and Elements
- How to Customize an Element
Here are some auxiliary development tools/repositories:
- Import PPTX file reference: pptxtojson
- Draw shape: svgPathCreator
AGPL-3.0 License | Copyright © 2020-PRESENT pipipi-pikachu
If you wish to use this project for commercial gain, I hope you will respect open source and strictly adhere to the AGPL-3.0 license, giving back to the open source community.
- 本项目禁止闭源商用,如果你希望将PPTist用于商业项目盈利,请尊重开源,严格遵循 AGPL-3.0 协议,回馈开源社区;
- 如果你因为任何原因,必须要闭源商用,无法执行 AGPL-3.0 协议,可以选择:
- 使用早期的Apache 2.0 协议版本;
- 成为项目的重要贡献者(先违反协议后再成为贡献者不在此项范围),包括:
- 你的代码被本项目作为依赖引用;
- 你给本项目提交过重要的 PR 并且被合并;
- 你长期参与到本项目的维护工作中;
- 邮件联系作者付费获取独立的商业授权。(注:仅授权,不存在额外商业化版本和技术支持)
协议的核心要求用通俗的语言解释如下:
- 开源义务:如果你用了 AGPL 的代码,无论你或你的下游怎么改,都必须把修改后的代码公开出来,继续以 AGPL 协议开源,保持传染性。
- 网络服务也要开源:如果你用 AGPL 的代码做了一个网站或网络服务,别人通过网络用你的服务时,你也得把源代码公开。
- 保留版权声明:你不能删掉代码里原来的作者信息和许可证声明,得告诉大家这代码是从哪儿来的。
- 不能加额外限制:你不能在 AGPL 代码上加一些限制,比如不让别人再分发,或者要求别人付费才能用。
- 免责声明:作者不保证代码没有 bug,也不对使用后果负责。
详细协议内容见官方文档:AGPL-3.0 协议