feat: 完成 DOCX R4 元素级视觉门禁
建立 Chromium、Word 与 WPS 的可编辑内容、段落几何、页眉页脚、封面、媒体和逐页视觉比较链路。 支持封面独立分节、正文页码重启、主题页边距与横向纸张,并将自然分页差异降为诊断项。 修正代码块内边距和折叠表格单元格边框映射,14 套主题生产矩阵与六组布局视觉矩阵通过。
This commit is contained in:
+64
-2
@@ -388,6 +388,62 @@ Filter、只读挂载以及 Docker 构建上下文排除。统一真实门禁为
|
||||
生产构建和 `git diff --check` 均通过。下一步 R4 进入 14 套主题深度视觉
|
||||
回归。
|
||||
|
||||
阶段 12D-R4-2 已建立可复现的全主题生产链矩阵。统一命令
|
||||
`npm run verify:docx-r4-matrix` 会先重新生成 14 套主题的标准 DOCX 结构
|
||||
基线并复验可选字体包,再构建同源 Web 预览运行时,通过真实 Fastify HTTP
|
||||
接口和 Playwright Chromium 分别生成 14 份 PDF 与 14 份 DOCX。产物与
|
||||
结构化报告写入被 Git 忽略的 `output/docx-r4/`,供后续 Word、WPS 和视觉
|
||||
差异阶段复用。
|
||||
|
||||
本轮生产链共生成 28 页 Chromium PDF;14/14 DOCX 均保留标准 Word
|
||||
段落、标题、代码、表格和图注样式,不含 `altChunk` 或内部结构标记,
|
||||
Front Matter、封面分节、标题去重及表格全宽继续通过标准矩阵门禁。
|
||||
PDF 与 DOCX 的 Mermaid、ECharts 错误均为 0;`gov-red-standard` 通过
|
||||
Server 字体包注册链命中 `mdtp-serif-sc@1.0.0`,字体表包含
|
||||
`MdTP Serif SC` 并实际嵌入 5 个字体部件。3 条诊断仍是已冻结的商务标书
|
||||
超粗边框和经典标书双层边框结构近似。Server 44 项测试、类型检查、构建
|
||||
及 `git diff --check` 通过。下一步 R4-3 使用 Microsoft Word 对 14 份
|
||||
生产 DOCX 执行无修复打开、编辑、保存和 PDF 导出。
|
||||
|
||||
阶段 12D-R4 媒体专项已完成生产链、OOXML、Word/WPS 编辑互存和视觉
|
||||
门禁。媒体捕获协议现在记录实际显示尺寸、内容区边界和左右/居中对齐,
|
||||
Pandoc 媒体布局使用稳定绑定标记与整数 EMU;最终 DrawingML 强制
|
||||
`wp:inline`、零环绕距离、锁定宽高比、无裁切/旋转/翻转,并校验 PNG
|
||||
关系、替代文本、孤立部件和纸张内容区上限。普通图片、宽图、高图、
|
||||
Mermaid 与 ECharts 共 5 个媒体在 Word/WPS 中均可编辑;自动化将首图
|
||||
缩放至 90% 后原位保存并重开,Word 非目标图尺寸漂移为 0,WPS 最大仅
|
||||
0.046 pt,且两端没有浮动图片或额外图片关系。
|
||||
|
||||
统一命令 `npm run verify:docx-media-visuals` 会通过真实 Server HTTP 生成
|
||||
Chromium PDF 与 DOCX,再由 Word/WPS 导出 PDF、编辑互存并复导 PDF;
|
||||
三份 PDF 使用独立 PDF.js worker 生成页面快照、叠加图和热力图,避免
|
||||
多文档进程级状态污染。五色几何门禁检查物理尺寸、宽高比和水平中心;
|
||||
高图允许 Chromium 媒体回填与 DOCX 限高策略产生尺寸差异,但仍强制比例、
|
||||
对齐及 Word/WPS 物理尺寸一致。4 条图片题注在 Chromium、Word、WPS
|
||||
三端均要求距页面中心不超过 8 pt;`ImageCaption` 已固定为居中,同时
|
||||
保留主题提供的字体、字号、颜色和行距。Chromium 为 4 页,Word/WPS 为
|
||||
5 页,属于已允许的自然分页差异;三端可编辑文本完整。原始逐页像素报告
|
||||
仍如实标记页数与正文流差异,媒体专项门禁按上述契约通过。产物位于
|
||||
`output/docx-media-gate/`。
|
||||
|
||||
阶段 12D-R4 布局视觉矩阵已完成。统一命令
|
||||
`npm run verify:docx-layout-visual-matrix` 覆盖 A4/Letter、纵向/横向、
|
||||
主题/自定义及非对称页边距、普通文档、公文和两类独立封面,通过真实
|
||||
Chromium、Microsoft Word 与 WPS Writer 生成逐页原图、叠加图、热力图和
|
||||
结构化报告。发布门禁明确以元素颗粒度为准:字体、字重、颜色、尺寸、
|
||||
段落与代码内边距、标题和封面换行、表格边框与填充、图片尺寸和对齐、
|
||||
页眉页脚及页码位置属于严格项;Word/WPS 与 Chromium 的正文分页位置、
|
||||
页数和由排版引擎产生的自然行容纳差异仅作为诊断,不单独阻断。封面仍
|
||||
必须保持独立单页并在正文前强制换页。
|
||||
|
||||
六组矩阵的 Word/WPS 可编辑文本均精确匹配,严格问题为 0。视觉审查发现
|
||||
主题普遍将折叠表格边框声明在 `th/td` 而非 `table`:转换器此前误用旧
|
||||
模板的浅色细边框。本轮已将单元格四边通用映射到 OOXML 外框和
|
||||
`insideH/insideV`,保留表自身显式边框优先级;横向规章制度主题重新渲染
|
||||
后,Chromium、Word、WPS 的网格颜色、线宽和表头填充一致。随后重跑
|
||||
14 套主题生产矩阵,全部完成同源 PDF/DOCX、结构、字体包、封面分节、
|
||||
标题去重、表格全宽、媒体和 OOXML 校验。
|
||||
|
||||
## 2. 已完成
|
||||
|
||||
### 2.1 项目骨架
|
||||
@@ -1348,8 +1404,14 @@ ECharts 第二阶段浏览器与 PDF 验证结果:
|
||||
- 阶段 12D-FP3-B:已完成独立用户级 NSIS 字体包、原子安装/升级/卸载、
|
||||
主安装器同目录哈希校验和显式静默开关;
|
||||
- 阶段 12D-FP3-C:已完成 Docker v0.6.0 DOCX/Pandoc 运行链、字体包只读
|
||||
可选挂载及空目录、有效包、损坏包三场景真实部署门禁;下一步由 R4 完成
|
||||
14 套主题深度视觉回归;
|
||||
可选挂载及空目录、有效包、损坏包三场景真实部署门禁;
|
||||
- 阶段 12D-R4-2:已完成 14 套主题的标准结构基线、可选字体包、真实
|
||||
Server HTTP、Chromium PDF 与生产 DOCX 矩阵;
|
||||
- 阶段 12D-R4 媒体专项:已完成稳定 PNG 布局、严格 DrawingML、五媒体
|
||||
Word/WPS 编辑互存、隔离逐页视觉比较和题注居中门禁;
|
||||
- 阶段 12D-R4 布局视觉矩阵:已完成六组主题、纸张、方向与页边距组合的
|
||||
Chromium/Word/WPS 元素级严格门禁,并重跑 14 套主题生产矩阵;分页流
|
||||
差异保留为诊断项,不再误判为样式失败;
|
||||
- 阶段 13:完成 Word/WPS 双向互存、外部主题兼容、体积和正式发布验收。
|
||||
|
||||
每个阶段验收通过后创建一个独立提交,再进入下一阶段。当前阶段不得混入
|
||||
|
||||
Reference in New Issue
Block a user