服务器端文档渲染
定义
在服务器上将文档转换为页面图像,使浏览器显示已渲染的页面,而不是自行解析原始文件。
另一种方式——客户端渲染——将解析引擎发送到浏览器并交给它文件。这对 PDF 来说还能接受,但对其他所有格式都表现不佳,因为为 DOCX、XLSX、DWG 和 MSG 编写基于浏览器的渲染器需要十年的工作量,而没有人愿意为此投入两次资金。
服务器端渲染会颠倒这些属性。格式覆盖率变成服务器端库的问题,而不是 JavaScript 包的问题。无论文档多么复杂,客户端都保持轻量。并且原始字节永远不会到达浏览器,这意味着查看文档和拥有文档不再是同一行为。
成本是真实且值得说明的:渲染会消耗服务器的 CPU 和内存,页面必须以图像形式通过网络传输。实际上,负载主要受页面复杂度而非文档长度的影响,因为页面是按需渲染的,而不是一次性全部渲染。
在 Doconut
每种格式都走相同的路径。Viewer.OpenDocumentAsync() 在服务器端光栅化页面并返回不透明令牌;JavaScript 小部件随后通过令牌请求页面。浏览器从不接收源文档。