66 lines
1.2 KiB
Markdown
66 lines
1.2 KiB
Markdown
# 导出版式校验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. 正常文档通过校验。
|
|
|