为何使用 Nuxt 和 OPFS 构建本地优先的 PDF 工... 笔记

为何使用 Nuxt 和 OPFS 构建本地优先的 PDF 工具包

主流 PDF 工具要求用户将敏感文档上传至远程服务器,尽管采用传输加密,仍引发隐私与合规担忧。为此,beePDF 是一款 100% 客户端的渐进式 Web 应用(PWA),文档处理完全在浏览器内完成,绝不上传。其技术栈包括 Nuxt、@vite-pwa/nuxt、pdf-lib、PDF.js 和 Pico CSS。一项关键创新是采用原生日记文件系统(Origin Private File System, OPFS)进行本地持久化。OPFS 提供私有且按源隔离的文件系统,支持快速的字节级访问,非常适合 PDF 等大容量二进制文件。它消除了权限提示,并在 Web Workers 中提供同步访问以提升性能。处理流程将文件读入内存,存储至 OPFS,并将繁重任务卸载至 Web Workers。元数据和缩略图存储于 IndexedDB 中。文档修改会直接触发客户端下载,确保离线功能可用。面临的挑战包括浏览器内存上限对超大文件的影响,以及必须将高负载任务卸载至 Web Workers 以避免阻塞用户界面。