feat: 完成 DOCX 通用结构映射与严格收口
This commit is contained in:
@@ -5,7 +5,10 @@
|
||||
兼容样式预设映射为 Word 样式,并生成纸张、页边距、字体、段落、代码、表格、
|
||||
页眉、页脚和页码均已映射的动态模板。Pandoc 转换器通过静态 Lua Filter
|
||||
将普通图片、Mermaid 和 ECharts 节点替换为受控 PNG,同时保留 Markdown
|
||||
正文、标题、列表、表格、代码和公式的可编辑文档结构。
|
||||
正文、标题、列表、表格、代码和公式的可编辑文档结构。统一语义文档模型
|
||||
会先转换为主题无关的 Pandoc 结构计划,Lua Filter 再绑定标准 Markdown
|
||||
样式与 `Md*` 结构样式;生成后的 OOXML 收口层负责真实分节、封面页眉页脚
|
||||
隔离、正文页码重启、表格内容区全宽和分页控制。
|
||||
|
||||
## 设计边界
|
||||
|
||||
@@ -15,7 +18,11 @@
|
||||
- 不解析任意主题 CSS,只消费 `@md-to-pdf/docx-theme-engine` 的受限
|
||||
语义令牌;`docxStyle` 预设在槽位缺失时提供兼容降级;
|
||||
- 槽位只映射到稳定的标准或 `Md*` Word 样式,不包含主题 ID 分支;
|
||||
- Front Matter 结构、标题策略和分节意图只消费统一语义文档模型,不按
|
||||
主题 ID 编写转换分支;
|
||||
- 生成结果会复验全部 XML、包内关系、内容类型、最终节和关键样式;
|
||||
- 最终 DOCX 必须清除全部内部结构标记,并校验实际样式使用、分节、
|
||||
`SECTIONPAGES`、全宽表格和标题去重;
|
||||
- 每次转换使用独立临时目录、隔离 Pandoc data 目录并在 `finally` 清理;
|
||||
- 媒体映射检查顺序、PNG、像素、单图/总大小和物理显示尺寸;
|
||||
- 并发排队、跨端用例编排和错误协议映射由
|
||||
@@ -40,6 +47,7 @@ npm run verify:docx-reference
|
||||
npm run verify:docx-conversion
|
||||
npm run verify:docx-acceptance
|
||||
npm run verify:docx-theme-styles
|
||||
npm run verify:docx-themes
|
||||
```
|
||||
|
||||
`verify:docx-reference` 要求本机 `PATH` 中存在 Pandoc 3.9.0.2,也可以通过
|
||||
@@ -59,3 +67,9 @@ npm run verify:docx-theme-styles
|
||||
内置主题的 56 个槽位,检查跨引擎令牌一致性,并使用固定 Pandoc 默认
|
||||
模板生成 14 份动态 `reference.docx`。模板矩阵检查标准 Markdown 样式、
|
||||
结构化 `Md*` 样式、正文字体、字号、字体表和缓存指纹。
|
||||
|
||||
根级 `verify:docx-themes` 会先重新构建运行时并使用 Playwright Chromium
|
||||
生成本轮真实主题令牌,再以固定 Pandoc 生成 14 份最终 DOCX。矩阵硬门禁
|
||||
覆盖标准样式、原生页眉页脚、结构字段完整率、封面真实分节、正文页码
|
||||
重启、`SECTIONPAGES`、内容区全宽表格、标题去重、内部标记清理和
|
||||
`altChunk` 禁用;不会使用陈旧快照或合成令牌降级。
|
||||
|
||||
Reference in New Issue
Block a user