docs: 记录显示缩放导致的分页差异
This commit is contained in:
+24
-1
@@ -230,6 +230,24 @@ ec48bce chore: 初始化项目骨架
|
||||
- CSS 像素与 PDF 点数换算只使用 core 中的共享常量;删除已经不参与协议
|
||||
或逻辑的 `contentHeight` 字段。
|
||||
|
||||
### 3.8 Windows 显示缩放与快速预览分页差异
|
||||
|
||||
- 此前 65 页长文档在快速预览中生成 64 页、在精确预览和最终 PDF 中
|
||||
生成 65 页;该差异并非由 Chromium 版本不同导致。
|
||||
- 出现差异时,笔记本内屏使用 Windows 150% 系统显示缩放。切换到使用
|
||||
100% 显示缩放的外接显示器后,快速预览与精确预览的分页结果基本一致。
|
||||
- 当前定位是:Windows 显示缩放改变浏览器的 `devicePixelRatio`,并可能
|
||||
影响字体栅格化和 CSS 布局中的子像素取整;单处差异很小,但会在长文档
|
||||
分页过程中累计,最终造成页数差异。
|
||||
- 精确预览直接展示服务端 Chromium 生成的 PDF,最终下载也复用同一结果,
|
||||
因此精确预览和最终 PDF 继续作为权威分页结果;快速预览定位为编辑期间的
|
||||
客户端近似分页,不承诺在所有显示缩放环境下与 PDF 页数完全一致。
|
||||
- 后续优化快速预览时,应重点检查 `devicePixelRatio`、浏览器页面缩放、
|
||||
字体度量和逐页高度取整;分页测量不得依赖物理像素,视觉缩放不得参与
|
||||
文档排版和分页计算,并避免逐页取整造成累计误差。
|
||||
- 后续分页回归应覆盖 Windows 100%、125% 和 150% 系统显示缩放,分别
|
||||
记录快速预览、精确预览和最终 PDF 的页数及分页边界。
|
||||
|
||||
## 4. 已执行验证
|
||||
|
||||
2026-07-27 在当前完整工作区成功执行:
|
||||
@@ -262,8 +280,11 @@ git diff --check
|
||||
- 包含 ELK、Base 主题、Hand-drawn 外观、自定义字体、
|
||||
`themeVariables`、`style` 和 `classDef` 的 Mermaid 样例在快速预览
|
||||
与精确预览中均成功渲染;
|
||||
- 65 页附件的快速预览生成 64 页,67 个 Mermaid 全部使用静态 SVG;
|
||||
- 在 Windows 150% 系统显示缩放的笔记本内屏上,65 页附件的快速预览
|
||||
生成 64 页,67 个 Mermaid 全部使用静态 SVG;
|
||||
- 同一附件的精确预览和最终 PDF 均为 65 页;
|
||||
- 切换到 Windows 100% 系统显示缩放的外接显示器后,快速预览与精确预览
|
||||
的分页结果基本一致,进一步排除了 Chromium 版本差异这一判断方向;
|
||||
- 精确预览快速跳转至第 46、47、65 页,无黑色 Canvas、空白页或渲染错误;
|
||||
- PDF.js 同时只保留视口邻近页面的 Canvas,远端页面资源可以释放;
|
||||
- Mermaid A/B PDF 页数、逐页文字和抽样视觉结果一致;
|
||||
@@ -323,6 +344,8 @@ git diff --check
|
||||
- `.local/themes/typora-*` 是用户本机副本,已被 Git 忽略,不得提交。
|
||||
- `.local/theme-backups` 中保留 GitHub、Pixyll 和 Whitey 的可恢复备份;Newsprint 和 Night 的当前副本及备份已按用户要求删除。
|
||||
- Typora 官方资源是 All Rights Reserved,仅限当前用户本机使用,不进入 Git、容器或发布包。
|
||||
- 快速预览会受到客户端 Windows 显示缩放、浏览器缩放和设备像素比影响;
|
||||
对页数和分页边界有严格要求时,以精确预览和最终 PDF 为准。
|
||||
- 资源目录上传、本地相对图片、临时目录和路径安全尚未实现。
|
||||
- AIO 容器已经通过 Docker Desktop 构建、端到端和浏览器验证。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user