解决pdfjs预览pdf失真(花屏)问题

最近项目遇到了一个pdf预览问题,对于一些扫描文件成的pdf文件预览的时候会出现花屏的情况,用wps正常可以打开看到内容,但实际看到的内容也比较模糊。

pdf预览失真

 正常打开可以

查阅了一些资料,问题的原因是pdfjs版本的问题。

相关类似问题可参考pdfjs官方issues:

1. https://github.com/mozilla/pdf.js/issues/11957

2. Fix JPX tag tree decode (issue 11957) by linfangrong · Pull Request #13698 · mozilla/pdf.js · GitHub

项目用的版本是1.9.523,最新的版本此问题已解决,直接升级版本到最新或者2.x.x以上也可以。

如果不想升级,可以直接修改源码。

解决方法:

找到pdf.worker.js文件,在 precinct.zeroBitPlanesTree = zeroBitPlanesTree这行代码下面加上以下代码即可。

for (let l = 0; l < layerNumber; l++) {
    if (readBits(1) !== 0) {
        throw new JpxError("Invalid tag tree");
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_45032067/article/details/126399662