docs(详细设计): 新增Word回填导出设计
This commit is contained in:
65
docs/详细设计/skill/导出版式校验Skill.md
Normal file
65
docs/详细设计/skill/导出版式校验Skill.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# 导出版式校验Skill 设计
|
||||
|
||||
## 1. Skill 定位
|
||||
|
||||
`导出版式校验Skill` 负责检查回填后的 Word 文件是否仍有未替换占位符、必填字段是否落位、基础版式是否完整。
|
||||
|
||||
英文实现标识建议使用 `ExportLayoutCheckSkill`。
|
||||
|
||||
## 2. 输入
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class ExportLayoutCheckInput:
|
||||
output_file_path: Path
|
||||
template_mappings: list[dict]
|
||||
```
|
||||
|
||||
## 3. 输出
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class ExportLayoutCheckOutput:
|
||||
layout_check_status: str
|
||||
unfilled_placeholders: list[str]
|
||||
layout_warnings: list[dict]
|
||||
```
|
||||
|
||||
## 4. 核心方法
|
||||
|
||||
### 4.1 `run(input) -> ExportLayoutCheckOutput`
|
||||
|
||||
主入口方法。
|
||||
|
||||
### 4.2 `detect_unfilled_placeholders(file) -> list[str]`
|
||||
|
||||
检查残留占位符。
|
||||
|
||||
### 4.3 `validate_required_fields(file, mappings) -> list[dict]`
|
||||
|
||||
校验必填字段。
|
||||
|
||||
### 4.4 `validate_basic_layout(file) -> list[dict]`
|
||||
|
||||
校验基础版式元素。
|
||||
|
||||
## 5. 技术实现
|
||||
|
||||
使用技术:
|
||||
|
||||
1. `python-docx`
|
||||
2. 可选 LibreOffice 转 PDF
|
||||
3. 占位符扫描规则
|
||||
|
||||
## 6. 异常处理
|
||||
|
||||
1. 文件不存在:校验失败。
|
||||
2. 残留占位符:标记待复核。
|
||||
3. 版式元素缺失:标记警告。
|
||||
|
||||
## 7. 测试要点
|
||||
|
||||
1. 残留占位符可识别。
|
||||
2. 必填字段缺失可识别。
|
||||
3. 正常文档通过校验。
|
||||
|
||||
Reference in New Issue
Block a user