name: word-format-master description: "【Word文档排版大师】专门用于对Word文档(.docx/.doc/.wps/.wpt等)进行专业排版和格式美化的技能。当用户提出'排版文档'、'美化Word'、'调整格式'、'规范排版'、'设置样式'、'文档格式化'等需求时触发。支持页面设置、字体样式、段落格式、标题层级、页眉页脚、页码、目录、表格美化、列表格式等全流程排版操作。通过本地WPS Office SDK(tencent-local-office-edit)实现实时可视化编辑。" agent_created: true
小葱技能站7w4.net,专业的AI技能分享平台。
对Word文档进行专业排版和格式美化。涵盖页面布局、字体段落、标题样式、页眉页脚、页码、目录、表格美化、列表编号等全流程排版操作。通过本地 WPS Office SDK(editor_sdk)实现实时可视化编辑,用户可即时看到排版效果。
使用本技能前,必须先加载 tencent-local-office-edit 技能以获取本地 WPS 编辑能力:
Skill: invoke tencent-local-office-edit
当本地 WPS 编辑服务未运行时,按以下步骤启动:
方式一:通过自动化命令启动
启动editor_sdk本地WPS编辑服务
方式二:手动启动(PowerShell)
Start-Process -FilePath "C:\Program Files\WorkBuddy\resources\app.asar.unpacked\node_modules\@tencent\tencent-docs-ai-engine\bin\win32-x64\editor_sdk.exe" -WindowStyle Hidden
方式三:开机自启(已配置计划任务)
系统已创建计划任务 WorkBuddyEditorSDK,在任务计划程序中可查看和管理。
验证服务是否就绪:
cd "C:\Program Files\WorkBuddy\resources\app.asar.unpacked\resources\builtin-skills\tencent-local-office-edit"
python3 edsdk.py list doc
如果返回工具清单则服务正常。
服务启动后在端口 39099 监听。若
edsdk.py返回错误,检查端口是否被占用。
打开待排版的 Word 文档:
# 方式一:用 present_files 在预览面板中打开(推荐,用户可实时看到编辑效果)
# 先调 present_files 工具打开文档路径
# 然后通过 get_pool_status 获取 file_id
python3 edsdk.py call get_pool_status
# 从返回结果中按文件路径匹配目标文档,获取 file_id
# 方式二:直接 open_file(无需预览展示的场景)
python3 edsdk.py call open_file file_path=</path/to/document.docx>
# 记录返回的 file_id,后续所有操作都用这个 ID
排版工作遵循「先分析,再规划,后执行」的原则,避免盲目修改。
开始排版前,先用分析工具了解文档当前结构:
# 1. 获取文档大纲结构(标题层级、内容范围)
python3 edsdk.py schema doc_get_outline
python3 edsdk.py call doc_get_outline file_id=<file_id>
# 2. 获取文档结构树(段落、表格等元素的完整结构)
python3 edsdk.py schema doc_resolve_document_structure
python3 edsdk.py call doc_resolve_document_structure file_id=<file_id>
# 3. 获取可操作位置(了解文档长度)
python3 edsdk.py schema doc_get_last_operable_pos
python3 edsdk.py call doc_get_last_operable_pos file_id=<file_id>
# 4. 查看文档当前文本属性和段落属性(抽样了解现有格式)
python3 edsdk.py schema doc_get_text_property
python3 edsdk.py call doc_get_text_property file_id=<file_id> idx=<0>
python3 edsdk.py schema doc_get_paragraph_property
python3 edsdk.py call doc_get_paragraph_property file_id=<file_id> idx=<0>
根据文档类型和用户需求,确定排版方案。通用排版推荐以下规范:
| 项目 | 推荐值 | 说明 |
|---|---|---|
| 纸张 | A4 (21cm × 29.7cm) | 通用文档标准 |
| 页边距 | 上下2.54cm,左右3.17cm | 或按具体要求 |
| 正文 | 宋���/仿宋,小四号(12pt),1.5倍行距 | 中文字体优先 |
| 标题一 | 黑���/微软雅黑,三号(16pt),加粗 | 文档一级标题 |
| 标题二 | 黑体/微软雅黑,小三号(15pt),加粗 | 文档二级标题 |
| 标题三 | 黑体/微软雅黑,四号(14pt),加粗 | 文档三级标题 |
| 首行缩进 | 2字符 | 正文段落 |
| 段间距 | 段前0.5行,段后0.5行 |
按以下分类依次执行排版操作。每执行完一步保存一次,避免操作间相互干扰。
设置纸张大小、方向、页边距。
# 使用的工具:doc_modify_paragraph(可修改段落属性含页面设置相关内容)
# 先查询 schema 确认参数
python3 edsdk.py schema doc_modify_paragraph
注意:页面级属性(纸张大小、页边距等)需要对整个文档范围的段落属性进行设置,或使用底层段落属性接口。
设置文档各部分的字体、字号、颜色、加粗等属性。
# 先通过 doc_find 定位要修改的文本范围
python3 edsdk.py schema doc_find
python3 edsdk.py call doc_find file_id=<file_id> search_text="要查找的文本"
# 然后更新文本属性
python3 edsdk.py schema doc_update_text_property
python3 edsdk.py call doc_update_text_property file_id=<file_id> begin=<begin> end=<end> font_name="宋体" font_size=12 bold=false
常用文本属性参数(以 schema 实际返回为准):
- font_name: 字体名称("宋体"、"黑体"、"微软雅黑"、"仿宋"、"Times New Roman"等)
- font_size: 字号(磅值,如 12 表示小四号,16 表示三号)
- bold: 是否加粗(true/false)
- italic: 是否斜体(true/false)
- color: 字体颜色(RGB HEX值如 "FF0000")
- underline: 下划线类型
设置对齐方式、行间距、段间距、首行缩进等。
# 修改段落属性
python3 edsdk.py schema doc_modify_paragraph
python3 edsdk.py call doc_modify_paragraph file_id=<file_id> idx=<段落起始索引> ...
常用段落属性参数(以 schema 实际返回为准):
- alignment: 对齐方式(0=左对齐,1=居中,2=右对齐,3=两端对齐,4=分散对齐)
- line_spacing: 行间距(值=行距倍数×240,如 1.5倍=360,单倍=240)
- space_before: 段前间距(单位:磅)
- space_after: 段后间距(单位:磅)
- indent_first_line: 首行缩进(单位:磅,2字符约等于48磅)
- indent_left: 左���进
- indent_right: 右缩进
对文档标题进行统一格式化,形成清晰的大纲层级。
工作流程:
# 1. 获取文档大纲,了解标题层级分布
python3 edsdk.py call doc_get_outline file_id=<file_id>
# 2. 逐个层级设置标题样式
# 对一级标题:大号字体、加粗、段前段后间距
# 对二级标题:中号字体、加粗
# 对三级标题:小号字体、加粗
# 使用 doc_find 定位每个标题的位置
# 使用 doc_update_text_property 修改字体
# 使用 doc_modify_paragraph 修改段落属性
推荐标题格式:
| 级别 | 字体 | 字号 | 加粗 | 对齐 | 段前/段后 |
|---|---|---|---|---|---|
| 标题1 | 黑体 | 16pt (三号) | 是 | 左对齐/居中 | 12pt/6pt |
| 标题2 | 黑体 | 15pt (小三) | 是 | 左对齐 | 6pt/6pt |
| 标题3 | 黑体 | 14pt (四号) | 是 | 左对齐 | 6pt/3pt |
# 设置页眉
python3 edsdk.py schema doc_insert_header
python3 edsdk.py call doc_insert_header file_id=<file_id> text="页眉内容"
# 设置页脚
python3 edsdk.py schema doc_insert_footer
python3 edsdk.py call doc_insert_footer file_id=<file_id> text="页脚内容"
# 插入页码(自动放在页脚中)
python3 edsdk.py schema doc_set_page_number
python3 edsdk.py call doc_set_page_number file_id=<file_id>
对文档中的表格进行格式美化。
# 1. 获取表格信息
python3 edsdk.py schema doc_get_table_info
python3 edsdk.py call doc_get_table_info file_id=<file_id> idx=<表格所在位置索引>
# 2. 设置表格属性
python3 edsdk.py schema doc_set_table_properties
python3 edsdk.py call doc_set_table_properties file_id=<file_id> idx=<表格索引> ...
# 常用参数:边框样式、表格宽度、对齐方式
# 3. 设置行高/列宽
python3 edsdk.py schema doc_set_table_layout
python3 edsdk.py call doc_set_table_layout file_id=<file_id> idx=<索引> ...
# 插入分页符
python3 edsdk.py schema doc_insert_page_break
python3 edsdk.py call doc_insert_page_break file_id=<file_id> idx=<位置>
# 插入段落分隔符
python3 edsdk.py schema doc_insert_paragraph
python3 edsdk.py call doc_insert_paragraph file_id=<file_id> idx=<位置>
批量修改文档中的特定文本内容:
python3 edsdk.py schema doc_find_and_replace
python3 edsdk.py call doc_find_and_replace file_id=<file_id> search_text="旧文本" replace_text="新文本"
需要向文档中插入大段格式化内容时,优先使用 Markdown 方式:
python3 edsdk.py schema doc_insert_markdown
python3 edsdk.py call doc_insert_markdown file_id=<file_id> idx=<位置> markdown="
# 标题
正文内容
- 列表项1
- 列表项2
"
scripts/format_doc.py — 对 Word 文档执行一键式排版处理,包括标准化字体、段落、标题等。适用于批量处理场景。
python3 scripts/format_doc.py <输入文件路径> [输出文件路径] [--style 通用|公文|论文]
references/formatting_specs.md — 包含详细的排版规范参考:
- 通用文档排版规范
- 公文排版规范(GB/T 9704)
- 学术论文排版规范
- 常见字号与磅值对照表
- 常用排版参数速查
以下为用户确认的默认排版方案,适用于审计方案/工作报告/企业公文等类型文档。
文档分为三个区域:封面页 → 目录页 → 报告正文页,以分节符(下一页)分隔。 不允许使用自动编号,所有编号保持手动编号(Word自动编号可能导致兼容性问题)。
| 项目 | 格式 |
|---|---|
| 主标题 | 黑体,二号(22pt),加粗,居中 |
| 副标题 | 仿宋_GB2312,二号(22pt),居中 |
| 字体颜色 | 黑色(#000000) |
| 缩进 | 无 |
| 段前段后 | 0pt |
| 行距 | 1.5倍 |
| 项目 | 格式 |
|---|---|
| 标题 | 仿宋_GB2312,五号(10.5pt),加粗,居中 |
| 目录条目 | 插入TOC字段 TOC \\o "1-3" \\h \\z \\u(需在Word中更新域) |
| 字体颜色 | 黑色(#000000) |
| 缩进 | 无 |
| 段前段后 | 0pt |
| 行距 | 1倍 |
| 项目 | 格式 |
|---|---|
| 字体 | 仿宋_GB2312 |
| 字号 | 四号(14pt) |
| 加粗 | 是 |
| 对齐 | 左对齐 |
| 首行缩进 | 2字符(28pt) |
| 段前段后 | 0pt |
| 字体颜色 | 黑色(#000000) |
| 编号 | 不使用自动编号,使用手动编号 |
| 编号规则 | 详见下方「序号编排规则」 |
核心原则:全手动编号,不使用Word自动编号功能。每个层级的序号在同级内顺序递增,每遇到上级标题就重新开始编号。
各层级格式:
| 层级 | 格式 | 示例 | 重启规则 |
|---|---|---|---|
| 一级(H1) | 中文数字+顿号 | 一、二、三、四、五 | 全文顺序 |
| 二级(H2) | 括号中文数字 | (一)(二)(三) | 每遇H1重启 |
| 三级(H3) | 阿拉伯数字+点 | 1. 2. 3. 4. 5. | 每遇H2重启 |
| 四级(H4) | 括号阿拉伯数字 | (1)(2)(3) | 每遇H3重启 |
| 五级(H5) | 圈号数字 | ①②③ | 每遇H4重启 |
示例(以当前文档实际结构):
一、审计项目概况 ← H1#1
(一)项目名称 ← H2#1(在H1#1下从一重新开始)
(二)审计目标 ← H2#2
(三)审计依据 ← H2#3
(四)审计期间 ← H2#4
二、审计范围和对象 ← H1#2
(一)业务流程范围 ← H2#1(在H1#2下重新从(一)开始)
(二)组织范围 ← H2#2
(三)时间范围 ← H2#3
三、审计内容与重点 ← H1#3
(一)基础资料收集 ← H2#1
(二)核心流程审查 ← H2#2
1.流程节点必要性审查 ← H3#1(在H2#2下从1.重新开始)
2.执行效率量化统计 ← H3#2
3.典型低效事项剖析 ← H3#3
4.合同签署时效核查 ← H3#4
(1)倒签判定 ← H4#1(在H3#4下从(1)重新开始)
(2)逾期判定 ← H4#2
(3)超期未签判定 ← H4#3
⚠️ 重要:所有序号均为手动输入的文字,不得使用Word的「自动编号」功能。修改文档时需手动调整序号以保持连续性和重启规则。
| 项目 | 格式 |
|---|---|
| 字体 | 仿宋_GB2312 |
| 字号 | 四号(14pt) |
| 行距 | 1.5倍 |
| 对齐 | 两端对齐 |
| 字体颜色 | 黑色(#000000) |
| 段前段后 | 0pt(需同时修改Normal样式默认值及段落级覆盖) |
| 项目 | 格式 |
|---|---|
| 内部字体 | 仿宋_GB2312,10号(10pt) |
| 行距 | 1倍 |
| 段前段后 | 1pt |
| 中文单元格 | 靠左居中对齐 |
| 数字单元格 | 靠右居中对齐 |
| 表头 | 居中对齐,加粗 |
| 跨页 | 表头行重复 |
| 宽度 | 严格占满页面宽度:A4(21cm) - 左边距(3.17cm) - 右边距(3.17cm) = 14.66cm / 8311twips |
| 对齐 | 左对齐 |
| 字体颜色 | 黑色(#000000) |
| 项目 | 格式 |
|---|---|
| 纸张 | A4 |
| 上边距 | 2.54cm |
| 下边距 | 2.54cm |
| 左边距 | 3.17cm |
| 右边距 | 3.17cm |
| 项目 | 格式 |
|---|---|
| 位置 | 页脚居中 |
| 格式 | 阿拉伯数字(PAGE字段) |
| 字体 | 宋体,10号(10pt) |
| 字体颜色 | 黑色(#000000) |
| 封面 | 不显示页码 |
1. 加��� tencent-local-office-edit 技能
2. 打开文档 → 获取 file_id
3. 分析文档结构(get_outline / resolve_document_structure)
4. 页面设置(页边距、纸张大小)
5. 格式化正文(字体 + 段落)
6. 格式化标题层级
7. 设置页眉/页脚/页码
8. 美化表格(如有)
9. 统一编号和列表格式(如有)
10. 保存文档
11. 展示排版结果
doc_* 工具调用前,必须执行 edsdk.py schema <工具名> 确认参数。doc_insert_markdown,避免多次单段写入。save_file 保存即可,不要调 close_file(会关闭用户正在看的视图)。这个 Skill 内容比较全面,提供了详细的排版流程和多种格式规范参考,适合需要专业排版的用户。但存在一些不足:文档中有乱码问题,部分字体名称显示不全;附带的脚本功能有限,实际排版仍需手动操作;部分排版参数在不同位置存在不一致。总体来说功能完整度尚可,但文档质量有待提升。