1.6 KiB
FAIL
crates/ely-pdf-engine/shim/ely_insert.c:145 — 字体引用改写按原始字符串查重命名表,遗漏 PDF 名称的 #xx 解码,保存后字段绑定到目标文档的同名字体(PDF-02)。复现:源表单 /DR/Font/Custom 为 Courier,/DA 为 (/C#75stom 24 Tf 1 0 0 rg);目标同名资源为 Helvetica。真实 worker 插入并保存后,源字体已改名 Custom_2,插入字段的 /DA 仍为 /C#75stom,解析后的 Custom 指向 Helvetica。pdftoppm 在 72 dpi 下得到源页红色像素 297、合并页 364,字形和外框改变;原有回归只覆盖未转义名称。隔离副本解码名称、按 PDF 名称语法写出新引用后,新增绑定回归通过,合并页与源页像素哈希一致。方向:按 PDF token 语法解析、解码和序列化资源名,覆盖转义名称及保存重开的字体绑定与渲染。
crates/ely-pdf-engine/shim/ely_insert.c:168 — 字段继承迁移仅处理 /DA,源 AcroForm 的默认对齐 /Q 丢失,插入字段继承目标表单的对齐(PDF-02)。复现:源 AcroForm 设置 /Q 2,文本字段无自身 /Q;目标 AcroForm 设置 /Q 0。真实 worker 插入并保存后,插入字段仍无 /Q,源文档的右对齐变为左对齐;pdftoppm 在 72 dpi 下得到源页文字外框 x=228–296,合并页 x=76–144。隔离副本将源 /Q 迁入缺少该属性的字段树根后,新增保存回归通过,文字外框与整页像素哈希均恢复一致。方向:迁移源表单中字段依赖的继承属性,保留字段自身覆盖值,增加目标与源默认对齐不同的保存重开回归。