基于 docx-js 与 Python 工具链的专业 Word 文档创建、编辑与格式处理能力,支持复杂表格、修订追踪与元数据管理。
说明:
## 核心用法
**docx-cn** 是一套完整的 Word 文档处理技能,分为两大工作模式:
### 1. 创建新文档(docx-js)
使用 Node.js 的 `docx` 库生成 `.docx` 文件,支持:
– **精准格式控制**:显式设置页面尺寸(US Letter 12240×15840 DXA 或 A4),避免默认 A4 导致的兼容性问题
– **专业排版**:通过覆盖内置样式(Heading1/Heading2)实现自定义标题层级,支持目录自动生成
– **复杂表格**:强制使用 DXA 单位(禁用百分比),需同时设置 `columnWidths` 和单元格 `width`,确保 Google Docs 等平台的兼容性
– **图片插入**:必须指定 `type` 参数(png/jpg 等),支持尺寸变换与无障碍文本
– **修订追踪**:通过 `Paragraph` 包裹 `PageBreak`,避免无效 XML
### 2. 编辑现有文档(解包-编辑-打包)
采用「解包 → XML 编辑 → 打包」三步骤:
– **解包**:`unpack.py` 提取 XML、合并相邻文本运行、转换智能引号为 XML 实体
– **编辑**:直接修改 `word/document.xml`,支持修订标记(“/“)、评论添加、图片嵌入
– **打包**:`pack.py` 验证并修复常见问题(如 `durableId` 溢出、`xml:space` 缺失),生成最终文档
### 显著优点
– **技术深度**:覆盖 docx 格式底层 XML 结构,支持细粒度控制(如 RSID 管理、关系文件维护)
– **跨平台兼容**:针对 Google Docs、LibreOffice 等常见平台的渲染差异提供规避方案
– **修订追踪完整**:支持多作者协作场景,可接受/拒绝他人修订,正确处理段落级删除
– **自动化工具链**:Python 脚本封装复杂操作(解包、验证、评论管理),降低手工 XML 编辑错误率
### 潜在缺点与局限性
– **学习曲线陡峭**:需理解 Office Open XML 规范(OOXML),包括 DXA/EMU 单位换算、元素顺序约束等
– **工具链依赖重**:需同时配置 Node.js、Python、LibreOffice、Poppler 等环境
– **手动编辑风险**:XML 编辑错误可能导致文档损坏,虽有自动修复但无法覆盖所有 schema 违规
– **Legacy 格式限制**:`.doc` 文件需先转换为 `.docx`,无法直接编辑
### 适合人群
– **法务/合规团队**:需批量生成带修订追踪的标准合同文本
– **出版/排版专业人员**:需要精确控制页面布局、字体、目录结构的场景
– **自动化办公开发者**:将文档生成集成到 CI/CD 或业务系统的工程师
– **学术/研究人员**:处理带复杂表格、交叉引用、图表的大型报告
### 常规风险
– **格式漂移风险**:不同 Word 版本(Windows/Mac/在线版)对复杂表格、文本框的渲染存在差异
– **元数据泄露**:解包编辑可能暴露作者信息、修订历史,需在敏感场景下清理 `docProps/core.xml`
– **脚本注入隐患**:若用户输入直接进入 XML 内容,需防范 XXE 或恶意实体注入(本技能未显式提及输入过滤机制)
– **依赖项维护**:docx-js 版本升级可能导致 API 变更,需锁定版本并验证输出









