1.8 KiB
FAIL
crates/ely-pdf-engine/shim/ely_mupdf.c:103 — 打开扫描只缓存对象,恢复判定只采用结构修复标记,内容流读取错误会被当作正常、可覆盖保存的文件,违反 PDF-14 及错误须暴露的规则。具体场景:文件的 xref、对象偏移和流长度均正确,带 /Filter /FlateDecode 的页面内容流为 not a zlib stream。真实 worker 输出 zlib error: incorrect header check、read error; treating as end of file,文字导出却返回成功并生成空文件,修复报告为空。应用探针确认 risk=None、repair=None;旋转后执行 Save,损坏原件从 582 字节变为 593 字节,原件保留断言失败。证据:/tmp/ely-c118-r2-malformed.log、/tmp/ely-c118-r2-corrupt-app.log。修复方向:将内容流解码及页面读取失败纳入加载、恢复风险和错误报告,输出遇读取失败须返回错误;此类损坏会话须保留原件,保存使用独立副本。回归覆盖有效 xref 配合损坏压缩内容流。
crates/ely-pdf-engine/src/bin/ely-pdf-worker/output.rs:116 — PRINT_COPY 复用普通保存并保留加密,系统打印端收到锁定副本,违反 PDF-13。具体场景:PDF 设置非空打开密码 user、所有者密码 owner,仅允许 PRINT;worker 解锁成功、权限为 PRINT,print_copy 返回成功,但生成的 print.pdf 在 PDFKit 中 isLocked=true,创建打印操作返回空,ely_platform::print::print_pdf 因而报 no print operation,打印面板无法打开。对照确认普通 PDF 可创建打印操作,同一 print.pdf 用 user 解锁后也可创建。证据:/tmp/ely-c118-r2-encrypted-print.log、/tmp/ely-c118-r2-print-control.log。修复方向:通过 PRINT 权限核验后生成仅供打印的已解密临时副本,普通保存继续保留原加密;回归覆盖非空打开密码及 PDFKit 创建打印操作。