anydoc|各種オフィス文書を高速にMarkdownへ変換するライブラリ
anydocは、WordやPDFなどのオフィス文書を高速にMarkdownへ変換するRust製ライブラリです。外部APIを使わずにローカル環境でLLM向けのクリーンなデータを一貫して抽出できます。
ポイント
- 14の文書形式に対応しWordやPDFを一貫したMarkdownに高速変換
- 外部サービス・MLモデルが不要な純Rust製でローカル完結して動作
- 1ドキュメント中央値4.4msの変換速度で大量の処理を効率化
概要・解決する課題
これまではPDFやWord、Excelなどの複数フォーマットを解析する際、ツールごとに異なるシリアライズ方式や、LibreOfficeなどを併用する処理の重さが課題でした。anydocはこれらすべてのドキュメントを単一の共通ドキュメントモデルとして解析し、同一のMarkdownシリアライザで出力します。これにより、表や脚注などが入力元を問わず同一ルールで変換されます。ただし、暗号化されたファイルは変換できず、スキャンされたPDFなど画像化されたファイルのOCR処理には対応していません。
なぜ注目されているか
AIエージェントやRAGの普及に伴い、様々な拡張子のオフィスファイルをLLMに適合したテキストに高速変換する技術が求められています。anydocは純Rust製で軽量に動作し、Node.jsやPython、WebAssemblyなどのマルチ言語バインディングをサポートしているためです。
主なユースケース
- RAG向けのデータ前処理: 様々なファイル形式が混在する社内文書を、LLM向けに最適化された統一フォーマットのMarkdownに一括変換します。
- AIエージェントのスキル追加: CLIやエージェントスキル(Agent Skill)機能により、Claude CodeやCursorといった互換エージェントにオフィス文書の読み込み能力を付与します。
始め方(クイックスタート)
Claude CodeやCursorなど対応エージェントのスキルとして組み込むには、以下を実行します。
npx skills add firecrawl/anydoc
導入後は、エージェントが読み込むファイルにオフィス文書が現れた際、内蔵のanydoc CLIを使って自動的にMarkdownへ変換できるようになります。
CLIを単体で使って即座に文書を変換するには、以下のコマンドを実行します。
npx @firecrawl/anydoc report.docx
ブラウザ上でインストールなしで試せる公式デモも提供されており、ファイルはすべてローカルで変換され外部には送信されません。
実際に使ってみて
日本語のオフィス文書(DOCX・PPTX・XLSX)でCLIを試したところ、見出し・表・太字/斜体、発表者ノートやテキストボックス、結合セルを含む申請書レイアウトまで崩れずMarkdownに変換できました。壊れたファイルや未対応形式を渡した場合も、プロンプトを出さずstderrに1行だけ出してexit 1で終わるため異常系の扱いは素直でした。
ただしExcelの表示形式(%表記・通貨・和暦)は変換時に失われ生の数値・日付になります。たとえば「7.5%」は「0.075」という値だけになるため、後段のLLMが意味を取り違える余地が残ります。
CSVはオフィス文書と異なりプレーンテキストで文字コードの手がかりが無いため、Shift_JISで保存したCSVを読み込ませるとエラーも警告も出さず終了コード0のまま文字化けした結果を返します(2026-08-07時点の確認)。DOCXやXLSXなどのバイナリ形式は内部が最初からUTF-8のため、この問題は起きません。パイプラインに組み込む場合は事前にiconv等でUTF-8へ変換する必要があります。
こんな人におすすめ
- 多数のオフィスファイルをLLMに入力する前処理パイプラインを構築したいエンジニア
- 外部APIへの通信を発生させず、完全にローカルで高速な文書解析を行いたい開発者
関連リソース [PR]
※ Amazon アソシエイト・リンクを含みます。リンク経由の購入で当サイトが収益を得る場合があります。
本記事は GitHub Trending を元に自動生成しています。最新情報は公式リポジトリをご確認ください。