概述
本方案支持 Word 文档(.docx)的导入和导出,实现了编辑器与 Office 文档格式之间的无缝转换。整体架构如下:
Word .docx 文件 ↓ (导入) mammoth 库解析 ↓ HTML 格式 ↓ Tiptap 编辑器 ↓ JSON Content ↓ (导出) docx 库生成 ↓ Word .docx 文件
核心依赖库
| 库名 | 版本 | 用途 |
|---|---|---|
| mammoth | 1.11.0 | Word 文档导入,将 .docx 转换为 HTML |
| docx | 9.1.0 | Word 文档导出,将 JSON 转换为 .docx |
| markdown-it | 14.1.0 | Markdown 文档导入 |
Word 文档导入
文件位置
- API 路由:
src/app/api/import/route.ts - 核心逻辑:
src/lib/server/importDocument.ts
1. 导入流程
用户选择文件后,系统会进行以下处理:
- 通过 FormData 上传文件。
- 验证文件类型(支持
.docx,.md,.txt等)。 - 根据类型调用对应解析器(mammoth, markdown-it 或纯文本解析)。
- 生成 HTML 并清理样式。
- 返回给前端由 Tiptap 渲染。
2. API 接口
端点: POST /api/import
请求格式: multipart/form-data
{
file: File // 上传的文件对象
}
响应格式:
{
success: true,
html: string, // 转换后的 HTML
format: 'docx' | 'markdown' | 'text'
warnings? string
filename string


