在网页中使用 pdfjs
库来实现一个 pdf 预览效果时候,有时候分辨率过大或者是文件有缺失部分信息就会出现 花屏
现象,这问题在 pdfjs
的新版本中有进行优化修复此问题,如果是之前写的一些老项目使用的 pdfjs
库版本较低的话,而且也不太想进行更新的情况下我们可以对源码进行稍微的修改解决此问题
修复之前:
控制台也会打印如下警告:
Warning: JPX: Trying to recover from: JPX error: Out of packets
修复之后:
那咱们开始进行修改,首先打开 pdf.worker.js
文件,搜索 precinct.zeroBitPlanesTree = zeroBitPlanesTree
这行代码,找到之后下一行就开始写如下代码:
for (var l = 0; l < layerNumber; l++) {
if (readBits(1) !== 0) {
throw new JpxError("Invalid tag tree");
}
}