Skills Plugins MCP Prompt Model 博客 我的中心

pptgen-drawio

根据论文或汇报内容生成多页 Draw.io 格式 PPT,支持论文答辩与通用汇报两种模式,自动导出为 .pptx。当用户提到论文答辩 PPT、答辩幻灯片、通用 PPT、汇报 PPT、根据模板生成 PPT、drawio2pptx 时使用。

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=xstongxue-best-skills-skills-pptgen-drawio-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name pptgen-drawio description 根据论文或汇报内容生成多页 Draw.io 格式 PPT,支持论文答辩与通用汇报两种模式,自动导出为 .pptx。当用户提到论文答辩 PPT、答辩幻灯片、通用 PPT、汇报 PPT、根据模板生成 PPT、drawio2pptx 时使用。 PPT 多页 Draw.io 生成(论文答辩 + 通用汇报) 本 skill 支持两种模式, 共用 ppt_template/ 、 scripts/ 、 reference/ 目录,以及 Step 0 自定义模板 、 Step 1 确定内容与风格 、 Step 3 & 4 输出与导出 全流程。 模式识别 模式 使用时机 内容来源 默认页序 输出文件 论文答辩 学位论文答辩、开题、预答辩 paper-write 结构化提取 封面→目录→背景→现状→方法→创新点→实验→结论→致谢→Q&A paper-defense.drawio 通用汇报 工作汇报、产品介绍、演讲 用户消息提取/生成 封面→目录→节标题→内容页→总结→致谢→Q&A general-presentation.drawio Step 0:用户自定义模板(可选,两种模式共用) 若用户提供了自己的 .pptx 模板文件: 模板放置 :将 .pptx 放入 ppt_template/ 目录 运行样式提取 :在 skill 根目录下执行: python scripts/analyze_pptx.py ppt_template/xxx.pptx reference/style-custom.md 读取 reference/style-custom.md 作为「自定义风格」继续 目录约定 : ppt_template/ 存放模板、 scripts/analyze_pptx.py 样式提取、 reference/ 风格文件 Step 1:确定内容与风格(两种模式共用) 1.1 确定内容 论文答辩 :若用户只有论文全文:先调用 paper-write 的「结构化信息提取」;若已提供结构化信息:从消息中提取【论文题目】【学科方向】【答辩时长】【论文结构/目录】【各章核心内容】【创新点/贡献】等,缺失则追问 通用汇报 :从用户消息中提取幻灯片大纲及内容,或根据核心需求扩展为完整结构 1.2 选择风格 两种模式均可选择以下风格之一, 读取对应 reference 文件 获取配色、字体、版式规则与 XML 样式片段: # 风格 主色 强调色 有无顶栏装饰 reference 文件 1 经典学术 / 商务严谨 #1B2A4A #C9A84C 有:顶栏 150px + 金线 8px reference/style1-classic-academic.md 2 现代极简 / 大字报感 #231F20 #F5C638 无 ,靠留白和字号差 reference/style2-minimal-bigtype.md 3 暖色学术 / 亲和力 #2C5160 #B7472A 有,同风格一结构 reference/style3-warm-academic.md 4 科技明快 / 现代前沿 #0170C1 同主色 有 reference/style4-tech-modern.md 5 自定义 从 style-custom.md 提取 看模板 reference/style-custom.md 论文答辩 :用户未指定时默认风格 1 通用汇报 :用户选择或根据语境自动推荐 风格 1 / 3 / 4 是同一套版式换配色(顶栏 + 细线 + 页脚), 只有风格 2 是真正不同的版式 。用户想要「看起来不一样」时推风格 2;传统工科院校答辩推风格 1 Step 2:生成多页 Draw.io XML 必须先读取所选风格的 reference 文件 ,基于该风格生成 XML。 画布:16:9(pageWidth=1920,pageHeight=1080) 页序:按模式识别表中的默认页序 页数: 由 Step 1.1 拿到的答辩时长决定 ,见下面 2.1 2.1 论文答辩模式页序(按时长换算) 页数由三部分相加: 封面 · 目录 · 已有成果 · 致谢/Q&A → 4 页,任何时长都有 每章一个节标题过渡页 → 章数 × 1 页 各章内容页 → 按下表分配 按时长选一列 ,表里的数字是「各章内容页数」: 章节 10 分钟 15 分钟 20 分钟 01 研究背景与意义 1 2 3 02 国内外研究现状 1 1 2 03 方法(含创新点) 2 3 3 04 实验结果 1 2 2 05 系统设计与实现 1 1 2 06 总结与展望 1 1 1 内容页小计 7 10 13 总页数 (+4 固定 +6 节标题) 17 20 23 时长不在表里就按 每页 45 秒 估:总页数 ≈ 时长(分) × 60 ÷ 45,再按上表比例分配到各章。 方法章占比是硬要求 :方法 + 实验合起来不少于内容页的 40%。这是答辩评委真正听的部分,背景和现状讲长了会被打断。 用户点名要几页就按用户的 ,上表只在用户没说页数时用。 原先固定 23 页的写法已废弃——那个数来自 style1 的源文件 答辩PPT.pptx ,是一份 20 分钟以上答辩的真实页数,不适用于 10–15 分钟。 各 reference/styleX-*.md 只定义 样式与版式 (颜色、字体、组件布局),不定义页序和页数。 2.2 文件命名与交付(建议,Windows 兼容) 推荐命名(生成/导出阶段) :优先使用 ASCII 文件名(英文字母/数字/中划线),减少 PowerShell/编码环境下中文文件名乱码、命令找不到文件等问题。 推荐: defense-style4-tech.drawio 、 defense-style4-tech.pptx 如必须中文名:建议先用 ASCII 名完成导出,再在资源管理器里重命名为中文 交付顺序(推荐流程) :先提供 .drawio (源文件)→ 执行命令导出 .pptx (交付文件)→ 校验页数 交付依赖 :接收方只需打开 .pptx (必要时附 .drawio ),不需要安装 Python;脚本/代码仅用于生成端自动写 XML(可选)。 ⚠️ 已知坑清单(生成前逐条过) ✅ 必过 checklist(7 条) 多页结构 :根节点必须是 <mxfile> ,且每页一个 <diagram> (否则导出会变 1 页)。 每页坐标系 :每个 <diagram> 内 x 从 0 开始;背景矩形 x=0,y=0,w=1920,h=1080 ;每页都有 mxCell id="0" 与 mxCell id="1" parent="0" 。 ID 唯一 :全文件内所有 mxCell id 必须唯一;每个 <diagram id="..."> 也必须唯一。 一次性写入 : .drawio 必须一次写完整(不要多次覆盖/拼接 XML)。 换行用 &#xa; ,不要用真实换行符 。XML 规范规定属性值里的字面换行会被规范化成空格,所以 value="第一行\n第二行" 导出后是 一行 ,中间多个空格。实测(drawio2pptx 0.0.7 + PowerPoint): 写法 导出结果 value="A&#xa;B" ✅ 两行 value="A&lt;br&gt;B" ✅ 两行(拆成两个段落) value="A 真实换行 B" ❌ 一行,换行变空格 多行正文用 &#xa; ;需要拆成独立段落(比如列表项各自成段)用 &lt;br&gt; 。文本 style 必含 whiteSpace=wrap;html=1; 。 白字不要误替换 :顶栏/深色块文字保持 fontColor=#FFFFFF ;背景色替换优先改 fillColor ,不要全局替换所有 #FFFFFF 。 遮挡检查 :带底色的装饰块不要跨越正文区域;两列卡片之间不要放有底色标签(会压住字)。 原先还有三条「每页 cell 数 ≥ N」「高度按 1.4 倍字号预算」「页数校验」——前两条是在猜渲染结果,第三条只能验证页数。都已被 Step 5 的 render_check.py 取代:那个脚本用真实字体文件量宽度,直接告诉你哪一页第几个框会裁字。 不要再靠加 cell 凑数或按系数估行高。 最小可用多页模板(仅示意结构) < mxfile host = "app.diagrams.net" > < diagram id = "p1" name = "封面" > < mxGraphModel page = "1" pageWidth = "1920" pageHeight = "1080" > < root > < mxCell id = "0" /> < mxCell id = "1" parent = "0" /> </ root > </ mxGraphModel > </ diagram > < diagram id = "p2" name = "目录" > < mxGraphModel page = "1" pageWidth = "1920" pageHeight = "1080" > < root > < mxCell id = "0" /> < mxCell id = "1" parent = "0" /> </ root > </ mxGraphModel > </ diagram > </ mxfile > Step 3 & 4 & 4.5 & 5:输出 Draw.io、导出 PPT、修补、验证渲染(两种模式共用) Step 3:输出 Draw.io 文件 将生成的 XML 一次性 写入工作区 .drawio 文件(论文答辩用 paper-defense.drawio ,通用汇报用 general-presentation.drawio ),并简述每页概要。 写入方式需满足 checklist 第 4 条「一次性写入」与第 5 条「换行用 &#xa; 」的要求。 Step 4:导出 PPT(必执行) 如未安装: pip install drawio2pptx -q 先切到 .drawio 所在目录 ,否则找不到文件: cd /d/你的项目目录 # bash / zsh drawio2pptx paper-defense.drawio paper-defense.pptx Set-Location "D:\你的项目目录" # PowerShell drawio2pptx paper-defense.drawio paper-defense.pptx 输出里应出现 Saved xxx.pptx (N slides) , N 等于 <diagram> 数量。 页数对上只说明页没丢,不说明排版对 ,继续 Step 4.5。 Step 4.5:修补 pptx(必执行,中文 PPT 尤其不能跳) python scripts/postprocess_pptx.py paper-defense.pptx 为什么必须跑 :drawio2pptx 0.0.7 的 io/drawio_loader.py 有一段「nowrap 启发式」——一个文本框里所有段落都不含空白字符时,它会把 whiteSpace=wrap 覆盖成 wrap="none" 。 中文句子没有空格,所以每一个纯中文文本框都会被判成不换行 ,文字沿一行无限向右流,压穿右栏、跑出画布。 字号小的时候一行刚好放得下,看不出来;一旦按上面的 40 pt 规则排版就会全崩。这个脚本把所有文本框的 word_wrap 强制设回 True 。 注意顺序 : render_check.py 的扫描是按「会换行」算的,所以必须先修补再扫描,否则扫描结果和实际渲染不是一回事。 论文答辩模式在写完 Step 6 讲稿后,再跑一次带讲稿的版本,把讲稿写进备注区: python scripts/postprocess_pptx.py paper-defense.pptx --notes paper-defense-script.md Step 5:验证渲染(必执行) python scripts/render_check.py paper-defense.pptx 脚本做两件事: 量文字溢出 —— 用本机真实字体文件量每行像素宽度,算出文本框需要多高,和框高比。有 ❌ OVERFLOW 就回 Step 2 改那一页的框高或减字,改完重跑,直到只剩 ⚠️ TIGHT 或全清。退出码非 0 表示有溢出。 逐页导 PNG —— Windows 走 PowerPoint COM,其他平台走 LibreOffice + pdftoppm 。 导完要真的逐页看图 ,优先看文字有没有跑出框、装饰块有没有压住字。两个引擎都没有时只出扫描结果,此时要告诉用户「没做视觉验证」。 字体没装的话脚本会提示「量出来的宽度只是估算」——这种情况下扫描结果只能当参考,必须看图。 Step 6:输出讲稿(论文答辩模式必做) 答辩是讲出来的。同时写一份 paper-defense-script.md : ## 第 N 页 · <页面标题> ⏱ 约 XX 秒 <这一页要说的话,口语,能照着念> 按 每分钟 200 字 折算秒数,最后核对总时长和用户给的答辩时长差距在 ±1 分钟内。差太多就回 Step 2 调页数 封面 15 秒、目录 20 秒、节标题页 5 秒左右,剩下的时间分给内容页 Draw.io 没有备注这个概念,所以讲稿是独立的 .md 。写完后回到 Step 4.5,用 --notes 把它写进 pptx 备注区: python scripts/postprocess_pptx.py xxx.pptx --notes xxx-script.md 导出失败排查(高频) Permission denied / 拒绝访问 :目标 .pptx 正在被 PowerPoint 占用。 解决:导出到新文件名(如 *-v2.pptx ),或先关闭 PPT 再覆盖导出。 中文文件名乱码/找不到文件 :终端编码导致路径解析异常。 解决:改用 ASCII 文件名生成与导出(见 2.2)。 pip install 报 SSLError / 找不到版本 :网络问题。 解决:换镜像 pip install drawio2pptx -i https://pypi.tuna.tsinghua.edu.cn/simple ,或从 PyPI 直接下 wheel 后 pip install --no-deps xxx.whl 再单独装 python-pptx lxml ( cairosvg 只在图里有 SVG 时才需要)。 其他注意事项 字号规则(所有风格) :画布是 1920×1080 px,导出后是 20 英寸宽 ——标准 16:9 幻灯片只有 13.33 英寸。 画布上的 pt 值除以 1.5 才是常规 PPT 的视觉大小。 用途 画布上写 相当于常规 PPT 内容页正文 / 列表要点 40 pt 27 pt 页内小标题 48 pt 32 pt 内容页顶栏标题 54 pt 36 pt 图题 / 表题 30 pt 20 pt 页脚 / 页码 / 日期 24 pt 16 pt 节标题页的大号数字和章节名按各 styleX 里的示例执行(数字 120–140 pt,章节名 66–72 pt)。 原先写的「正文统一 18 pt」是 单位没换算 :18 ÷ 1.5 = 12 pt,答辩现场后排根本看不清。已按实测改正。 40 pt 的代价是每页字要少 ,这是硬约束不是建议: 文本框宽 一行放几个中文字 800 px(两栏) 14 1680 px(通栏) 30 所以两栏的要点必须写成 ≤14 字的短语 ,通栏句子 ≤30 字。写不下就删内容或改版式(比如 4 张横条卡片改成 2×2 网格), 不要靠缩小字号硬塞 。生成脚本里应该在写文件前就用 scripts/textmetrics.py 算一遍高度,装不下直接报警。 字体推荐 :中文标题/正文优先使用 微软雅黑 或 宋体 ;数字、英文及公式使用 Times New Roman 。各风格 reference 可在此基础上微调(如英文标题用 Georgia)。 XML 标签正确闭合,特殊字符转义( & → &amp; , < → &lt; ) 每页布局:背景全画布矩形、标题区顶栏 150 px、正文区留在 y=230..990 之间、留白充足 Shell 差异 :本 skill 的命令按 bash 写。PowerShell 下 cd 换成 Set-Location 、 tail -n N 换成 Select-Object -Last N 、 head -N 换成 Select-Object -First N 。
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。