Skip to content
reader.me

技術ノート

reader.meの仕組み

開くPDFは決してあなたのマシンから出ません。このページは、それがアーキテクチャ的にどうやって可能か、そして30秒で自分で検証する方法を説明します。

短いバージョン

現代のブラウザはほぼ完全なランタイムを搭載しています: JIT JavaScriptエンジン、WebAssembly、2Dキャンバス、暗号、ファイルAPI、永続ストレージ。デスクトップPDFエディタが行うすべてをファイルをどこにも送らずに実行するのに十分です。

reader.meは約4 MBのJavaScriptとWebAssemblyで、4つのオープンソースライブラリを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. Compressツールに PDFをドロップしてクリック。
  4. Networkパネルを見る。ファイルを運ぶリクエストはゼロ。ダウンロードはblob: URLで届く。

受け入れているトレードオフ

ブラウザですべてを行うことは無料ではありません。正直な制限リスト:

  • ファイルサイズ上限 ウェブで1ファイル50 MB。
  • 適格電子署名なし (フェーズ4)。
  • OCR言語データが大きい (~12 MB 初回)。
  • PDF/Aは選択可能テキストを失う

関連

reader.meは次の方のアイデアです: David Carrero 、Color Vivo Internet S.L.で製作。