需要创建、读取、编辑或处理 Word 文档(.docx / .dotx)时使用。触发词:'Word'、'word 文档'、'.docx'、'生成报告'、'制作合同/简历/方案/说明书'、'提取 word 内容'、'在文档里查找替换'、'给文档加页眉页脚/目录/表格'。也用于把任意内容排版成一份正式的 Word 文件。不要用它处理 PDF、Excel 或无关编程任务。中文创作场景尤其适合:小说大纲稿、投稿文档、合同、简历、工作总结。
Word 文档(.docx)生成与编辑
功能概述
Word 文档(.docx)生成与编辑是一项面向实际任务的技能,主要用于.docx 本质是一个 ZIP 包,里面是 XML;按任务选方案:;
核心要点
- 新建 文档;
- 用 python-docx (推荐,自包含,见下方模板)或 npm docx 包;
- 编辑 已有文档;
使用与执行
解压 → 改 word/document.xml → 重新压缩;或用 python-docx 的 Document(’existing.docx’) 追加/修改;读取 内容。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
结果检查与注意事项
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Word 文档(.docx)生成与编辑
.docx 本质是一个 ZIP 包,里面是 XML。按任务选方案:
| 任务 | 方案 |
|---|---|
| 新建 文档 | 用 python-docx(推荐,自包含,见下方模板)或 npm docx 包 |
| 编辑 已有文档 | 解压 → 改 word/document.xml → 重新压缩;或用 python-docx 的 Document('existing.docx') 追加/修改 |
| 读取 内容 | python-docx 的 document.paragraphs 遍历,或对文件跑 pandoc -t markdown file.docx |
本技能根目录下的
references/docx_template.py是一个完整可运行的示例(标题/多级标题/表格/列表/页脚页码),直接用python references/docx_template.py <输出路径>即可生成一份示范文档。
新建文档(python-docx)——踩坑要点
python-docx 已随本技能所需环境预装。模型熟悉 API,下面是高频坑:
- 页面尺寸:默认 A4。要美式 Letter:
from docx.shared import Inches后用document = Document()设置sections[0].page_width/height(Letter = 12240×15840 EMU,1 英寸=1440 EMU)。 - 表格双宽:表格设
table.autofit=True或给每列cell.width = Inches(...);列宽之和应等于表格宽。 - 表格底纹:用
WD_CELL_VERTICAL_ALIGNMENT与shadingelement,不要整体 SOLID(会渲染成黑块)。简单做法是用浅灰 XML:见模板。 - 列表:不要用字面量
•,用document.add_paragraph(text, style='List Bullet')或'List Number'。 - 图片:
from docx.embedded import Image→paragraph.add_run().add_picture(path, width=Inches(3)),需指定width/height之一。 - 分页:
from docx.enum.text import WD_BREAK; paragraph.add_break(WD_BREAK.PAGE)。 - 不要用
n拼多行:每段用独立的add_paragraph。 - 目录(TOC):python-docx 不自动生成真实 TOC 域;用内置
Heading 1/2/3样式(在 Word 导航窗格里可见),并在文首放一句"右键→更新域→更新整个目录"的提示,或插入 TOC 域 XML(进阶,见模板注释)。 - 不要用表格当分隔线:用段落
bottom border画横线。
编辑已有文档
旧版 .doc 先转换:soffice --headless --convert-to docx file.doc(需 LibreOffice)。
from docx import Document
doc = Document('existing.docx')
# 遍历段落
for p in doc.paragraphs:
if '旧词' in p.text:
for run in p.runs:
run.text = run.text.replace('旧词', '新词')
# 追加内容
doc.add_heading('新增章节', level=1)
doc.add_paragraph('新段落')
doc.save('out.docx')
Word 会把同一句话拆成很多 run(修订标记、拼写检查),所以"看起来连在一起的短语"在 XML 里可能不是连续字符串——查找替换建议用 run.text 逐个替换,而不是整段正则。
验证输出
生成 .docx 后,转成 PDF 看一眼排版:
soffice --headless --convert-to pdf output.docx pdftoppm -jpeg -r 100 output.pdf page # 然后 Read 生成的 page-*.jpg 检查
依赖
python-docx(已预装于本技能环境)· 可选:pandoc · 可选:soffice(LibreOffice,用于转 PDF 验证 / 转 doc)。
中文创作场景示例
- 投稿文档:用
Heading 1当"卷名"、Heading 2当"章名",Word 里一键生成目录。 - 小说大纲稿:表格列"章节 / 核心冲突 / 钩子 / 字数",
table.style='Light Grid Accent 1'。 - 合同/简历:分节 + 页脚页码(
section.footer.add_paragraph().add_field('PAGE'))。 - 以上全部在
references/docx_template.py有可直接跑的样板。
热门AI工具
相关专题
PDF转Word的2种好用方法:1、在线工具(推荐Smallpdf、iLovePDF):打开网站(如 smallpdf.com),上传PDF文件,选择“转Word”后下载,适合简单文档,无需安装软件。2、Microsoft Word直接转换:用Word(2013及以上版本)直接打开PDF文件,提示“转换为可编辑文档”后保存为.docx格式,兼容性较好。
2562
2025.04.27
Word倒转文字方法:1、插入文本框:点击【插入】→【文本框】,输入文字。2、旋转文本框:选中文本框,拖动上方旋转箭头180°翻转。3、艺术字翻转(可选):用【插入】→【艺术字】,右键选择【旋转】→【垂直翻转】。
3258
2025.04.25
在 word 中快速粘贴多页内容有三种方法:使用“粘贴选项”,选择“保留源格式”;使用快捷键“ctrl”+“alt”+“v”,选择“保留源格式”;使用 word vba 宏,循环遍历源文档中的所有页面并粘贴到目标文档。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
2285
2025.01.09
word改变单页纸张方向的方法:1、将插入点移动到需要修改的单页的开头;2、在“布局”菜单中“分隔符”下选择“下一页”;3、点击“纸张方向”,选择“横向”;4、将插入点移动到下一页的开头,再点击“分隔符”的“下一页”,再点击“纵向”即可。
3473
2024.11.27
标题,是标明文章、作品等内容的简短语句,一般分为总标题、副标题、分标题。而一级标题和二级标题和以此下去的标题代表的是一个序号,而且字体大小不一样。想了解更多相关的内容,可阅读本专题下面的相关文章。
2993
2024.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章



