45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
|
||
# 文件预览工程拆解分析
|
||
|
||
## 功能描述
|
||
|
||
- 维护生成Word文件的模板。
|
||
|
||
- 生成PDF文件。
|
||
|
||
## 代码运行截图
|
||
|
||
|
||
|
||
## 接口设计
|
||
|
||
| HTTP 请求路径 | 类名 | 方法名 | 接口说明 |
|
||
| ------------------------------------------- | ------------------ | ---------------- | --------------------------- |
|
||
| POST /contract/upload | ContractController | contractUpload | 上传模板文件,文件名即为模板名。上传后放入指定文件夹。 |
|
||
| POST /contract/list/template | ContractController | listTemplate | 列出已有模板。 |
|
||
| POST /contract/gen/{templateName} | ContractController | contractGen | 生成Word文件,返回其预览地址。 |
|
||
| POST /contract/excel/{templateName} | ContractController | excel | 生成Excel文件,返回预览地址。 |
|
||
| POST /contract/download/{templateName} | ContractController | downloadcontract | 生成PDF文件并下载。 |
|
||
| POST /contract/downloadWord/{templateName} | ContractController | downloadWord | 生成Word文件并下载。 |
|
||
| POST /contract/downloadExcel/{templateName} | ContractController | downloadExcel | 生成Excel文件并下载。 |
|
||
|
||
## 核心业务逻辑
|
||
|
||
### 生成Word/Excel
|
||
|
||
将参数以 Map 的形式传入,[Poi-tl](https://deepoove.com/poi-tl/) 按规则将参数渲染到模板。
|
||
|
||
### 生成PDF
|
||
|
||
调用 kkfile(底层是 LibreOffice),将 Word/Excel 转换为 PDF。
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!--stackedit_data:
|
||
eyJoaXN0b3J5IjpbLTE3Nzk5NjIwNzYsLTY5MTI3NjUyNCwxNj
|
||
IxMzQzODM3XX0=
|
||
--> |