PDFJS:通过范围请求获取一些不必要的块并使第一页变慢
PDFJS: Get some unnecessary chunks with range request and make first page slow
配置:
- 网络浏览器及其版本:Chrome 97.0.4692.99
- 操作系统及其版本:MacOS 10.15.5
- PDF.js版本:2.12.313
- 是否是浏览器扩展:否
- 我使用范围请求来渲染pdf
- 我用这行代码得到了更多块
await this.pdfManager.requestRange(ex.begin, ex.end);
;
- 呈现第一页时不需要这些块;
- 当我注释这行代码时,该程序似乎也 运行 正常,而且我可以获得更少的块以使第一页更快;
- 那么这部分代码的作用是什么?
- 是否可以不执行或者不用await?
// src/core/xref.js
async fetchAsync(ref, suppressEncryption) {
try {
return this.fetch(ref, suppressEncryption);
} catch (ex) {
if (!(ex instanceof MissingDataException)) {
throw ex;
}
await this.pdfManager.requestRange(ex.begin, ex.end);
return this.fetchAsync(ref, suppressEncryption);
}
}
当我注释这行代码时,我可以得到更少的块,而且程序似乎 运行 很好
如果我什么都不做,网络中的范围请求是这样的
在 v2.12.313 中,PDFJS 将在文档初始化时检查最后一页是否可以成功加载,以确保 numPages
正确,然后回退到遍历整个 /Pages-tree。 #14570
配置:
- 网络浏览器及其版本:Chrome 97.0.4692.99
- 操作系统及其版本:MacOS 10.15.5
- PDF.js版本:2.12.313
- 是否是浏览器扩展:否
- 我使用范围请求来渲染pdf
- 我用这行代码得到了更多块
await this.pdfManager.requestRange(ex.begin, ex.end);
; - 呈现第一页时不需要这些块;
- 当我注释这行代码时,该程序似乎也 运行 正常,而且我可以获得更少的块以使第一页更快;
- 那么这部分代码的作用是什么?
- 是否可以不执行或者不用await?
// src/core/xref.js
async fetchAsync(ref, suppressEncryption) {
try {
return this.fetch(ref, suppressEncryption);
} catch (ex) {
if (!(ex instanceof MissingDataException)) {
throw ex;
}
await this.pdfManager.requestRange(ex.begin, ex.end);
return this.fetchAsync(ref, suppressEncryption);
}
}
当我注释这行代码时,我可以得到更少的块,而且程序似乎 运行 很好
如果我什么都不做,网络中的范围请求是这样的
在 v2.12.313 中,PDFJS 将在文档初始化时检查最后一页是否可以成功加载,以确保 numPages
正确,然后回退到遍历整个 /Pages-tree。 #14570