pdf.js 分片加载问题

现象

在pdf分片加载的时候,会有bytes 大于默认大小65535。特别是pdf文件在13MB左右的时候,这种现象更加明显。

如下图:
在这里插入图片描述
上图中,最后两次请求体积明显大于65535。

如果文件过小比如只有1MB,或者文件过大200MB,则这种问题很少见。

解决方案

经查看pdf.js的源码,在pdf.js\src\display\fetch_stream.js 文件中227行左右进行修改。修改如图:
在这里插入图片描述
添加代码:

const diff = (end - 1) - begin;
const url = source.url;

if (diff > (source.rangeChunkSize|| 65535)) {
   return false;
}

修改完成之后,按照pdf.js github官网 进行重新打包即可。
重新打包完成后,pdf.js\build\generic 文件夹中的两个文件是打包的输出。

添加代码之后的效果

如图:
在这里插入图片描述
问题解决!!!

疑问

其实,这个分片加载感觉像一个障眼法,没有从根本上解决分片加载。因为,每次加载pdf文件,需要等好久,但是http的请求时间却很短。关于文件加载这块,本人不是很熟悉,希望熟悉这块的网友留言讨论。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值