angular - 在 ng2-pdf-viewer 中为大型 pdf 文档自定义 pdf 渲染?
问题描述
我正在使用 ng2-pdf-viewer 在我的 Angular 应用程序中显示 pdf。但是,查看器会等待 pdf 完全下载,然后显示它。服务器以字节数组的形式向我发送 pdf 数据。有没有办法在同时从服务器获取 pdf 时显示它?
PS:这就是我获取数据并将其分配给 src 属性的方式
this.httpClient.get(`{url}`,{'responseType' : 'arraybuffer'})
.subscribe((file: ArrayBuffer) => {
this.pdfSrc = file;
}
解决方案
ng2-pdf-viewer 接受范围请求。您需要以这种格式 obj ={'url' : 'url of the pdf', 'rangeChunkSize' : '1024'} 提及您的 src 属性。
我参考这篇文章来创建可以接受范围请求的服务器 - https://medium.com/@vishal1909/how-to-handle-partial-content-in-node-js-8b0a5aea216
因此,在来自 UI 的第一次调用中,客户端注意到标题为“Accept-Ranges”:“bytes”。下一次调用由 pdf 查看器进行,它将以数据块的形式呈现 pdf。
小改动:在这部分的其他部分(即没有收到范围时)- https://medium.com/@vishal1909/how-to-handle-partial-content-in-node-js-8b0a5aea216,评论这部分 让可读 =,并将其替换为res.end()
推荐阅读
- java - 为什么在迭代期间从 ArrayList 中删除元素时我没有收到 ConcurrentModificationException
- glfw - GLFW | 什么是框架?
- python - 列出熊猫数据框 - Python
- php - PHP - 无法访问数组,因为“février”与“février”不同
- servicestack - ServiceStack中是否有可能有两个BaseURL WebHostUrl?
- shell - 如何使用 shell 脚本从 url 中删除主机详细信息
- cron - 如何解决“没有 SELinux 安全上下文 (/etc/crontab)”的问题?
- deep-learning - 在 Linux 中使用 fastText 预测语言的命令
- csvhelper - CsvHelper 可以处理“[[0,0],[100,100]]”这样的数据吗?
- sql - 相同的列值不同的行到不同的列值不同的行