首页 > 解决方案 > 在 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;
    }

标签: angularpdfng2-pdfjs-viewer

解决方案


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()


推荐阅读