本 skill 提供多格式文档格式整理功能:提取模板文档的格式 → 应用到任意格式的目标文档。
当用户需要将文档调整为标准公文格式时:
python apply_multi_format.py <输入文档> --official --output <输出文档>
支持的输入格式:.docx, .md, .txt
支持的输出格式:.docx, .md, .txt
示例:
# Markdown 转 Word 公文格式
python apply_multi_format.py 报告.md --official --output 报告_公文.docx
# 纯文本转 Markdown
python apply_multi_format.py 笔记.txt --official --output 笔记.md
# Word 转为 Word(使用公文格式)
python apply_multi_format.py 财务报告.docx --official --output 财务报告_公文格式.docx
当用户提供了特定的模板文档时:
从模板提取格式后应用到目标:
python apply_multi_format.py <目标文档> <模板.docx> --output <输出文档>
示例:
# 参照 Word 模板,调整 Markdown 文件
python apply_multi_format.py 报告.md 模板.docx --output 报告_新格式.docx
# 参照模板,转换 Word 到 Word
python apply_multi_format.py 源文件.docx 模板.docx --output 目标文件.docx
可以先提取模板格式为 JSON,然后复用:
# 提取格式
python extract_format.py 模板.docx --output 格式.json
# 应用格式
python apply_multi_format.py 输入.md --format-json 格式.json --输出 输出.docx
| 段落类型 | 字体 | 字号 | 对齐 | 缩进 | 段前 | 段后 | 行距 |
|---------|------|------|------|------|------|------|------|
| 标题 | 方正小标宋体 | 22pt(二号) | 居中 | 0 | 0pt | 0pt | 1.5倍 |
| 文号 | 仿宋_GB2312 | 16pt(三号) | 居中 | 0 | 0pt | 0pt | 1.5倍 |
| 一级标题 | 黑体 | 16pt(三号) | 左对齐 | 0 | 0pt | 0pt | 1.5倍 |
| 二级标题 | 楷体_GB2312 | 16pt(三号) | 左对齐 | 0 | 0pt | 0pt | 1.5倍 |
| 正文 | 仿宋_GB2312 | 16pt(三号) | 两端对齐 | 2字符 | 0pt | 0pt | 1.5倍 |
页面设置:
| 类型 | 识别规则 | 示例 |
|------|---------|------|
| 标题 | 第一个非空段落 | 关于xxx的请示 |
| 文号 | 第二个段落,符合公文号格式 | X发〔2024〕10号 |
| 一级标题 | 以"一、"、"二、"等开头 | 一、基本情况 |
| 二级标题 | 以"(一)"、"(二)"等开头 | (一)主要业绩 |
| 正文 | 其他段落 | 正文内容... |
| Markdown 标记 | 对应层级 |
|--------------|---------|
| # Title | 标题 |
| ## Heading | 一级标题 |
| ### Subheading | 二级标题 |
| - List item | 正文(列表项) |
| 普通文本 | 正文 |
| 输入格式 | 支持的输出格式 | 说明 |
|---------|---------------|------|
| .docx | .docx, .md, .txt | 保留格式信息 |
| .md | .docx, .md, .txt | 识别标题层级 |
| .txt | .docx, .md, .txt | 智能识别标题 |
本 skill 包含以下脚本:
| 脚本 | 功能 |
|------|------|
| extract_format.py | 从 Word 模板提取格式 → 输出 JSON |
| apply_format.py | 应用格式到 Word 文档 |
| apply_multi_format.py | 【推荐】多格式统一处理入口 |
| format_bridge.py | 多格式文档读写核心库 |
脚本目录:C:\Users\14032\.codebuddy\skills\doc-format-brush\scripts\
| 错误现象 | 原因 | 修正方式 |
|----------|------|----------|
| 首行缩进显示为厘米而非字符 | 使用了 Cm() 而非 XML 属性 | 使用 w:firstLineChars 设置字符数 |
| 段后间距仍有 10pt | Word Normal 样式默认值未覆盖 | 强制 pf.space_after = Pt(0) |
| 对齐方式为左对齐而非两端对齐 | 未正确设置 JUSTIFY | 使用 WD_ALIGN_PARAGRAPH.JUSTIFY |
| 中文字体未变化 | 只设了 font.name | 同时设置 w:eastAsia 属性 |
| 文件保存报 PermissionError | 目标文件在 Word 中打开 | 换一个新文件名保存 |
用户 A: "把这份 Markdown 报告改成公文格式 Word"
AI: 使用内置公文格式处理 Markdown:
python apply_multi_format.py 报告.md --official --output 报告_公文格式.docx
用户 B: "参照这个 Word 模板,调整我的笔记文件"
AI: 参照模板格式处理:
python apply_multi_format.py 我的笔记.md 模板.docx --output 笔记_整理.docx
用户 C: "把这个文本文件转成带格式的 Markdown"
AI: 使用内置格式输出 Markdown:
python apply_multi_format.py 原始笔记.txt --official --output 格式化笔记.md
共 1 个版本