Anita’s OCR — ブラウザで動くプライバシー重視のOCRツール

Web

概要

Anita’s OCRは、画像やPDFからテキストを抽出することに特化したシンプルなWebアプリです。Tesseract.jsを用いたクライアントサイドOCRとPDF.jsによるPDFレンダリングを組み合わせ、ブラウザのみで処理を完結させるため「アップロード不要」「データ収集なし」のプライバシー配慮が施されています。選択ツールで領域を指定してOCRを実行できる設計になっており、軽量なUIで手早くテキストを取得できます。開発者はKo-fiでの支援を案内しています。

GitHub

リポジトリの統計情報

  • スター数: 2
  • フォーク数: 0
  • ウォッチャー数: 2
  • コミット数: 4
  • ファイル数: 4
  • メインの言語: JavaScript

主な特徴

  • ブラウザのみで動作(サーバへ送信しないクライアントサイドOCR)
  • 画像とPDFの両方に対応(PDFはPDF.jsでページをキャンバスへ描画)
  • Tesseract.jsによる高精度OCRを利用(WASMとワーカーでパフォーマンスを確保)
  • シンプルなUIで領域選択→OCRのワークフローが短い

技術的なポイント

Anita’s OCRは、Tesseract.jsとPDF.jsというOSSを組み合わせた典型的なクライアントサイドOCRアプリです。Tesseract.jsはWebAssembly(WASM)とWeb Workerを活用してブラウザ上でOCRを効率良く実行でき、メインスレッドをブロックしない設計が可能です。本プロジェクトでは、PDF.jsでPDFページをCanvasへレンダリングし、ユーザーが矩形選択した領域のピクセルデータを取得してTesseract.jsに渡すことで、選択範囲だけをOCRするワークフローを実現しています。

このアプローチの利点はプライバシーと応答性です。すべての処理がクライアント側で完結するため、画像やPDFを外部サーバへアップロードする必要がなく、個人情報や機密情報をローカルに留めたままOCRできます。PDFページのレンダリング→領域切り出し→テキスト解析という流れは、モダンブラウザが提供するCanvas APIやBlob, File APIと相性が良く、追加ライブラリを最小化して実装できます。

一方で制約もあります。Tesseract.jsは言語モデル(traineddata)を必要とし、複数言語や特殊フォント・手書き文字では精度が落ちる場合があります。ブラウザ上でのOCRはデバイスのCPU・メモリに依存するため、大量ページのPDFや高解像度画像の一括処理は時間がかかることがあります。改善案としては、事前に画像の二値化・コントラスト調整などの前処理を行うことで認識率を上げること、ワーカー数やWASM設定の調整、必要な言語データのみをロードして初期ロード時間を短縮することが挙げられます。

実装的にはindex.htmlを中心に最小限のUIとスクリプトが配置され、assetsに外部ライブラリやスタイル、アイコン等を格納している構成が見て取れます。将来的な拡張としては、OCR結果の言語判定、多言語サポート、OCR結果のエクスポート(txt/clipboard/MD)、バッチ処理や進捗インジケータの強化などが適しています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file
  • README.md: file
  • assets: dir
  • index.html: file

まとめ

ブラウザ完結で使える、手軽でプライバシーに配慮したOCRツールです。

リポジトリ情報:

READMEの抜粋:

anitas-ocr

Free, fast and privacy-friendly OCR selection web app. Extract text from Images and PDFs directly in your browser. ☕ Support at https://ko-fi.com/anitasocr

Anita’s OCR

Anita’s OCR is a free, open-source web app that lets you extract text from images and PDFs directly in your browser. Powered by Tesseract.js and PDF.js.


F…