Javascript PDF.JS在客户端预览从服务器端发送的大型PDF文件(>;200MB)
我正在使用一个pdf查看器,它将从服务器(nodejs)加载一个pdf文件,然后在客户端进行渲染,以允许用户在我的站点中直接阅读 我习惯于在客户端渲染pdf文件。问题是客户端必须先下载整个pdf文件,然后才能解析和呈现它,所以如果文件太大(在我的例子中为200MB),用户必须等待下载整个200MB 我研究过,我认为我可以通过两种方式解决这个问题:Javascript PDF.JS在客户端预览从服务器端发送的大型PDF文件(>;200MB),javascript,node.js,pdf,pdf-generation,pdfjs,Javascript,Node.js,Pdf,Pdf Generation,Pdfjs,我正在使用一个pdf查看器,它将从服务器(nodejs)加载一个pdf文件,然后在客户端进行渲染,以允许用户在我的站点中直接阅读 我习惯于在客户端渲染pdf文件。问题是客户端必须先下载整个pdf文件,然后才能解析和呈现它,所以如果文件太大(在我的例子中为200MB),用户必须等待下载整个200MB 我研究过,我认为我可以通过两种方式解决这个问题: 在服务器端将大型pdf文件拆分为许多较小的pdf文件,并仅按需提供特定的小型文件。但这样,我会丢失一些重要的元数据,如pdf大纲 在服务器端使用pd
- 在服务器端将大型pdf文件拆分为许多较小的pdf文件,并仅按需提供特定的小型文件。但这样,我会丢失一些重要的元数据,如pdf大纲
- 在服务器端使用pdf.js直接获取pdf页面,然后将每个页面作为二进制文件提供给客户端,客户端还将使用pdf.js(addPage函数)将每个页面添加到其查看器中。但我不知道这是否可能
非常感谢。最佳解决方案是为web优化所有PDF文件
pdf.js
的默认设置将只加载需要渲染的部分
有关更多信息,请参阅。啊,我不知道pdf.js支持范围请求,我会尝试一下,非常感谢!您是否能够在服务器端进行更改,以根据范围请求呈现pdf?即使我也在尝试做同样的事情,我已经在服务器端做了更改,Pdf.js会像预期的那样调用服务器,但它不会对所有范围都进行调用。请让我知道在我使用spring boot的服务器端需要做哪些更改。非常感谢您的帮助。是的,我通过更新服务器解决了这个问题,以支持范围请求,然后pdf.js工作得非常好。在客户端,我没有做任何改变。我在服务器端使用nodejs另外,我在服务器端手动实现范围请求时失败了,所以我尝试使用一个库(),所以您可以参考该库的代码来查看需要更改的内容