PDF.js实现按需分片加载pdf文件
作者:mmseoamin日期:2024-01-21

pdf.js实现按需、分片加载pdf文件

1.服务端配置

分片加载的实现是基于 HTTP-RANGE,即服务端文件接口必须实现了HTTP-RANGE。

服务端文件接口实现HTTP-RANGE,需要服务端添加如下响应头

[
  {
    key: "Accept-Ranges",
    value: "bytes"
  },
  {
    key: "Access-Control-Expose-Headers",
    value: "Accept-Ranges,Content-Range"
  }
]

2.下载 releases 包

在 mozilla/pdf.js 的github仓库下载最新的 Releases 包

https://github.com/mozilla/pdf.js/releases

PDF.js实现按需分片加载pdf文件,Releases,第1张

这里以 Vue 为例,其他前端框架同理

将 Releases 包解压后放至前端项目的 public 根目录下,如下图

PDF.js实现按需分片加载pdf文件,根目录位置,第2张

3.PDF预览

在页面中用 iframe 形式引入 viewer.html 并传入需要预览的pdf地址


打开网络请求面板,如果 pdf 文件的接口请求都是 206 状态码,说明分片加载成功

PDF.js实现按需分片加载pdf文件,接口请求,第3张

点击单个请求,响应标头如下:

PDF.js实现按需分片加载pdf文件,响应标头,第4张