BabelDOC:AI駆動のドキュメント向けに構築されたオープンソースPDF翻訳ツール

BabelDOCは、複雑で多言語のドキュメントをAIを用いてローカライズされたバージョンに変換する完全にオープンソースのPDF翻訳ツールです。シンプルなPython CLI、豊富な設定ファイル、任意のオフラインアセット生成機能により、学術研究からビジネス契約まで、あらゆる用途をサポートします。開発者が他のアプリに翻訳機能を組み込んだり、ユーザーが素早く「コピー&ペースト」で対処したりする場合でも、BabelDOCは英語⇔中国語をはじめとする多言語ペアを扱い、PDFレイアウトの保持をサポートし、OCR、ダブルページ出力、用語集利用などの高度なフラグも提供します。このガイドでは、インストール、基本的な使用方法、Zoteroなどのツールとの統合、パフォーマンスチューニングまでを通じて、AI駆動のドキュメントワークフローの最大効果を引き出せるようサポートします。

BabelDOC – オープンソースAI搭載PDF翻訳器

グローバル研究と急速なビジネス拡大の時代において、レイアウトとフォーマットを保持しつつ複雑なPDFドキュメントを翻訳する能力は不可欠となっています。従来のOCRベースツールはテキストを切り出したり、表を分断したり、フォーマットを失うことが多く、翻訳者は大量の手作業で後処理を行う必要があります。そこで登場するのが BabelDOC です。コミュニティ主導のプロジェクトで、AI駆動型翻訳をシームレスで単一のワークフローに変えます。

BabelDOCとは?

BabelDOCはPythonで書かれた Another Document Translator です。PDFを受け取り、最先端レイアウトパーサでテキストを抽出し、LLM(デフォルトではOpenAI互換)に文を渡し、翻訳テキストを新しいPDFに組み込み、元のデザインを忠実に再現します。

主な特徴:

  • ダブルページ出力: 元ページと翻訳ページを並べ、または交互に表示。
  • リッチテキストサポート: 式、表、複雑なフォーマットをそのまま保持。
  • オフラインアセット生成: エアギャップ環境向けにフォントとモデルウェイトのZIPを作成。
  • 拡張可能なCLIとPython API: スクリプトや大規模アプリへ簡単統合。
  • 用語集サポート: 文書間で用語を一貫して翻訳。

はじめに – インストール

BabelDOCは2通りのインストール方法があります:

  1. PyPI + UV(推奨)

    uv tool install --python 3.12 BabelDOC
    babeldoc --help
    

    UVは依存関係を自動解決し、babeldoc のバイナリをPATHに配置します。

  2. ソースから(開発者向け)

    git clone https://github.com/funstory-ai/BabelDOC
    cd BabelDOC
    uv run babeldoc --help
    

    uv run コマンドは新しい仮想環境を作成し、BabelDOCを直接実行します。

基本的な使い方

英語から中国語へ単一のPDFを翻訳する例:

babeldoc --openai --openai-model "gpt-4o-mini" \
  --openai-base-url "https://api.openai.com/v1" \
  --openai-api-key "YOUR_KEY" \
  --files example.pdf

複数ドキュメントを処理する場合は、--files を繰り返し指定します:

babeldoc --files paper1.pdf --files paper2.pdf --openai ...

出力は同じフォルダーに生成されますが、--output /path/to/dir を指定すると別場所に保存します。

上級オプション

BabelDOC のCLIは細かく制御できるフラグを多数備えています:

  • --disable-rich-text-translate – リッチテキストの翻訳をスキップし、互換性を向上。
  • --watermark-output-mode – ウォーターマーク付き、無し、または両方を選択。
  • --max-pages-per-part – 大きなPDFを扱いやすいチャンクに分割。
  • --openai-modelglm-4-flashdeepseek-chat などの任意のOpenAI互換LLMを指定。
  • --glossary-files – CSV用語リストを読み込み、統一された翻訳を強制。

これらはスピード、サイズ、整合性が重要な本番環境で特に有効です。

オフラインアセットパッケージング

ネットワークアクセスがない環境で作業する場合、BabelDOCは自己完結型アセットパッケージを生成できます:

babeldoc --generate-offline-assets ./offline_assets

後で別マシンで復元するには:

babeldoc --restore-offline-assets ./offline_assets/package.zip

Zoteroとの統合

学術研究者はPDFをZoteroに保存することが多いです。BabelDOCは以下の方法で直接統合をサポートします:

  1. Immersive Translate プラグイン(Immersive Translate Proメンバー向け)。
  2. pdf2zh‑next ラッパー(セルフデプロイユーザー向け)。

これらのプラグインはPDFをダウンロード時またはコンテキストメニューから自動で翻訳し、翻訳済みバージョンをライブラリに追加します。

PDFMathTranslate でのセルフデプロイ

サーバースタック全体を自主制御したいユーザーには、BabelDOCを PDFMathTranslate‑next に埋め込むことができます。最終的なアプリにはWeb UI、バッチキュー、RESTful APIが含まれます。

ロードマップとコミュニティ

本プロジェクトはアクティブに維持管理されており、200以上のリリースと6,000以上のスターを記録しています。今後のマイルストーン:

  • ネイティブ行サポート
  • 広範な表処理
  • Drop‑capサポート
  • 複数ページに跨る段落結合
  • スキャンドPDFのOCR検出向上

プルリクエストでの貢献を歓迎します。コード品質はpre‑commitフック、自動テスト、継続的インテグレーションで維持されています。

TL;DR

BabelDOCは次を提供します:

  • AI駆動のシングルステップPDF翻訳
  • 出力フォーマットを完全に制御
  • CLIとPython APIで自動化可能
  • エアギャップ環境向けのオフラインアセット
  • コミュニティ主導の開発と堅牢なロードマップ

研究論文、技術マニュアル、ビジネス契約を問わず、BabelDOCはオリジナルレイアウトを維持しつつ内容をAIのスピードでローカライズできる柔軟性と力を提供します。ぜひ今日からお試しいただき、マルチリンガルPDFの扱い方を変革しましょう。