ClawSkills logoClawSkills

DOCX

读取和生成具有正确结构、样式和跨平台兼容性的 Word 文档。

介绍

## Structure

- DOCX 是一个包含 XML 文件的 ZIP 包——`word/document.xml` 包含主要内容,`word/styles.xml` 包含样式 - 文本拆分为文本段(runs,`<w:r>`)——每个文本段具有统一的格式;一个单词可能跨越多个文本段 - 段落(`<w:p>`)包含文本段——切勿假设一个段落等于一个文本块 - 节(Sections)控制页面布局——页眉/页脚、边距、方向均按节设置

## 样式与直接格式

- 样式(如“标题 1”、“正文”)具有名称且可重用——直接格式是内联的,并会覆盖样式 - 清除直接格式可以显露底层样式——这对清理很有用 - 字符样式应用于文本段,段落样式应用于段落——它们可以叠加 - 链接样式两者皆可——应用于段落或选中文本时的行为不同

## 列表与编号

- 编号机制复杂:`abstractNum` 定义模式,`num` 引用它,段落引用 `numId` - 编号不会自动重启——需要带有重启标志的显式 `<w:numPr>` - 项目符号和编号共享同一套编号系统——均使用 `numId` - 缩进与编号分开控制——列表可以在没有视觉缩进的情况下存在

## 页眉、页脚、节

- 每个节可以有不同的页眉/页脚——首页、奇数页、偶数页 - 分节符:下一页、连续、奇数/偶数页——影响分页 - 页眉/页眉存储在单独的 XML 文件中——由节属性引用 - 页码是域,而非静态文本——打开或打印时会更新

## 修订与批注

- 修订功能将原始版本和修订版本存储在同一文档中——接受/拒绝以完成定稿 - 已删除的文本仍保留在 `<w:del>` 包装器中——切勿假设可见内容即为所有内容 - 批注通过书签 ID 引用范围——从 `<w:commentRangeStart>` 到 `<w:commentRangeEnd>` - 修订 ID 追踪谁修改了什么——即使接受后元数据仍会保留

## 域与动态内容

- 域包含代码和缓存结果——`{ DATE \@ "yyyy-MM-dd" }` 与显示的日期相对 - 目录、页码、交叉引用均为域——更新域以刷新内容 - 超链接可以是域也可以是直接的 `<w:hyperlink>`——两者均有效 - MERGEFIELD 用于邮件合并——在执行合并前为占位符

## 兼容性

- 兼容模式将功能限制为早期 Word 版本——请检查 `w:compat` 设置 - LibreOffice/Google Docs:复杂格式可能会发生变化——请测试往返转换 - 嵌入字体可能无法转移——回退字体将进行替换 - DOCM 包含宏(安全风险);DOC 是旧版二进制格式

## 常见陷阱

- 使用空段落进行间距调整——建议在段落样式中使用段前/段后间距 - 段落内的手动分页符——请使用分节符来控制布局 - 页眉中的图片:关系 ID 是针对部件的——同一图片需要在页眉中建立单独的关系 - 复制粘贴会带入源样式——可能会用重复项污染样式库

更多产品