docx
DOCX 创建、编辑与分析
概述
.docx 本质为 ZIP,内含 XML 等资源。按任务类型选择不同工作流。
工作流选择
- 仅阅读/分析 → 文本提取或原始 XML 访问
- 新建文档 → 「创建新 Word 文档」流程
- 编辑已有文档:
- 自己的文档 + 简单修改 → 基础 OOXML 编辑
- 他人文档 / 法律、学术、商业、政府文档 → 修订流程(Redlining)(推荐或必须)
阅读与分析
文本提取
用 pandoc 转为 markdown,可保留修订:
pandoc --track-changes=all path-to-file.docx -o output.md
# 选项: --track-changes=accept/reject/all
原始 XML
批注、复杂格式、结构、媒体、元数据需解包后读 XML。
解包:python ooxml/scripts/unpack.py <office_file> <output_directory>
关键路径:word/document.xml、word/comments.xml、word/media/;修订用 <w:ins>、<w:del>。
创建新文档
使用 docx-js(JavaScript/TypeScript)。先完整阅读 docx-js.md,再以 Document / Paragraph / TextRun 构建,用 Packer.toBuffer() 导出 .docx。
编辑已有文档
使用 Document 库(Python,操作 OOXML)。流程:
- 完整阅读 ooxml.md
- 解包:
unpack.py <office_file> <output_directory> - 用 Document 库编写脚本编辑
- 打包:
pack.py <input_directory> <office_file>
修订流程(Redlining)
- markdown 表示:
pandoc --track-changes=all ... -o current.md - 识别并分批修改:按章节/类型/难度分组,每批约 3~10 处。
- 解包、阅读 ooxml.md,按建议 RSID 使用。
- 分批实现:
grep定位word/document.xml,用get_node等实现变更,doc.save()。 - 打包:
pack.py生成 .docx。 - 验证:再次
pandoc --track-changes=all转 md,grep核对修改是否完整、无多余变更。
原则:仅标记实际变更的文本;未改部分复用原 <w:r> 与 RSID。
转成图片
soffice --headless --convert-to pdf document.docx
pdftoppm -jpeg -r 150 document.pdf page
# -f / -l 可指定页范围
依赖
pandoc、docx(npm)、LibreOffice、poppler-utils、defusedxml(pip)。
More from kunhai-88/skills
marketing-ideas
需要营销创意、灵感或策略时使用。触发词:marketing ideas、growth ideas、how to market、marketing strategies、marketing tactics、ways to promote、ideas to grow。提供 140 个已验证的营销方法,按类别组织。
31marketing-psychology
将心理学原理、心智模型或行为科学应用于营销时使用。触发词:心理学、心智模型、认知偏差、说服、行为科学、人们为何购买、决策、消费者行为。提供 70+ 面向营销的心智模型。
16agent-browser
浏览器自动化工具,用于网页导航、交互、截图、录制等。当需要自动化浏览器操作、测试网页、抓取网页内容、填写表单、截图、录制视频,或提到「浏览器自动化」「网页测试」「agent-browser」「浏览器操作」时使用。
12supabase-postgres-best-practices
Supabase 出品的 Postgres 性能优化与最佳实践。在编写、评审或优化 Postgres 查询、表结构设计或数据库配置时使用。
10audit-website
使用 squirrelscan CLI(squirrel)对网站进行审计,覆盖 SEO、技术、内容、性能、安全等 140+ 规则。当需要分析网站健康、排查技术 SEO、检查死链、校验 meta 与结构化数据、生成站点审计报告、对比改版前后,或提到「网站审计」「audit website」「squirrel」「站点健康检查」时使用。
8better-auth-best-practices
集成 Better Auth(TypeScript 鉴权框架)时使用。支持邮箱密码、OAuth、魔法链接、Passkey 等,通过插件扩展。编写或配置 Better Auth 时触发。
8