技能|特定交付物图文版制作SOP
适用场景
需把某份文字版规则 / 制度文档,或按"需求→规划→实现→测试→部署→维护"流程输出的技术路线方案,修订为以图形为主的图文版(含目录结构图、流程图、映射图、架构图),并输出 WORD 图文版时。
本技能合并原「文件存储规则图文版制作SOP」与「技术路线方案图文制作流程SOP」——两者都是"对特定交付物套用图文版管线"的配方实例,统一依赖《技能|程序文档图文排版标准SOP》。典型触发:
- "分析本目录结构和 XX 存储规则,修订为图文版(以图形为主)" → 落存储规则图文版。
- "根据工作职责推荐开发技术路线,制一份以图形为主的技术路线方案" → 落技术路线方案。
操作步骤(通用图文管线,两实例共用)
- 核定文件 / 读职责文档:确认规则 docx 真实文件名与落点(如"某单位安防业务程序开发文件存储规则V1.x",极易记错为"某单位文件存储规则"),用 zipfile 提取
word/document.xml正文统计章/段/表数;或读岗位说明书 docx 提取核心职责条目作为需求推导依据,不得凭空编造。 - 分析结构 / 职责→模块映射:find 实际目录树(排除 .trash/backup/.workbuddy)核对与规则条款一致;或把职责映射为程序模块(如 M1 活动安防方案与报批、M2 预算核算、M3 智能合规审查、M4 统计分析报告、M5 台账、M6 岗位人员、M7 隐患治理),M2/M3 为跨模块支撑。
- 设计 SVG 图(N 张):目录结构总览/双库共用七阶段/成品流向/版本生命周期/归类映射/技能库七阶段(规则版);或总体五层架构/职责映射/六阶段生命周期/数据流水线/部署运维(路线版)。SVG 须 inline 具体色值、
font-family: SimHei、marker 定义箭头,禁用 CSS 变量var(--x)。图内与 DOCX 正文统一 SimHei。 - 写 HTML 图文主版:保留原规则全部条款(图只是可视化补充),图穿插各章正文,关键规则补 HTML table;UTF-8 编码。
- 渲染 SVG→PNG:用 node
render-fig.js(@resvg/resvg-js,Rust 内核、无系统依赖、支持中文/箭头/渐变)把每张 SVG 渲染为 2x PNG(fitTo width=1360,defaultFontFamily=SimHei),输出到_fig_cache。注意:render-fig.js随本技能打包在 zip 内,解压即用;本机文件系统中不预置,用时从 zip 取出即可。 - 重建图文 DOCX:用通用生成器
build-graphic-docx.py <HTML> <DOCX> [PNG_DIR](内部 python-docx 解析 HTML:h1/h2/h3→标题、p→段落、ul/ol→列表、table→Table Grid、svg→居中插图 15.5cm;Normal 样式 SimHei 10.5pt)。 - 统一版式(封面/目录/页码):用
_retypeset_ops_manual.py重排正式交付版——封面页(主标题去旧版本标记 + 系列名 + 阶段 + 版本/日期/密级)、自动目录(TOC 域)、页脚页码(PAGE 域,封面不显示)。脚本按 DOCS 清单批量跑,图片走 blip→二进制→重插,内容零丢失;版式口径见《技能|程序文档图文排版标准SOP》。 - 校验与版本:DOCX 内嵌图数 = HTML 中 SVG 数;段/表数正常;关键条款逐条在位;抽查 1~2 张图渲染质量(中文/箭头/渐变);校验封面无旧版本号、含 TOC 域与页脚 PAGE 域。新文件按命名规范升版(独立新文件、不覆盖原);成品规则类 docx 落
系统操作手册\00 总纲,方案 WORD 落系统操作手册\02 技术\;被取代旧版依 R2 移入.workbuddy\版本存档,更早版本按 R3 清理;渲染缓存_fig_cache*移出正式文档区,存程序源代码\docs。
注意边界
- 运行前置(必须):Python venv 须装
python-docx+lxml;Node workspace 须npm install @resvg/resvg-js。本技能 zip 内含build-graphic-docx.py与render-fig.js。 - 渲染引擎:SVG→PNG 只用
@resvg/resvg-js,不要换需 cairo 后端的库;字体统一 SimHei 避免缺字。 - 目录/文件名:严格按实际与现行《某单位安防业务程序开发文件存储规则》(现行版本引用时写现行版本,勿硬编码旧版本号),不自创;一级目录七类名不可变更;阶段统一为「06 成品」,zip 前缀须与阶段目录名一致。
- 版式统一:交付 DOCX 一律补封面/目录/页码,走《技能|程序文档图文排版标准SOP》与
_retypeset_ops_manual.py,不得各自手改。 - 缓存:SVG/PNG 中间产物移出正式文档目录。
- 红线:任何写文件前先出方案+步骤,经用户确认后执行。
反例避雷
- 别把规则 docx 文件名记错(实际为"某单位安防业务程序开发文件存储规则V1.x",不是"某单位文件存储规则")——记错会导致"找不到文件"。
- 别用 playwright/chromium、svglib+reportlab、github resvg exe 渲染(本环境均不可行):playwright 下载 chromium 卡死实测 16 分钟零进度;github 静态 exe CDN 返回 9 字节无效包;svglib+reportlab 4.x 移除 _renderPM 需系统 cairo,Python 3.13 无解,reportlab 3.6 无 Py3.13 wheel。
- 别在 SVG 用 CSS 变量
var(--x)(svglib/resvg 解析不稳),一律 inline 具体色值(如fill="#1f4e79")。 - 别把渲染缓存(
_fig_cache*)留在系统操作手册等正式目录(违反"运行态/缓存不进正式资料"),应存程序源代码\docs。 - 别覆盖原文件(须独立新文件 + 升版本号);别把旧版滞留回收站(按 R3 或用户指令处置);别漏条款(图文化须完整保留原规则全部条款)。
- 别跳过"先读职责文档/核定文件"直接编模块——需求依据必须来自真实岗位说明书或现版规则,不得凭空编造。