我正在使用pdf.js查看pdf文档,pdf.js首先从服务器获取整个文档然后开始渲染,这种行为会导致两个问题:
- 如果pdf文档很大,加载需要很长时间。
- 如果有人从移动设备读取,缓存内存泄漏。
我认为通过仅请求用户浏览的所需页面而不是整个文档来使用 http 范围请求将解决这些问题。
这是一个实现范围请求的 PR,但请求仍在运行,直到整个文档加载而不是 fetch-as-you-go 行为。 https://github.com/mozilla/pdf.js/pull/2719
有什么帮助吗?
我正在使用pdf.js查看pdf文档,pdf.js首先从服务器获取整个文档然后开始渲染,这种行为会导致两个问题:
我认为通过仅请求用户浏览的所需页面而不是整个文档来使用 http 范围请求将解决这些问题。
这是一个实现范围请求的 PR,但请求仍在运行,直到整个文档加载而不是 fetch-as-you-go 行为。 https://github.com/mozilla/pdf.js/pull/2719
有什么帮助吗?
如果对 PDF 格式的记忆对我有用,那么实际文档不容易拆分,除非您在调用之前知道每个页面的确切字节范围(即使这样,我也不确定 JS 能否有效地处理二进制操作这样做,或者如果您要修改 JS 库来执行此操作)。您可能想要做的是按页面服务器端(使用 PHP 或其他语言)拆分文档,而不是使用 加载整个文档,而是pdf.js一个一个地加载页面。
这有一些好处和一些缺点。缺点:
优势应该是显而易见的:更少的带宽使用,提供逐页查看的能力,保存单个页面的能力。