# Word模板渲染Skill 设计

## 1. Skill 定位

`Word模板渲染Skill` 负责将回填字段集写入 Word 模板，生成新的 `.docx` 文件。

英文实现标识建议使用 `WordTemplateRenderSkill`。

## 2. 输入

```python
@dataclass
class WordTemplateRenderInput:
    template_file_path: Path
    fill_dataset: dict
    export_mode: str
    output_dir: Path
```

## 3. 输出

```python
@dataclass
class WordTemplateRenderOutput:
    output_file_path: Path
    rendered_placeholders: list[str]
    render_warnings: list[dict]
```

## 4. 核心方法

### 4.1 `run(input) -> WordTemplateRenderOutput`

主入口方法。

### 4.2 `replace_paragraph_placeholders(document, values) -> None`

替换段落占位符。

### 4.3 `replace_table_placeholders(document, values) -> None`

替换表格占位符。

### 4.4 `save_document(document, output_path) -> Path`

保存文档。

## 5. 技术实现

使用技术：

1. `python-docx`
2. 可选 `docxtpl`
3. Django Storage

## 6. 异常处理

1. 模板打不开：任务失败。
2. 占位符替换失败：记录警告。
3. 保存失败：任务失败。

## 7. 测试要点

1. 段落占位符可替换。
2. 表格占位符可替换。
3. 输出文件存在。

