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

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の扱い方を変革しましょう。

この記事を共有