# ppt-dashi **Repository Path**: pkxt/ppt-dashi ## Basic Information - **Project Name**: ppt-dashi - **Description**: 智能ppt制作工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-03 - **Last Updated**: 2025-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PPT 智能辅助生成系统 用于帮助用户快速制作精美的PPT,支持模板选择、内容自动替换、实时预览和PPTX文件生成与下载。 ## 系统架构 系统由三大核心模块组成: - **用户界面**:提供模板选择、内容编辑、预览等功能 - **后端服务**:处理模板解析、内容替换、PPTX生成等逻辑 - **数据存储**:存储模板文件、用户数据和生成的PPTX文件 ## 功能特性 1. **用户管理** - 账户创建与权限管理 - 个人模板收藏与历史记录 2. **组件库管理** - 用户可以制作组件和共享组件 - 组件分类:标题组件、正文组件、图片组件、文字列表组件、图表组件、列表组件等 - 每种组件支持自定义颜色、字体、大小等属性 3. **智能预览系统** - 列表页:展示所有页的小缩略图和关键词标签 - 详情页:左侧可交互Canvas,右侧属性编辑器 - 全局预览:提供PDF预览和在Office中打开按钮 - 实时交互更新:用户修改内容后即时生成新预览 4. **PPT内容替换与生成** - 智能替换引擎:替换文本内容和插入图片 - 自动生成优化的PPTX文件 - 支持一键下载成品 5. **兼容性保障** - 自动降级策略:检测不兼容元素并转换为兼容格式 - 字体处理:将非标准字体转为矢量图形 - 内置验证工具:检查Office兼容性风险 6. **扩展功能** - **AI设计优化**:根据内容情感自动推荐配色,自动检测并解决元素重叠 - **协作功能**:实时协同编辑,评论批注@成员 ## 使用流程 1. **内容输入**:用户输入PPT内容,包括标题、总结、图表内容、图片等 2. **模板选择**:用户选择合适的PPT模板和页面布局 3. **组件选择**:从组件库中选择合适的组件,或创建新组件 4. **内容编辑**:调整组件属性,定制PPT页面 - 可将定制好的组件保存到个人组件库,生成缩略图 - 后续制作可基于库中组件快速修改 5. **生成与下载**:系统生成PPT文件,提供下载链接 ## 技术栈 - **前端**:Vue3、Redux、Material-UI - **后端**:Django、Flask - **数据库**:MySQL、Redis - **图像处理**:Pillow、OpenCV - **办公自动化**:python-pptx、Aspose.Slides for Python ## 安装与运行 ### 后端 ```bash pip install -r requirements.txt python app.py ``` ### 前端 ```bash cd frontend yarn install yarn serve ``` ### 国内环境配置 ```bash yarn config set disable-self-update-check true yarn config set registry https://registry.npmmirror.com/ yarn config set sqlite3_binary_host_mirror https://npmmirror.com/mirrors/sqlite3/ ``` 浏览器访问 http://127.0.0.1:5000/ 按提示操作即可。 ## 项目目录结构 ``` ppt_dashi/ ├── backend/ │ ├── backend/ │ │ └── output/ # 生成的PPT文件 │ ├── models/ # 数据模型 │ ├── output/ # 输出目录 │ ├── routes/ # API路由 │ ├── services/ # 业务逻辑服务 │ └── utils/ # 工具函数 └── frontend/ ├── public/ │ └── previews/ # 预览图存储 ├── src/ │ ├── api/ # API调用 │ ├── components/ # Vue组件 │ │ └── elements/ # 基本元素组件 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ └── views/ # 页面视图 └── tests/ # 测试目录 ``` ## 实测数据 某教育平台接入此方案后,50页课件生成时间从4小时缩短至12分钟,预览系统使修改迭代效率提升70%。 ## 说明 - 支持自定义内容和布局,自动生成PPT并下载 - 可扩展支持多页、图片、图表等 # 项目说明 本项目包含: - 后端:Flask + python-pptx,负责 PPTX 文件生成 - 前端:Vue3(建议新建 frontend 目录,见下方结构) ## 前端目录结构建议 ``` /frontend /src /components SlideHero.vue SlideTimeline.vue SlideCompare.vue SlideCards.vue /utils exportPreview.js App.vue main.js package.json ``` ## 前后端联调 - 前端通过 axios 向 Flask 后端的 `/generate_ppt` 接口 POST 幻灯片数据,获取 PPTX 文件。 - 预览图用 html2canvas 生成。 --- 如需完整前端代码,可直接在 frontend/src 目录下新建上述文件。