# Word Reader

> 读取 Word 文档（.docx 和 .doc 格式）并提取文本内容。支持文档解析、表格提取、图片处理等功能。使用当用户需要分析 Word 文档内容、提取文本信息或批量处理文档时。

- Skill: `modbender/word-reader` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds add modbender/word-reader`
- Raw SKILL.md: https://api.skillmd.com/api/skills/modbender/word-reader/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: modbender (https://skillmd.com/u/modbender)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/modbender/word-reader

---


# Word 文档读取器

使用 Python 解析 Word 文档，提取文本内容和结构化信息。

## 支持的功能

- **文档文本提取** - 提取段落、标题、页眉页脚内容
- **表格解析** - 读取表格数据并转换为结构化格式
- **图片处理** - 提取文档中的图片信息
- **元数据获取** - 读取文档属性（作者、标题、创建时间等）
- **批量处理** - 支持处理多个文档

## 用法

### 基本文本提取

```bash
python3 {baseDir}/scripts/read_word.py <文件路径>
```

### 指定输出格式

```bash
# JSON 输出
python3 {baseDir}/scripts/read_word.py <文件路径> --format json

# 纯文本输出
python3 {baseDir}/scripts/read_word.py <文件路径> --format text

# Markdown 格式
python3 {baseDir}/scripts/read_word.py <文件路径> --format markdown
```

### 提取特定内容

```bash
# 只提取文本
python3 {baseDir}/scripts/read_word.py <文件路径> --extract text

# 提取表格数据
python3 {baseDir}/scripts/read_word.py <文件路径> --extract tables

# 获取文档元数据
python3 {baseDir}/scripts/read_word.py <文件路径> --extract metadata
```

### 批量处理

```bash
# 处理目录下所有 .docx 文件
python3 {baseDir}/scripts/read_word.py <目录路径> --batch
```

## 参数说明

| 参数 | 说明 | 默认值 |
|------|------|--------|
| `--format` | 输出格式（json/text/markdown） | text |
| `--extract` | 提取内容类型（text/tables/images/metadata/all） | all |
| `--batch` | 批量处理模式 | false |
| `--output` | 输出文件路径 | stdout |
| `--encoding` | 文本编码（utf-8/gb2312） | utf-8 |

## 输出格式

### JSON 格式

```json
{
  "metadata": {
    "title": "文档标题",
    "author": "作者姓名",
    "created": "2024-01-01T10:00:00",
    "modified": "2024-01-01T12:00:00"
  },
  "text": "文档全文内容...",
  "tables": [
    [
      ["表头1", "表头2"],
      ["行1列1", "行1列2"],
      ["行2列1", "行2列2"]
    ]
  ],
  "images": [
    {
      "filename": "image1.png",
      "description": "图片描述",
      "size": "1024x768"
    }
  ]
}
```

### Markdown 格式

```markdown
# 文档标题

**作者**：作者姓名  
**创建时间**：2024-01-01 10:00:00

## 正文内容

这是文档的正文内容...

### 表格示例

| 表头1 | 表头2 |
|-------|-------|
| 行1列1 | 行1列2 |
| 行2列1 | 行2列2 |

![图片描述](image1.png)

## 图片列表

1. **image1.png** (1024x768) - 图片描述
```

## 错误处理

- 文件不存在：显示错误信息并退出
- 格式不支持：提示支持的文件类型
- 权限问题：提示文件访问权限
- 编码问题：尝试自动检测编码

## 示例场景

### 1. 查看项目文档

```bash
python3 {baseDir}/scripts/read_word.py 项目需求.docx --format markdown
```

### 2. 提取会议记录

```bash
python3 {baseDir}/scripts/read_word.py 会议记录.docx --extract text
```

### 3. 批量处理文档

```bash
python3 {baseDir}/scripts/read_word.py ./文档目录 --batch --format json --output results.json
```

## 注意事项

- 支持 .docx 格式（Office 2007+）
- .doc 格式需要额外依赖（如 antiword）
- 大文档处理可能需要较长时间
- 图片提取仅获取元数据，不包含实际图片数据
- 表格格式可能需要手动调整

## 故障排除

### 常见问题

1. **ModuleNotFoundError**: 确保已安装 python-docx
2. **PermissionError**: 检查文件读取权限
3. **UnicodeDecodeError**: 尝试不同的编码格式

### 安装依赖

```bash
pip3 install python-docx
```

对于 .doc 格式支持：
```bash
# Ubuntu/Debian
sudo apt-get install antiword

# macOS
brew install antiword
```

## 高级功能

### 自定义样式处理

脚本会自动处理以下文档元素：
- 标题级别（H1-H6）
- 段落样式
- 列表项目
- 页眉页脚
- 文档属性

### 性能优化

- 大文件流式处理
- 内存使用优化
- 进度显示（批量模式）
