feat: 实现动态 DOCX 模板与样式映射

This commit is contained in:
SkyJourney
2026-07-30 14:10:43 +08:00
parent fe5d67fb6d
commit fa159d916f
41 changed files with 3610 additions and 7 deletions
+13 -2
View File
@@ -98,6 +98,14 @@ Server 使用 Playwright Chromium、Desktop 使用 Electron Chromium
万像素、8 MiB 单图和 30 MiB 总量。本阶段只提供共享服务和平台适配器,
尚未新增 DOCX HTTP 路由、应用 IPC、Pandoc 调用或导出按钮。
`v0.6.0` 阶段 6 已完成纯 Node.js 动态 `reference.docx` 引擎:14 套
内置主题均声明结构化 DOCX 样式预设;引擎基于 Pandoc 3.9.0.2 默认模板
映射纸张、方向、页边距、正文、标题、代码、引用、表格、图注、字体、
首页/奇偶页眉页脚和动态页码。生成后会校验全部 XML、包内关系、内容
类型、最终节与关键样式,并使用稳定缓存键区分基线、Pandoc 版本、主题、
配置和元数据。本机真实 Pandoc 验收覆盖公文 A4 和自定义横向两组模板,
输出仍由标准 Word 段落、文本 Run、表格和代码文本组成,可继续编辑。
## 2. 已完成
### 2.1 项目骨架
@@ -976,6 +984,9 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
- `apps/server/src/app.ts` 是新增的可测试 Fastify 应用。
- `packages/application` 负责共享 Markdown 渲染和主题应用服务;
`apps/server``apps/desktop` 分别提供 HTTP 和 IPC 适配。
- `packages/docx-engine` 负责安全读取 Pandoc 默认模板、解析主题 DOCX
样式、生成动态 OOXML 部件和执行结构校验;Pandoc 进程定位、临时目录
与转换超时仍属于后续转换服务。
- `apps/desktop/src/desktop-application-controller.ts` 负责 Electron
多窗口、同文件单例、文件变化检测和平台链接动作;`main.ts` 负责启动
组装、协议和生命周期。
@@ -1010,8 +1021,8 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
- 阶段 3:已实现 DOCX 共享模型和跨端导出协议;
- 阶段 4:已实现 CodeMirror 6 与可扩展基础 Markdown 工具栏;
- 阶段 5:已实现 DOCX 资源预处理和跨端 Chromium PNG 捕获适配器;
- 阶段 68:依次实现动态 reference.docx、Pandoc 转换服务以及
Web/Desktop 导出交互;
- 阶段 6:已实现动态 reference.docx、主题样式映射和真实 Pandoc 验证;
- 阶段 7~8:依次实现 Pandoc 转换服务以及 Web/Desktop 导出交互;
- 阶段 910:完成自动化和 Word/WPS 互操作验收,再构建正式发布产物。
每个阶段验收通过后创建一个独立提交,再进入下一阶段。当前阶段不得混入