javascript - PDF.JS 在客户端预览从服务器端发送的大型 pdf 文件(> 200MB)

标签 javascript node.js pdf pdf-generation pdf.js

我正在使用 pdf 查看器,它将从服务器(nodejs)加载 pdf 文件,然后在客户端呈现以允许用户直接在我的网站中阅读。

我正在使用pdf.js在客户端渲染 pdf 文件。问题是客户端必须下载整个 pdf 文件才能解析和渲染它,因此如果文件太大(在我的情况下约为 200MB),用户必须等待下载整个 200MB。

我研究了一下,我认为我可以通过两种方式解决这个问题:

  • 在服务器端将大型 pdf 文件拆分为许多较小的 pdf 文件,并仅按需提供特定的小文件。但这样,我会丢失一些重要的元数据,例如 pdf 轮廓,...

  • 直接在服务器端使用 pdf.js,获取 pdf 页面,然后将每个页面作为二进制文件提供给客户端,客户端还将使用 pdf.js(addPage 函数)将每个页面添加到其查看器。但我不知道这是否可能。

那么我应该怎么做才能解决这个问题呢? 非常感谢。

最佳答案

最好的解决方案是针对网络优化所有 PDF 文件。

pdf.js 的默认设置将仅加载需要渲染的部分。

参见here了解更多信息。

关于javascript - PDF.JS 在客户端预览从服务器端发送的大型 pdf 文件(> 200MB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57910603/

相关文章:

java - 如何使用 Rhino 桥接包含重载方法且可在 JavaScript 中索引的 Java 类?

Node.js中间件和js封装

java - 将具有大量列的 html 表格导出为 PDF

parsing - 如何在 Ubuntu 上的 PDF 文件中找到 n 个最常用的单词?

node.js - 我真的搞砸了 NPM

objective-c - 在 Objective-C 中创建受密码保护的 PDF

javascript - <input type ="file"/> 文件格式验证在 chrome 和 IE 中不起作用

Javascript 值比较不合逻辑

javascript - node.js 和 socket.io 代码不工作

node.js - 如何从子进程实时重定向标准输出