宣讲 / 汇报 PPT 工作流

v1 · 2026-09-20 定稿 | 从「一句话方向」到「能讲、能点开、能核」的一套 PPT | 本页挂在「能力工具箱」下
一句话:五步走,每步都有"过关标准";改版不重新发明轮子 —— 版式库、体检脚本、发布脚本都在本页底部,可直接下载复用。

一、五步流程

① 骨架 —— 先把观点排成结构
不是"目录",是观点打头的章节:每一幕第一个字就是论点(如五幕剧:序幕 → 政策新词 → 实践新词 → 技术新词 → 我们在押的新词 → 尾声)。
产出:逻辑骨架_v0.md|过关:每节都能一句话说出"这节在论证什么"
② 演讲稿 —— 母本先行,PPT 跟稿
母本就是他的原稿,一字不动、另存版本;我做的每一处并入/改写都列出清单给他核。 体例:政策要点写完整句(不砍成几个词)+ 出处四要素(发文单位/文号/条款/原文金句/时间线)+ 把原稿的设问保留下来。
产出:母本 v1/v2/v3 + 飞书云文档(可编辑,带版本历史)|过关:随机抽 30 个关键片段都能在母本里找到出处
③ 生成 —— 版式库 + 内容脚本
版式库(ppt_kit2.py)管"长什么样",内容脚本(build_v2.py)管"说什么" —— 两者解耦,改文案不动版式、换版式不动文案。
产出:xxx.pptx|过关:页数对、页码=真实页序、内容无占位符残留
④ 体检 —— 先机器筛,再人眼抽查
机器六项(溢出/压字/重叠/超小字号/页码/图片拉伸)跑 ppt_layout_audit.py;人眼渲染 2×3 拼图,重点看封面、内容页、表格页、扉页四类。
产出:体检报告(问题页 / 分类计数)|过关:除封面外 0 问题(LO 光栅化造成的"图片拉伸"假阳性可人工判定)
⑤ 发布 —— 三件套 + 可点链接
pptx(可编辑)+ pdf(手机翻页)+ 全览图(一眼看全);文件名用 ASCII,复制后 chmod 664,逐个 curl 校验状态码和字节数。
产出:三个公网链接|过关:字节数与本地一致;他点得开

二、十二条铁律(这轮修出来的,直接当 checklist)

#坑做法
1样板精致、全量"减配"全量脚本里 grep 一遍样板用过的资产名(底纹/竖条/金句底/概念图)+ 版式函数(数据卡/观点页)——凡没出现的,就是被漏掉的装饰层
2页面"平"内容页统一铺宣纸淡墨底(bg-content.jpg);表格页另加左侧水墨竖边;卡片一律加投影
3水墨竖边压住表格第一列竖边右缘 ≤ 0.54in(表格左界 0.62in 留 0.08 冗余);写进 assert,别靠记忆
4重要观点被埋进卡片观点独占页:整页淡墨底 + 朱红竖线 + 40pt 大字 + 小标(一页一句,给每节最狠的那句)
5数字塞在表格里没人记住数据大字报:40pt 朱红数字 + 标签 + 一句说明(最多 4 个数字一页)
6原稿的设问丢了标题下加「问」条:head(ask="…"),把原稿的设问原样放回页面第一句(各节 Q1·来源/Q2·内涵/Q3·工具)
7新词没有统一突出维护一张 新词表(KW),正文里自动朱红加粗;只收"新词"不收章节名(章节名满篇都是,全染等于没染)
8数字是灰的看不清文本里的数字自动单独上色(numcolor)—— 卡片说明、文号日期、表下口径提示、金句条全部适用
9政策要点只剩几个词政策来源页(p_policy):正文就是政策原文完整句,一字不删,关键词变色,文号跟句尾
10表格丢列(如上海文件表少了中央一号文件列)表格页逐列回原文核;年份类表格默认结构:年份 | 当年中央一号文件 | 上海对应文件 | 阶段特征
11插页后页码错位构建末尾做一次页码重排后处理:凡右下角(left≥12.0in、top≥6.9in)的文本框,改文本为真实序号(封面跳过)。页码≠物理页序的稿子不能打印
12引用的文号/文件名是编出来的「文号+书名号文件名」成对出现时,先核存在性、再核归属;查不到就写"查无此文",不许推定(本轮回溯:虚构的《上海市乡村数智化建设实施方案》)

三、版式池(16 种,按内容挑,别一路用同一种)

版式用在什么内容上
封面 / 目录全屏水墨 + 左遮罩;目录竖排编号
章节扉页全屏水墨 + 编号 + 54pt 大字 + 一句导语
政策来源页 p_policy原文完整句 + 关键词变色(2–3 条一页)
文件卡页 p_filesN 条文件卡(编号/标题/文号时间)
大表格 p_table≤9 行 12.5pt;≤12 行 11.8pt;超了拆页或改数据卡
双栏对比 p_compare左右同宽、中线对齐
三卡 / 四卡 / 五卡 p_cards并列要点;卡片高度按内容行数自适应
左文右图 p_imgright一条条说 + 一张示意("太空的页"靠它救)
数据大字报 p_data2–4 个关键数字(40pt 朱红)
观点独占页 p_claim全篇最狠的 8 句观点,一页一句
汇总页 p_summary收尾倒数第二页:总目标 → 六条路径×新词 → 落脚点
大图占位 p_placeholder等他插图的页:虚线画框 + 图名 +"该页要表达什么"
上图下注 p_bigimg实景照 + 标题 + 一句金句
整页图 p_fullimg信息图/示意图占满页
产品三卡 p_prodcards截图 + 名称 + 说明
收尾 p_end全屏图 + 深遮罩 + 大字金句

四、脚本(可直接下载复用)

ppt_kit2.py · 版式库 build_v2.py · 内容脚本示例 ppt_layout_audit.py · 六项体检 publish.sh · 一键发布

# ① 生成 /usr/bin/python3.12 /home/ubuntu/speech_assets/ppt_build/build_v2.py # ② 体检(非 0 退出码就别发布) /usr/bin/python3.12 scripts/ppt_layout_audit.py 片子.pptx --json /tmp/audit.json # ③ 发布:pptx → pdf + 全览图 + 公网字节校验 bash scripts/publish.sh /home/ubuntu/speech_assets/片子.pptx 2.9
两条硬约定:① 一律 /usr/bin/python3.12(系统默认 3.11,混用会出 f-string 之类的怪问题);② 发布文件名一律 ASCII(中文名 URL 在部分客户端会断),权限 664(600 会 403)。

五、产物地图(这套 PPT 的文件都在哪)

产物位置 / 链接
总索引页/platform/static/speech/docs/index.html
母本(演讲稿)speech-master/(v1/v2/v3 各版都在)
政策文件库(26 份)policy/index.html | 打包下载
PPT 各版本v2.8 pptx | 66 页全览(v2.0–v2.8 全留档)
溯源 / 核验页数字核验表 | 数智化溯源 | 特色化出处
配图墙/pictures/(搜图+逐张把关结论)

六、常见事故与处置

症状处置
同一句话在页面上出现两次八成是 rich() 里的 for…else 结构:for-else 在循环正常结束时也会执行——检查改过的分支,渲染必看(体检脚本查不出"文字重复")
关键词加粗后压字/溢出加粗让行变宽 → 多出一行。p_cards(..., size=11.5) 缩字号(per_line 按 11.6/size 换算),再不行删一句
体检报一堆「图片拉伸」覆盖在整页图片上的自动图形会被 LibreOffice 光栅化 → 假阳性。先渲图肉眼确认没变形,再判定噪声;小 rect 拼虚线框要改成 dash_style 单形状(能消掉上千条)
改了模板不生效Flask 缓存模板/构建脚本写的是旧输出名 —— 改完 grep OUT= 确认输出路径,再 systemctl restart work-xxx
链接点开 404 / 打不开① 写完整绝对地址(相对路径在飞书点不动);② 目录链接要指到 index.html(nginx 已加 301 兜底,但显式写最稳);③ 文件权限 664
维护:城测陆老师(数字分身)| 2026-09-20 | 下一次修订:v2.9(插图版)后回填
本页可直接下载全部脚本:scripts/