2026/10/20AI業務効率化
AI活用導入・運用

Indra OCRの使い方|CPUだけでPDFを読む手順と条件

Indra OCRの使い方|CPUだけでPDFを読む手順と条件

「Indra OCRというCPUだけで動くOCRが出たらしいが、日本語の請求書や報告書をちゃんと読めるのか」「無料と聞いたけれど、会社の仕事に使ってよいのか」——紙やスキャンPDFの束を前にして、新しい道具を試すか迷ったとき、多くの人がこの2つで手が止まります。

結論から言うと、Indra OCRはpip install indra-ocr の1行で入り、GPUのないMacでも1ページ0.3秒前後で日本語の印刷物を読めるOCRです。私たちのMac miniでは40ページを約5秒で読み終えました。ただし合計欄のような短い行で読み違いが出たので、確信度の低い行を人が見る前提で使うのが安全です。また、コードは自由に使えますが、モデルの重みには「売上か資金調達が2,000万ドルを超える会社は使えない」「Datalab社と競合するサービスには使えない」という条件があります。

株式会社Fyveは、中小企業のAI導入を支援するなかで、手書きメモやスキャンした書類をデータにする仕組みを作ってきました。この記事では、公開されているREADMEと使用条件の原文を読んだうえで、架空の日本語の請求書と作業報告書を自社のMac miniで読ませた実測を交えて、Indra OCRの入れ方・使い方・使ってよい条件と、向く仕事・向かない仕事を整理します。

Indra OCRとは:GPUなしで動く小さなOCRモデル

Indra OCRは、文書の読み取りを専門にするDatalab社が公開したOCR(画像の文字をテキストにする技術)です。PDFや画像を、Markdown・プレーンテキスト・座標つきのJSONのいずれかに変換します。最大の特徴は小ささで、READMEは「1M-parameter OCR model that runs on CPU」と説明しています。PyTorchもGPUも使わず、ONNX Runtimeという軽い実行環境だけで動きます。

2026年10月21日にGitHub・PyPI・Hugging Faceで確認した基本情報は次のとおりです。

項目

内容(2026年10月21日時点)

開発元

Datalab(GitHub: datalab-to/indra)

リポジトリの作成

2026年10月13日(0.3系を同日にPyPIへ公開)

1.1.0の公開

2026年10月19日(手書き・回転したページへの対応を強化)

最新版

1.1.2(2026年10月20日公開。モデルは1.1.0と同じ)

動作環境

Python 3.10以上。READMEの記載ではLinux(x86_64・aarch64)とmacOS(Apple シリコン)で確認済み

モデルの大きさ

既定のモデル一式で約76MB(初回の実行時にHugging Faceから自動で取得)

ライセンス

コードはApache 2.0、モデルの重みは改変版のOpenRAIL-M(条件は後述)

「100万パラメータ」はメインの読み取りモデル(ラテン文字用の rec.onnx、約125万)の大きさです。READMEによると、日本語用の読み取りモデルや向きの判定などを含めた既定のモデル全体では約730万パラメータあります。それでも、数十億パラメータが当たり前の生成AIと比べると桁違いに小さく、普通のノートPCで動く理由はここにあります。

リリースは1週間で6版出ています(0.3.0〜0.3.2、1.1.0〜1.1.2)。1.1.1と1.1.2はアラビア文字やヒンディー語のPDFの読み取りを直す更新で、日本語の挙動を変えるものではありませんでした。それでも更新の速い時期なので、入れる時点でReleasesのページを一度見ておくことをおすすめします。

Indra OCRでできること:3つの出力形式とレイアウトの判定

Indra OCRがするのは「文字を読む」だけではありません。ページの中の見出し・段落・表・図の説明・ページの上下の余白にある文字(ヘッダー・フッター)を見分け、読む順番をつけて返します。

  • Markdown(既定):見出しは ##、表はHTMLの <table> で出ます。ページ上下のヘッダー・フッターは既定で除かれます
  • テキスト:検出した1行を1行として、読む順に並べたもの
  • JSON:1行ごとの文字・位置(座標)・確信度、ブロックごとの種類(Text・Section-Header・Table・Formなど)、ページの回転・傾き、処理時間が入ります

実務で効くのは次の3つの動きです。

  • 文字の入ったPDFは、足りない所だけ読む:Wordや会計ソフトから出したPDFには、もともと文字のデータ(テキスト層)が入っています。既定の auto モードでは、テキスト層が正しいかを確かめてそのまま使い、画像になっている部分だけをOCRします
  • 横向き・逆さ・傾いたページを直してから読む:READMEでは45度までの傾きと、横向き・逆さのページに対応するとしています
  • 80以上の言語を行ごとに振り分ける:日本語・中国語・韓国語は専用の読み取りモデル(rec_cjk.onnx)に回されます。日本語は仮名と漢字の両方が対象です

Indra OCRの入れ方:pip 1行と、最初の1回のモデル取得

入れ方はPythonのパッケージを1つ入れるだけです。ほかのツールと混ざらないよう、専用の仮想環境に入れるのがおすすめです。

python3 -m venv indra-env
source indra-env/bin/activate
pip install indra-ocr
indra-ocr --version

Python 3.10以上が必要です。Macに最初から入っているPythonは版が古いことがあるので、python3 --version で先に確かめてください。私たちの社内のMacも既定のPythonが3.9だったため、3.13で作った仮想環境に入れました。

一緒に入るのはONNX Runtime・OpenCV・pypdfium2(PDFを画像にする部品)などで、PyTorchは入りません。

初めて読み取りを実行したときに、モデル一式(12ファイル・約76MB)がHugging Faceから自動で取得され、以後は手元にキャッシュされます。私たちの環境では、取得を含めた初回の3ページの読み取りが合計14.4秒でした。ネットにつながらない環境で使いたい場合は、モデルを別の場所に置いて環境変数 INDRA_OCR_MODEL_DIR か、オプション --model-dir で場所を指定できます。

Indra OCRの使い方:よく使うコマンドとオプション

基本の使い方は、ファイルを渡すだけです。

indra-ocr 請求書.pdf                      # Markdownを画面に出す
indra-ocr *.pdf --out results/            # 1ファイルにつき1つの .md を保存
indra-ocr scan.png --format json          # 行・座標・ブロック・確信度をJSONで
indra-ocr 請求書.pdf --format text        # プレーンテキスト
indra-ocr 請求書.pdf --mode ocr --timings # テキスト層を使わず全ページOCR・時間を表示

画像はPNG・JPEG・TIFF・BMP・WebPに対応し、複数ページのTIFFは1コマを1ページとして読みます。よく使うオプションを整理します。

オプション

働き

使いどころ

--out DIR

入力1つにつき1ファイルを保存

まとめて処理するとき

--format md|text|json

出力の形式(既定はmd)

後で人が確認するならjson

--mode auto|ocr|text

テキスト層を使うか(既定はauto)

テキスト層が壊れたPDFはocr

--cores N

使うCPUコアの数(既定は全部)

ほかの作業と並行するとき

--dpi

PDFを画像にする解像度(既定200)

小さな文字が多いとき

--max-pages N

1ファイルで読む最大ページ数

大きなPDFの試し読み

--password

暗号化PDFのパスワード

鍵つきの書類

--keep-furniture

ヘッダー・フッターも残す

ページ番号や社名を残したいとき

--math

数式をLaTeXで出す(既定はオフ)

論文・技術資料

読めないファイルがあっても処理は止まらず、最後に失敗があれば終了コード1を返します。夜間にまとめて回す場合は、この終了コードを見れば失敗に気づけます。

Pythonから使う場合は indra_ocr.load() で読み込み、convert() でページごとの結果を受け取ります。大量のファイルを並列で処理する convert_many は、MacとWindowsでは if __name__ == "__main__": の中に書く必要があるとREADMEに注意書きがあります。書かないと警告が出て、1つのプロセスで順番に処理されます。

また indra-ocr-viewer を実行すると、手元のブラウザ(http://localhost:8765)で確認画面が開きます。PDFや画像を落とすと、検出した行・ブロック・読む順番がページの上に重ねて表示され、各行の確信度も見られます。READMEには「Files stay on your machine」とあり、ファイルは外に送られません。

自社のMac miniで日本語の書類を読ませた結果

公式の数字はDatalab社の環境のものなので、私たちの手元でも試しました。使ったのは社内で無人の作業に使っているMac mini(Apple M1・8コア・メモリ16GB)と、Indra OCR 1.1.2です。

読ませたのは、実在しない会社名で作った架空の請求書と作業報告書です(実際の取引先の書類は使っていません)。スキャンした紙に近づけるため、2.5度と4度の傾き・軽いぼかし・点状の汚れを加えた画像にし、作業報告書を90度横に倒したページも混ぜて、3ページのPDFにしました。

Indra OCRをApple M1のMac miniで試した結果。40ページの処理時間と、読み違えた行の確信度

速さ:40ページを約5秒、コアを1つに絞ると約13秒

  • 3ページのスキャンPDF:1ページあたり279〜378ミリ秒
  • 同じページを繰り返して40ページにしたPDF:全コア(既定)で5.4秒、--cores 4 で5.6秒、--cores 1 で12.8秒(いずれもモデルの読み込みを含む全体の時間)
  • 文字の入ったデジタルPDF(ブラウザから印刷した見積書):テキスト層をそのまま使い、1ページ108ミリ秒

M1の8コアは高性能コア4つと省電力コア4つの組み合わせなので、全コアと4コアでほとんど差が出なかったと考えています。1時間あたりに直すと数万ページの計算になり、事務所にある紙の量なら速さが問題になることはまずありません。

正確さ:本文はほぼ完璧、合計欄の短い行で読み違い

請求書の宛名・日付・請求番号・明細3行(品目・数量・単価・金額)・振込先・支払期限、作業報告書の見出しと本文は、すべて正しく読めました。傾きは自動で直され、JSONに記録された傾きは加えた角度と一致しました。90度倒したページも正しい向きで読めています。明細はHTMLの表として、品目・数量・単価・金額の列に分かれて出ました。

一方で、次の読み違いが出ました。

  • PDFで渡したとき、「小計 180,000」が「1 180,000」になった(40ページ版でも、請求書の20ページすべてで同じ誤り)
  • 解像度を半分に落とした画像で、「合計 198,000」が「$ 198,000」になった
  • 「¥」が全角の「¥」になったページがあった(金額を数値として扱う前に置き換えが必要)

同じ請求書でも、PNGの画像を直接渡したときは「小計」を正しく読めました。PDFを画像にし直す工程が入ると、わずかな差で結果が変わるということです。

見逃せないのは、読み違えた2行は、どちらもそのページで確信度がいちばん低い行だったことです(0.841と0.864)。ほかの行はすべて0.9以上でした。今回の数ページだけで一般化はできませんが、「JSONで出して、確信度0.9未満の行と、合計・小計の行は人が見る」という運用なら、今回の誤りは両方とも拾えます。

うまくいかなかったこと:縦書き

縦書きのお知らせ(明朝体・4列)も試しましたが、これは崩れました。縦書きのページとは判定されず、1文字ずつ表のマス目に入ったような出力になりました。私たちが作った見本は文字の間隔が広く、実際の印刷物より不利だった可能性はあります。ただREADMEも「縦書きのスキャンは横書きより読みにくい」と書いており、縦書きの書類が多い職場では、本番の前に実物で試すことをおすすめします。

なお、手書きは今回は試していません。この点は次の節で公式の数字を見ます。

精度と速さの公式の数字をどう読むか

READMEでは、Datalab社が公開している文書読み取りの評価セット「OmniParseBench」(2,937ページ・16,288の合否テスト)で、Indra OCRが66.7点(--math ありで71.4点)とされています。比較として、PaddleOCRの文書処理一式(PP-StructureV3)が58.4点、Tesseract 5の文字の点数が19.3点です。

ただし、読むときに押さえておきたい点が3つあります。

  • 評価セットも採点もDatalab社のもの:READMEには、ベンチマーク側のIndra OCR用の部品と採点で出した点数だと明記されています。第三者による比較ではありません
  • 日本語の点数は母数が小さい:文字の種類別の表では、日本語の仮名が57.9点(テスト19件)、中国語が64.0点(136件)、韓国語が79.2点(24件)です。READMEも「テストが少ないので、1件で2〜8点動く」と注意しています
  • 速さはサーバーの数字:「32コアで毎秒約44ページ」はAMDのサーバー向けCPUでの値です。4コアでは毎秒6.2ページ、1ページ単位で見ると中央値212ミリ秒とされています。私たちのM1で1ページ0.3秒前後だったのは、この4コアの数字と近い水準です

READMEの「Limitations」の節は、向かない書類をはっきり書いています。

苦手なもの

READMEの記載

複雑な表

結合セル・セル内の改行・入れ子の見出し・罫線のない表は、セルが別の行や列にずれることがある。罫線のある単純な表はよく読める

手書き

読めるが精度は低い。評価セットの手書きテストで25.2%、手書きのページでは単語の約3分の1

劣化したスキャン

古い・色あせた・低解像度のスキャンは苦手(劣化スキャンのテストで29.5%)

縦書き

右の列から読むが、縦書きのスキャンは横書きより精度が落ちる。段をまたぐ新聞記事は順番が乱れることがある

手書き・複雑な表・劣化したスキャンには、同社の有料のモデル(Chandra)を勧める書き方になっています。無料で配る小さなモデルと、有料のクラウドの精度の高いモデルで役割を分けている、と読むのが自然です。

OCRの「精度◯%」という数字を比べるときの注意点は、別の記事で詳しくまとめています。

AI-OCRの精度は何で決まるか|ツール比較の観点

Indra OCRを使ってよい条件:「無料」には条件がある

ここがいちばん読み飛ばされやすいところです。Indra OCRは、コードとモデルの重みでライセンスが違います。

  • コード:Apache 2.0。商用を含めて自由に使えます
  • モデルの重み:改変版のOpenRAIL-M。実際に文字を読むのはこちらなので、使う以上はこの条件に従うことになります

Hugging Faceに置かれた重みの使用条件(LICENSE)の「Commercial」の項には、次の3つの場合は使えないと書かれています。

  1. あなた(勤め先や関連する組織を含む)の前年の売上高が2,000万米ドルを超える場合
  2. あなた(同上)が株式や借入で合計2,000万米ドルを超える資金を調達している場合
  3. あなた(同上)が、Datalab社やその関連会社の製品・サービスと競合する製品・サービスを提供している場合

1と2には「個人利用か研究目的に限る場合を除く」という例外があります。READMEでは同じ内容を「研究・個人利用、資金調達か売上が2,000万ドル未満のスタートアップは無料」と要約しています。

中小企業が自社の書類を読む用途なら、多くは1と2に当たらないはずです。気をつけたいのは3です。たとえばOCRやデータ入力の代行を事業にしている会社や、文書の読み取り機能を他社に提供するサービスは、Datalab社の文書読み取りのAPIと競合すると判断される可能性があります。使用条件では、モデルをAPIやWebで他人に使わせることも「配布」に含めています。

当てはまるか迷う場合は、自己判断で進めず、Datalab社の商用ライセンス(READMEは料金ページへ案内しています)を確認するか、専門家に相談してください。この記事は条件の要点を整理したもので、法的な判断の代わりにはなりません。条件は改定されることがあるので、使い始める時点の原文を必ず読んでください。

向く仕事・向かない仕事と、クラウドのAIとの使い分け

私たちが以前、介護事業所の書類作成を効率化したときは、デジタル機器が苦手な職員の方のために、手書きメモをスキャンするだけでデータになる仕組みを入れました。そのときの読み取りには、画像を読めるクラウドの生成AIを使っています。手書きが中心だったこと、読み取った後に「誰の・何の記録か」を項目に分ける必要があったことが理由です。

Indra OCRの特徴は、その逆側にあります。手書きは苦手ですが、印刷された書類なら速く、しかも書類が手元のパソコンから外に出ません。この2つの性格を踏まえると、使い分けは次のように整理できます。

Indra OCRとクラウドの生成AIの使い分け。印刷物か手書きか、外に出せるかで分ける

Indra OCRが向く

クラウドの生成AIが向く

書類の種類

印刷された請求書・見積書・報告書・社内文書

手書きのメモ・伝票、劣化したスキャン

量

数百〜数千ページをまとめて

1枚ずつ、または少量

外に出せるか

社外に送りたくない書類も手元で読める

サービスの利用規約とデータの扱いを確認したうえで送る

欲しい結果

全文のテキスト・検索できる状態・表

「請求元・金額・期日」のような項目を抜き出した結果

費用

手元のパソコンで動くため使った分の料金はかからない(使用条件の範囲内で)

ページ数や使用量に応じた料金

両方を組み合わせる形もあります。まずIndra OCRで全ページを手元でテキストにし、確信度の低い行や項目を抜き出したいページだけを、人の確認かクラウドのAIに回す流れです。全部をクラウドに送るより、外に出る書類と料金をどちらも減らせます。

紙の請求書をExcelにするまでの流れ(スキャナの設定・ファイル名の付け方・人が確認する工程)は、こちらで手順を書いています。読み取りの道具をIndra OCRに置き換えても、前後の工程の考え方はそのまま使えます。

紙の請求書をExcelデータにする方法と設計手順

手書きの伝票が中心の職場では、読み取りの道具を選ぶ前に、伝票の作り方から見直すほうが効くことがあります。

手書き伝票はAIでどこまで読めるか

Indra OCRを業務に入れるときの手順

私たちの実測と公式の注意書きを踏まえて、最初の1週間でやることを順に並べます。

  1. 実物を10〜20ページ選ぶ:きれいな印刷物だけでなく、FAXで届いたもの・傾いたスキャン・表の多いものを混ぜる。縦書きがある職場なら必ず入れる
  2. JSONで出す:indra-ocr *.pdf --out results/ --format json。Markdownだけ見ていると、確信度がわからない
  3. 確信度の低い行を一覧にする:今回の実測では0.9未満の行に誤りが集まっていた。自社の書類で、どの値を境にすると誤りを拾えるかを確かめる
  4. 金額・日付は機械的に検算する:明細の合計と「合計」欄が一致するか、「¥」と「¥」の揺れがないかを確認する工程を入れる
  5. 苦手な書類を外す:手書き・複雑な表・縦書きで崩れるものは、別の道具か人の入力に回すと決める

OCRの結果をそのまま会計や請求のデータに流すのは避けてください。今回の「小計」のように、本文が完璧でも1か所の数字の誤りが後工程で効いてきます。

よくある質問

GPUは必要ですか?

いりません。CPUだけで動くように作られており、私たちもGPUのないMac miniで動かしました。

Windowsで動きますか?

READMEで「確認済み」とされているのはLinuxとmacOS(Apple シリコン)です。Windowsは記載がありません。並列処理の注意書きにWindowsが出てくるので、動かす前提で書かれてはいますが、試すときは自分の環境で確かめてください。

日本語の縦書きは読めますか?

READMEでは縦書きに対応するとしていますが、スキャンは横書きより精度が落ちると書かれています。私たちの試し(明朝体・文字の間隔が広い見本)では崩れました。実物で試してから判断してください。

インターネットにつながらない環境で使えますか?

最初の1回だけモデルの取得にネット接続が必要です。取得したモデルを別の場所に置き、INDRA_OCR_MODEL_DIR か --model-dir で指定すれば、その後はつながっていなくても読めます。

会社で使うのは無料ですか?

使用条件の範囲内なら料金はかかりません。前年の売上高か資金調達が2,000万米ドルを超える会社と、Datalab社と競合するサービスを提供する会社は、個人利用・研究目的を除いて使えません。当てはまる場合は商用ライセンスが必要です。

Xで見た「5,000ページを1時間強」は本当ですか?

READMEにはこの数字はありません。公式の数字は「32コアで毎秒約44ページ」「4コアで毎秒6.2ページ」です。私たちのM1では40ページが約5秒でした。ページの中身とパソコンの性能で大きく変わるので、自社の書類で測るのが確実です。

まとめ

  • Indra OCRはDatalab社が2026年10月に公開した、CPUだけで動く小さなOCR。pip install indra-ocr で入り、初回に約76MBのモデルを取得する
  • PDF・画像をMarkdown・テキスト・JSONにし、文字の入ったPDFは足りない所だけ読む。日本語は専用の読み取りモデルで読む
  • 私たちのMac mini(M1)では40ページを約5秒で読み、印刷された日本語の本文はほぼ正確だった。合計・小計の短い行で読み違いが出たが、その行は確信度がいちばん低かった
  • 手書き・複雑な表・劣化したスキャン・縦書きは苦手。手書きが中心ならクラウドの生成AIのほうが向く
  • コードはApache 2.0だが、モデルの重みには売上・資金調達2,000万米ドルの線と、競合サービスへの利用禁止の条件がある

紙の書類を外に出さずに一気にテキストにできるのは、中小企業にとって大きな選択肢です。一方で、読み取りの結果をどこまで信じ、どこを人が見るかは、道具ではなく業務の設計で決まります。株式会社Fyveでは、こうした道具の選び方と、確認の工程まで含めた業務の組み立てを、実際に手を動かしながらお手伝いしています。

AIを使う会社と、使わない会社。
その差は、開き始めています。

ここ数年でAIは急速に進化し、正しく導入できている企業とそうでない企業とでは、業務効率や人件費に大きな差が生まれ始めています。「AI導入に興味はあるが、実際に何ができて、どこから手をつければいいか分からない」——そんな方は、まずこの無料プレゼントに目を通してみてください。

無料プレゼント:様々な業種にAIを導入して分かった、成功の型と失敗パターン ― 無料でダウンロードする
← 記事一覧に戻る