介绍

处理大型 PDF 的关键在于工作在哪里进行。如果浏览器必须下载并解析整个文件,用户需要等待,内存占用上升,手机可能会彻底卡死。如果服务器在视图中渲染页面并发送结果,则这些都不是客户端的问题。
本文介绍了加速大型 PDF 处理的实用方法,并区分了两件常被混淆的事物:在 在线文档查看器 上的免费查看器(在标签页中打开文件),以及用于嵌入产品的 Doconut .NET SDK。
为什么大型 PDF 需要专用查看器
大型 PDF 通常在 50 MB 以上,使用基本的浏览器渲染很难处理。复杂文档可能包含高分辨率图像、矢量图形、嵌入字体、表单、扫描页或成千上万的页面。当所有这些处理直接在浏览器中进行时,用户可能会遇到加载时间过长、屏幕卡死或导航不畅等问题。
专用查看器通过关注三个关键领域来帮助解决这些问题:
- 性能 – 页面可以更高效地渲染和传输,减少初始等待时间。
- 可扩展性 – 查看过程能够更可靠地处理大型文档和多个用户。
- 可靠性 – 专用渲染引擎有助于保留文档的原始布局、字体和视觉质量。
在线文档查看器 在浏览器标签页中免费进行渲染,支持每个 PDF 最多 25 MB,无需安装。相同的引擎作为 Doconut .NET SDK 授权给需要在自家产品中使用的团队——将两者区分开来很重要,因为大多数 SaaS 集成所需的功能属于后者。
更快的渲染以及文件应存放的位置
一种基本做法是让浏览器在显示首页之前下载完整的 PDF。对于大型文档来说,这段时间是无效的,并且只要标签页打开,文件就会一直保留在客户端。
服务器端渲染则相反:服务器在视图中准备页面,只发送绘制所需的内容。首页在其余部分仍在处理时就已到达,原始文件根本不需要传输到浏览器。
在自己的应用中,这种模式还有第二个好处。文档通过服务器使用代码授权的标识符获取,因此:
- 存储路径永不暴露给客户端。
- 访问可以限定在会话范围内,并随会话结束而失效。
- 页面、缩略图、导出和打印请求各自进行授权检查。
- 阅读器可以在无需完整下载的情况下开始阅读。
在免费站点上这些都不适用,因为没有任何集成需求:你上传文件,阅读后会话结束,文件即被删除。
上传前压缩 PDF 大小
Online Document Viewer 专注于文档的渲染和预览,并非旨在取代专用的 PDF 压缩工具。如果你的应用经常处理超大 PDF,最好在将文件发送至查看器之前先进行优化或压缩。
PDF 优化可以通过以下方式减小文件体积:
- 压缩大尺寸图像。
- 移除未使用的对象。
- 减少重复资源。
- 优化嵌入字体。
- 清理不必要的元数据。
文档优化后,可上传至你的存储系统,然后通过 在线文档查看器 打开。较小的文件通常能提升加载速度,降低带宽消耗,并提供更好的用户体验。
每项功能实际所在位置
这部分值得做好,因为这两个产品很容易混淆。
免费查看器位于 onlinedocumentviewer.com
一个页面,而不是组件。上传最多 25 MB 的 PDF,阅读后关闭标签页:文件随会话被删除,传输使用 HTTPS,且无需账户。没有嵌入、没有 API、没有令牌方案、没有品牌标识、没有域名限制,也没有审计日志——没有账户,就没有可关联的对象。可先用它查看自己文件的渲染质量,再决定后续操作。
Doconut .NET SDK
与授权组件相同的渲染引擎,嵌入到您的应用中。因为它运行在您的服务器上,周边的控制权由您自行实现:
- Authorization 对每个页面、缩略图、导出和打印请求进行授权。
- Temporary files and retention 在您拥有的目录中,具备可证明已运行的清理机制。
- Toolbar behaviour,包括是否提供下载和打印操作——将其视为工作流,而非服务器端检查的替代方案。
- Branding and placement,因为查看器嵌入在您自己的页面中。
- Encryption at rest,在您的安全策略要求的情况下进行静态加密。
文档永不离开您的基础设施,这是受监管材料唯一可行的方案。
加快加载速度的实用技巧
以下是提升 SaaS 应用中大 PDF 加载体验的实用建议。
1. 仅在需要时加载查看器
不要在每个页面都加载查看器,而是仅在用户选择预览文档时初始化。这可以让其余应用更轻量,并提升主界面的首次加载速度。
2. 在查看前优化文件
尽可能在用户打开之前压缩大 PDF 的体积。这对扫描件、图片密集的报告或由设计/工程工具生成的文件尤为重要。
3. 使用高效的托管和交付
将文档存放在可靠的云存储或配置良好的服务器环境中。快速的存储、良好的网络性能以及合适的交付配置,都能显著提升观看体验。
4. 使用短期访问链接
短期链接可降低安全风险,并确保文档访问是临时的。这对机密或客户专属文件尤为关键。
5. 监控真实用户性能
跟踪文档打开所需的时间,尤其是大文件。如果出现卡顿,检查文件大小、文档复杂度、服务器性能、存储位置和网络状况。
关键要点
- 大 PDF 需要的不仅是浏览器的基础预览:服务器端渲染让客户端保持轻量。
- 上传前压缩胜过上传后优化,这是唯一能帮助后续所有环节的杠杆。
- 服务器端授权,而非隐藏的工具栏按钮,才是真正保护文档的方式。
- 免费查看器一次只能处理单个不超过 25 MB 的 PDF,无需账户,也不存储任何内容。
- 嵌入、权限、品牌、链接失效和审计日志属于授权 SDK 及您围绕它构建的应用。
常见问题
Q: 如何确保 PDF 在用户查看完毕后被删除?
A: 在免费查看器中,删除随会话一起发生——文件在查看后被移除,且没有账户可存放副本。使用 SDK 的自有应用时,删除是您代码的责任:您拥有临时目录、清理任务以及清理已执行的证据。
Q: 我可以在 .NET Core 和 .NET Framework 中使用它吗?
A: SDK 面向 .NET Framework 4.0 及以上以及 .NET Standard 2.0 及以上,这覆盖了 .NET Core 以及其后的所有版本。免费站点不属于此范围:它是一个页面,而不是库。
Q: 我可以在 React 或 Next.js 应用中嵌入查看器吗?
A: 免费站点不能嵌入。SDK 在 ASP.NET 应用中进行服务器端渲染,React 或 Next.js 的前端壳可以放在该路由之前。渲染始终在服务器端完成。
Q: 如果我的 PDF 包含机密信息怎么办?
A: 那么不要将其上传到托管页面,包括此页面在内:渲染会在读取文件的服务器上进行。请在您自己的基础设施内部运行 SDK,确保文档永不离开您的网络。
总结
大型 PDF 不一定慢。准备读者正在查看的页面,将原始文件保存在服务器端授权后面,并在上传前进行压缩,而不是之后。
要在自己的文件上查看渲染效果,Online Document Viewer 免费且支持最高 25 MB 的 PDF,无需账户。若要将该渲染嵌入您的产品,使用您自己的限制、权限和品牌,可使用组件 Doconut .NET SDK。