Word 交付体检
何时使用
- 用户准备交付
.docx,担心漏填、空表格、页眉页脚或字体混乱 - 用户要“交稿前检查”“排版体检”“问题清单”
- 用户需要在批量材料发出前做统一检查
不适用于:
- 需要判断合同/标书内容是否合法、是否保证中标
- 需要像素级视觉验收;本 Skill 不做页面渲染
- 需要修改文档;本 Skill 只读检查,不写回原文件
执行步骤
- 只读打开文件,先跑结构体检:
python scripts/check_docx.py \
--file "待交付.docx" \
--out "docx_check.json" \
--md "docx_check.md"
- 需要作为交付闸门时加
--strict:存在 high 问题时退出码为 1。
python scripts/check_docx.py --file "待交付.docx" --out "docx_check.json" --strict
- 先看 high 问题,再看 medium/low:
- high:未替换占位符、疑似未完成文本、空表格、文件包损坏
- medium:表格大面积空白
- low:空段落偏多、页眉页脚为空、字体/字号过多、手动分页过多
- 修复后重跑,直到 high 为 0;再打开 Word 或转 PDF 做一次目检。
检查能力
{{字段}}占位符残留TODO、TBD、XXX、None、待补充、待确认等疑似未完成文本- 空表格、表格大面积空白、表格行数为 0
- 空段落比例、页眉页脚是否为空、页脚是否检测到页码域
- 显式字体/字号数量
- ZIP 包完整性、XML 可解析性
- 段落、表格、节、图片、手动分页数量
输出约定
docx_check.json 包含:
{
"file": "待交付.docx",
"ok": true,
"stats": {"paragraphs": 120, "tables": 6, "sections": 2},
"issues": [
{"id": "unresolved_placeholders", "severity": "high", "message": "存在 2 个未替换占位符", "evidence": "name, phone"}
],
"issue_counts": {"high": 0, "medium": 0, "low": 1},
"heuristic_score": 99
}
--md 会生成适合直接发给用户的中文报告。
能力边界
- 只检查
.docx;.doc先转换为.docx - 不渲染页面,不能判断分页、压字、签字页位置;这些必须打开 Word/PDF 目检
- 不判断内容真实性、业务口径、法律效力
- 不修改文档,不自动删除空段落或表格
- 字体检查只看显式设置;继承主题样式的字体不一定会被统计
失败回退
python-docx缺失:安装requirements.txt- 文件打不开:先确认不是
.doc或加密文档 - 报告误报:空段落、页眉页脚缺失在部分模板中是正常的,按 low 处理,不要直接改模板
- 需要视觉验收:转 PDF 后逐页检查,或交给具备截图能力的环境