word转pdf问题修复
This commit is contained in:
1 parent
a4d55a5c55
commit
712ec51d68
5 files changed
+158
No files matched your search
@@ -0,0 +1,11 @@
|
||||
# HTML 确认书 PDF 导入回归证据
|
||||
|
||||
这是 2026-09-11 的本地验证快照,不是当前业务规则或生产部署记录。活动实现以 `control-plane/src/document-converter.ts` 为准。
|
||||
|
||||
- [脱敏验证数据](verification.json):运行环境、输入哈希、页数、标题与文本完整性结果;未存储客户原文件、PDF、截图或正文。
|
||||
- 测试环境由项目相同 Debian 12 基础镜像及 LibreOffice Writer/Calc、Noto CJK 依赖搭建,LibreOffice `7.4.7.2 40(Build:2)` 和四项字体匹配结果与用户的 ACK 输出相同。本地 arm64;未验证生产架构和 Debian 补丁包版本完全一致。
|
||||
- 原始 HTML-in-DOC + 现有转换流程稳定复现 4 页、首页纯白、中文标题缺失。字体映射、显式中文字体名、去除 layout-grid 和命名页面对照均未解决。
|
||||
- 相同输入、版本和字体下,加入 `--infilter=HTML (StarWriter)` 后变为 3 页,中文标题恢复。修复后编译出的实际模块复验通过,3 页 PNG 与已经逐页视觉检查的参数实验结果逐像素相同。
|
||||
- 121 个长度至少为 4 个非空白字符的源 HTML 正文文本片段均能在修复后的 PDF 中匹配;这不是对任意文档或所有排版细节的保证。
|
||||
- 测试容器全部断网,未验证远程印章图片的下载,未操作 ERP、数据库、生产服务或 AgentBus。
|
||||
- LibreOffice 官方的 [转换过滤器说明](https://help.libreoffice.org/latest/en-US/text/shared/guide/convertfilters.html) 将 `HTML (StarWriter)` 定义为 Writer 的 HTML 导入过滤器。
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"date": "2026-09-11",
|
||||
"purpose": "Local offline regression evidence; not a production deployment receipt",
|
||||
"environment": {
|
||||
"version": "LibreOffice 7.4.7.2 40(Build:2)",
|
||||
"packages": "fontconfig\t2.14.1-4\nfonts-noto-cjk\t1:20220127+repack1-1\nlibreoffice-core\t4:7.4.7-1+deb12u14\nlibreoffice-writer\t4:7.4.7-1+deb12u14",
|
||||
"arch": "arm64",
|
||||
"fonts": {
|
||||
"SimSun": "DejaVuSerif.ttf: \"DejaVu Serif\" \"Book\"",
|
||||
"宋体": "DejaVuSans.ttf: \"DejaVu Sans\" \"Book\"",
|
||||
"Times New Roman": "DejaVuSerif.ttf: \"DejaVu Serif\" \"Book\"",
|
||||
"SimSun:weight=bold:lang=zh-cn": "NotoSerifCJK-Bold.ttc: \"Noto Serif CJK SC\" \"Bold\""
|
||||
}
|
||||
},
|
||||
"production_match": "LibreOffice version output and four fc-match outputs match user-supplied ACK diagnostics; production architecture and Debian package revision were not verified",
|
||||
"source": {
|
||||
"bytes": 46632,
|
||||
"sha256": "b4c0489e33d632019dd49de899220a66e6fc61a65ef964bdfa7fea45d24c68a8",
|
||||
"stored_in_repository": false
|
||||
},
|
||||
"baseline": {
|
||||
"pages": 4,
|
||||
"page_text_lengths": [
|
||||
0,
|
||||
965,
|
||||
666,
|
||||
667
|
||||
],
|
||||
"blank_first_page_verified_by_pixels": true,
|
||||
"chinese_title_present": false
|
||||
},
|
||||
"fixed": {
|
||||
"page_count": 3,
|
||||
"page_text_lengths": [
|
||||
896,
|
||||
613,
|
||||
809
|
||||
],
|
||||
"first_page_has_title": true,
|
||||
"text_chunks_checked": 121,
|
||||
"text_chunks_matched": 121,
|
||||
"source_sha256": "b4c0489e33d632019dd49de899220a66e6fc61a65ef964bdfa7fea45d24c68a8",
|
||||
"pdf_sha256": "5cc0b09de25c337bd343b989f38e991aca6f9eb61cbd94b4a25ea8332126758d"
|
||||
},
|
||||
"visual_review": {
|
||||
"pages_reviewed": 3,
|
||||
"compiled_module_render_matches_reviewed_experiment": true
|
||||
},
|
||||
"network": "disabled for all conversion tests; remote stamp image retrieval was not tested",
|
||||
"change": "Add --infilter=HTML (StarWriter) only for detected HTML in PDF conversion"
|
||||
}
|
||||
Reference in new issue
Block a user