-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
在作者demo中打开部分OFD文件(带签章)时,出现白屏无法打开的情况,控制台中有如下报错
经过断点调试后发现,由于index-Bnhl8MCu.js文件中给C6变量赋值的方法中变量c的值是像SignedValue.dat这样的文件名,但在字典e.files的key中是像Doc_0/Signs/Sign_0/SignedValue.dat这样带路径样式的文件名,所以let l = await e.files[c].async("base64")无法找到对应的文件。
针对我的OFD文件我对代码做了如下修改
C6 = async (e, t, i, r) => {
if (t && t.length > 0)
for (let n = 0; n < t.length; n++) {
let s = t[n]
, o = Oe(s, Te.StampAnnot)
, c = Oe(s, Te.SignedValue).value;
c = dn(c);
c = s.fileName.substring(0, s.fileName.lastIndexOf("/")) + "/" + c; //添加部分,为文件名拼接上前面的路径
let l = await e.files[c].async("base64")
, u = await Pp(l);
if (u && u.type === "ofd")
await A6(u, s);
else if (u && u.type === "png") {
let f = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, u.ofdArray));
s.sealData = f
}
s.sealObject = u;
for (let f = 0; f < o.children.length; f++) {
let d = o.children[f]
, h = Ee(d, Ie.PageRef);
console.log("get pagerefid", h, i),
h === i && r.signList.push(s)
}
}
}
修改后OFD文件能正常打开,但测试文件有限,不能保证对所有OFD文件有用,希望作者大大看到后能修复问题
Metadata
Metadata
Assignees
Labels
No labels