为客户端站点(浏览器)生成PDF生成大量数据

Chunk and pipe big amounts of data for client-site (browser) PDF generation

本文关键字:数据 PDF 生成 站点 客户端 浏览器      更新时间:2023-09-26

我正在尝试从Web服务器(Node.js)下载HTML/JSON数据,并在客户端将其转换为PDF。我希望在用户的浏览器上进行处理,这样我的服务器就不会因为pdfs转换而过载。

如果数据不是那么大的话,这应该不会成为问题。一个报告(从服务器下载的数据)的总和可能是2300MB,而浏览器无法处理内存中的这么多数据。因此,我(可能)需要下载并保存数据块,或者将其直接传输到PDF转换器。

但是我无法理解;存储/传输下载的数据?我四处寻找,找到了几个图书馆,但我仍然不知道如何使它们协同工作。有什么想法吗?

我认为让应用程序消费者在他们的计算机上生成800MB的pdf文件不是一个好主意。

在大记录的情况下,我会避免使用JSON。如果有超过25 MB的实际记录数据,我会以二进制/压缩形式发送数据。

至于查看所有这些数据,我甚至不认为PDF是可行的。我会为最终消费者创建一个特殊的离线查看器。也许是一个自定义的浏览器插件或扩展,这样他们在查看报告时就不必抛出800MB的内存。

另一个考虑因素可能是使用Google Drive、Rackspace OpenCloud或AWS或类似性质的东西,原因是,如果在传输过程中消费者端出现问题,你的服务器也必须重新启动。如果你把它放在CDN后面的云中,那么他们可以从离他们很近的服务器下载它,无论需要多少次。此外,您的服务器应该能够以比发送到客户端快得多的速度将其发送到云,从而减少服务器打开资源的时间。