scambier/obsidian-text-extractor
A (companion) plugin to facilitate the extraction of text from images (OCR) and PDFs.
Obsidian Text Extractor – 何であるか
Obsidian プラグイン としてコミュニティによって作成されたもので、通常は画像やスキャンされたページのみを含むファイル(PNG/JPG/… 画像、PDF ドキュメント、Office ファイル(DOCX、XLSX))からプレーンテキストを抽出できるようにします。ブラウザ内で直接オープンソースの OCR エンジン Tesseract.js(および PDF 解析ヘルパー)を呼び出し、結果をキャッシュすることで、他のプラグイン(例:Omnisearch)が再利用できるようにします。
なぜ重要なのか
- 検索可能なノート – Obsidian の組み込み検索は、画像やスキャンされた PDF 内のテキストを認識できません。このプラグインにより、その隠れたテキストがノートのインデックスや、必要とする他のプラグインに可視化されます。
- 単一の真実源 – 各プラグインが独自の OCR パイプラインを実装するのではなく、すべてが同じ API を呼び出せるため、メモリと CPU を節約できます。
- ローカル処理 – OCR はユーザーのブラウザ内で実行され、データはリモートサーバーに送信されません(ネットワークトラフィックは、Tesseract の言語パックを最初にダウンロードする際のみ発生)。
動作の概要(高レベル)
- ユーザーが抽出をトリガー – サポートされているファイル上でコンテキストメニューから選択。
- ファイルタイプの検出 – 拡張子(
.png、.pdf、.docxなど)を確認し、処理可能かどうかを判断。 - OCR / 解析 –
- 画像 → Tesseract.js(WebAssembly ベースの OCR)。
- PDF →
pdf-extractライブラリ。埋め込まれたテキストを抽出、または各ページで OCR にフォールバック。
- キャッシュ – 結果の文字列はプラグインフォルダ内に小さな
.jsonファイルとして保存されます。以降の呼び出しはキャッシュされた結果を即座に返し、デバイス間で同期可能。 - API の公開 – 他のプラグインは
extractText(file)またはisInCache(file)をTextExtractorApiから呼び出せます。
主な制限(README に記載)
- PDF の抽出は不安定 – 複数の PDF でテキストが抽出されない。問題追跡リストには複数のオープンバグがあります。
- モバイル対応なし – OCR ライブラリは Obsidian のモバイルアプリで動作しないため、キャッシュされたコピーがない限り空文字列を返します。
- 初回実行時にインターネット接続が必要 – Tesseract の言語データはオンデマンドでダウンロードされます。
- メンテナンスされていない – 作者が開発から離れているため、貢献は歓迎ですが、積極的な開発は保証されません。
使い始め
- Obsidian Community Plugins ブラウザからインストール、または GitHub から最新リリースをダウンロード。
- ノートを開き、サポートされているファイルを右クリックして テキストを抽出 を選択。
- 抽出されたテキストはキャッシュに保存され、他のプラグイン(例:Omnisearch)や README に示された API を通じてアクセス可能になります。
開発者向け
export type TextExtractorApi = {
extractText: (file: TFile) => Promise<string>
canFileBeExtracted: (filePath: string) => boolean
isInCache: (file: TFile) => Promise<boolean>
}
export function getTextExtractor(): TextExtractorApi | undefined {
return (app as any).plugins?.plugins?.['text-extractor']?.api
}
他の Obsidian プラグインから await getTextExtractor()?.extractText(myFile) を呼び出すために上記を使用してください。
結論:Obsidian Text Extractor は、Obsidian ノートテイキングエコシステム向けの実用的でローカル実行型の OCR ヘルパーです。研究レベルの AI モデルではありませんが、既存の ML ベース OCR 技術を活用して、画像ベースのノートを検索可能かつ再利用可能にします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト