Skip to content
reader.me

技术笔记

reader.me 如何工作

你打开的每个 PDF 都不会离开你的机器。本页解释这在架构上如何可能,以及如何在 30 秒内自己验证。

简短版本

现代浏览器搭载了几乎完整的运行时:JIT JavaScript 引擎、WebAssembly、2D 画布、加密、文件 API 和持久存储。足以完成桌面 PDF 编辑器的一切操作 — 而无需将文件发送到任何地方。

reader.me 是大约 4 MB 的 JavaScript 和 WebAssembly,将四个开源库粘合成你看到的 20 个工具。

当你拖入 PDF 时发生什么

  1. 浏览器将文件直接交给 JavaScript。
  2. 我们将字节读入 typed array。
  3. 正确的库完成工作: pdf-lib、PDF.js、Tesseract.js、Comlink Workers (>20 MB)。
  4. 结果成为下载。

为什么这是结构性隐私

大多数云服务的「无上传」主张意味着更弱的东西:服务器在几小时后丢弃你的文件。文件确实到达了他们的服务器。

在 reader.me 没有要丢弃的「之后」,因为一开始就没有上传。

那分析呢?

我们加载 Google Analytics(延迟)和 Cloudflare Web Analytics。两者都看不到你的 PDF — 只触发包含 URL 路径、语言区域和标准用户代理的页面浏览信标。

机器人明确允许(GPTBot、ClaudeBot 等) — 没有文档数据可抓取。

在 30 秒内自己验证

  1. 打开 DevTools(Windows 上 F12,macOS 上 ⌥⌘I)→ Network 标签。
  2. 清除请求列表,勾选「preserve log」。
  3. 将 PDF 拖到 Compress 工具上并点击。
  4. 观察 Network 面板。没有任何携带你文件的请求。下载以 blob: URL 形式到达。

我们接受的取舍

在浏览器中完成一切并非免费。诚实的限制清单:

  • 文件大小上限 网页上每文件 50 MB。
  • 无合格电子签名(阶段 4)。
  • OCR 语言数据较大(首次运行 ~12 MB)。
  • PDF/A 失去可选文本

相关

reader.me 是以下人士的创意: David Carrero ,在 Color Vivo Internet S.L. 构建。