PDFのパースは、AIパイプラインの中で長年のボトルネックだった。スキャン済みページ、数式、複数列レイアウトが混在する文書を正確かつ高速に処理できるツールは少なく、従来の解決策はすべてトレードオフを強いた。速いが不正確か、正確だが遅くてスケールしないか。

Firecrawlは2026年4月14日、そのトレードオフを解消する新エンジン「Fire-PDF」を公開した。

この記事でわかること:

  • Fire-PDFが旧パーサーの最大5.7倍速になった仕組み
  • GPUを必要なページだけに向ける「pdf-inspector」の役割
  • 表・数式・多段組レイアウトへの精度向上の詳細
  • 5段階処理パイプラインの全容
  • 既存ユーザーが設定なしで使える方法

Fire-PDFとは

https://www.firecrawl.dev/blog/fire-pdf-launch

Fire-PDFはRustで書かれたPDF解析エンジンです。スキャン済み・テキストベース・混在型を問わず、あらゆるPDFを構造化されたMarkdownに変換します。2026年4月14日から、FirecrawlのAPIに送信されるすべてのPDFに自動的に適用されています。設定変更は不要です。

なぜ最大5.7倍速いのか

旧パーサーと比較して、Fire-PDFは3.5〜5.7倍高速です。1ページあたりの平均処理時間は400ms未満。速度を生んでいるのはGPUの使い方の見直しです。

テキストベースのページは、GPUを経由せずにネイティブ抽出で処理します。スキャンを必要としないページはOCRを一切通りません。さらに、GPUへのリクエストはドキュメントサイズごとにレーンが分かれており、200ページの長大なレポートが1ページの請求書の処理速度を低下させることがありません。

pdf-inspectorがGPUの振り分けを担う

https://github.com/firecrawl/pdf-inspector

多くのPDFは完全なスキャン文書ではありません。財務報告書であれば、テキストベースのページが150ページ、スキャン済みのページが60ページという混在構成がよくあります。旧パイプラインではこの全ページがOCRを通過していました。

Fire-PDFはこの問題をオープンソースのRustライブラリ「pdf-inspector」で解決します。pdf-inspectorはPDFの内部構造(フォントエンコーディング、テキスト演算子、画像カバレッジ)を分析し、レンダリングなしでミリ秒単位で各ページをテキストベースかスキャン済みかに分類します。テキストページはネイティブ抽出に直行し、スキャンまたは画像が多いページだけがGPU処理に送られます。混在ドキュメントでは、GPUが処理するページ数を大幅に削減できます。

複雑なレイアウトへの精度対応

速度だけでは不十分です。表が壊れた出力になったり、多段組のテキストが順序バラバラで抽出されたりすれば実用になりません。Fire-PDFはニューラルドキュメントレイアウトモデルを使い、テキストブロック・表・数式・画像・ヘッダー・フッターを個別に検出し、要素の種類ごとに適切な処理を適用します。

表はトークン上限を高く設定し、最大25秒の生成時間を確保することで正確なMarkdownテーブルを出力します。数式は数式専用のプロンプトを使い、LaTeX形式で保存します。テキスト領域は処理効率を保つため12秒・256トークンの制限が設定されています。読み取り順序はニューラルネットワークで予測し、多段組レイアウトにはXYカット投影がフォールバックとして機能します。

金融報告書・学術論文・法的文書など、従来のOCRで崩れていた複雑な文書が対象となります。

5段階の処理パイプライン

Fire-PDFはすべてのPDFを以下のステップで処理します。

Classify(分類): pdf-inspectorがPDFの内部構造をスキャンし、各ページをテキストベースまたはOCR要と分類します。

Render(レンダリング): OCRが必要なページを200DPIで画像に変換します。過大なページは自動的に上限設定またはスライスされます。

Layout Detection(レイアウト検出): レンダリング済み画像をGPU上のニューラルレイアウトモデルに通し、バウンディングボックス・要素タイプ・読み取り順序を取得します。

Extraction(抽出): テキストページはネイティブ抽出(GPU不使用)。スキャン領域はビジョン言語モデル「GLM-OCR」に送られ、領域タイプごとの専用プロンプトとパラメータで処理されます。

Assembly(組み立て): 読み取り順序でソートし、Markdownとして組み立てます。表はMarkdownテーブル、数式はLaTeXになります。幾何学的重複検出で重なった検出結果を除去します。

利用方法

https://docs.firecrawl.dev/features/document-parsing

FirecrawlのAPIを使っているユーザーであれば、追加の設定は不要です。APIに送信されたPDFはすべて自動的にFire-PDFで処理されます。Pythonからの呼び出しは次のように書けます。

from firecrawl import FirecrawlApp

app = FirecrawlApp(api_key="YOUR_API_KEY")
result = app.scrape_url("https://example.com/document.pdf", formats=["markdown"])
print(result["markdown"])

パースモードを明示したい場合は、v2.9.0で追加された pdfParsingMode パラメータで fastautoocr の3つから選択できます。auto がデフォルトで、テキスト抽出を先に試みてから必要に応じてOCRにフォールバックします。

旧PDF Parser v2との違い

Firecrawlは2026年2月にもRust製の「PDF Parser v2」を公開しており、当時は3倍の速度向上と3つの解析モードを実現していました(参考)。Fire-PDFはその後継エンジンで、pdf-inspectorによるページ単位の分類、ニューラルレイアウトモデルとの統合、GLM-OCRへの置き換えにより、速度・精度ともにさらに引き上げられています。パイプライン自体も5段階に体系化され、混在ドキュメントへの対応が実質的に変わっています。

AIパイプラインでPDFを扱う場面が増えるなか、処理精度と速度の両立を一段と現実的にしたアップデートです。