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. 建構。