Table of Contents
Windows×Linux連携でOCR自動化:共有フォルダ不要のAPI方式とは?Django×PDF処理アーキテクチャ解説
業務文書のデジタル化では、PDFをOCR処理してテキスト化し、検索可能な形で保存する仕組みが重要になります。
しかしWindowsとLinuxが混在する環境では、「共有フォルダ(Samba)」を使ったファイル連携が一般的である一方、
アクセス権やセキュリティ設定、パス管理の複雑さが問題になることも少なくありません。
そこで今回検討したのが、共有フォルダを使わずAPI通信のみでWindowsとLinuxを接続する方式です。
Windows側でDjangoを動かしOCR処理を行い、その結果をLinuxサーバーへ送信することで、
Linux側は「書庫(テキスト保存場所)」として機能します。
この記事では、WindowsローカルのPDFをOCR処理し、
元のフォルダ構造を維持したままLinux側へ保存する仕組みを整理します。
特に、API方式のメリットと将来的な拡張性について重点的に解説します。
WindowsとLinuxを連携させたOCR処理アーキテクチャ
まず全体構成を整理します。
今回のシステムでは、Windows側が処理主体となり、
Linux側はデータ保存専用のサーバーとして機能します。
この構造により、ファイル共有を使わず安全に文書データを管理できます。
Windows側でOCR処理を実行
Windows側ではDjangoアプリケーションを動作させ、
既存のOCR関数(extract_text_with_fallback)を使用します。
処理の流れは次の通りです。
- WindowsローカルのPDFを読み込み
- OCRでテキスト抽出
- 元PDFの相対パスを取得
- 抽出テキストをLinuxへ送信
例えば以下のようなPDFがあった場合です。
C:\Scans\部門A\2026\請求\A001.pdf
OCR処理後、Linux側には次のように保存されます。
/archive/Scans/WindowsPC名/部門A/2026/請求/A001.txt
このように、フォルダ構造をそのまま再現することで、
文書管理の整合性を維持できます。
Linux側は「書庫」として機能
Linux側は処理を行わず、テキストファイルの保存のみを担当します。
具体的には以下の役割です。
- OCR結果のテキスト保存
- JSONメタデータ保存
- 検索インデックスの格納
Linuxを保存専用にするメリットは大きく、
処理サーバーと保存サーバーを分離できるため、
将来的な拡張にも対応しやすくなります。
共有フォルダーを使わない通信設計
従来のWindows-Linux連携では、
Samba共有フォルダを利用することが多くあります。
しかし共有フォルダにはいくつかの問題があります。
- 権限管理が複雑
- マウントエラーが発生する
- セキュリティリスクがある
そこで今回採用したのがAPI通信方式です。
API通信によるデータ転送
Linux側にHTTPサーバーを立て、
Windows側からPOST通信でデータを送信します。
POST http://LINUX_SERVER_IP:8004/upload
送信データ例
{
"path": "部門A/2026/請求/A001.pdf",
"text": "OCRで抽出された文章",
"confidence": 0.94
}
Linux側ではこのデータを受け取り、
対応するディレクトリを作成して保存します。
この方式の特徴は、
WindowsからLinuxへ一方向通信だけで完結することです。
セキュリティ設計
API方式では、通信制御も重要になります。
代表的な対策は次の通りです。
- Linux側Firewall(UFW)でIP制限
- APIキーによる認証
- HTTPS通信
- DBのバインド制限
例えばLinux側Firewallでは、
WindowsのIPだけを許可します。
ufw allow from 192.168.1.10 to any port 8004
これにより、
外部アクセスを遮断できます。
API方式のメリットと今後の拡張
今回のアーキテクチャの最大の特徴は、
共有フォルダを使わずAPI通信でデータ連携を行う点です。
この方式には多くのメリットがあります。
システムの柔軟性が高い
API通信にすると、
将来的な拡張が容易になります。
例えば以下のような構成変更も可能です。
- OCRサーバーを複数台に増やす
- Linux書庫をクラウドへ移行
- AI検索エンジンと連携
つまり、
OCR処理・保存・検索を
マイクロサービス的に分離できます。
AI検索との統合
今後の拡張として特に重要なのが、
AI検索との統合です。
OCRで生成されたテキストは、
次の用途に利用できます。
- 全文検索
- LLM検索
- 文書要約
- ナレッジベース化
例えば、次のような検索が可能になります。
「2026年の請求書でA社の支払い金額は?」
このような自然言語検索は、
生成AIとOCRデータベースの組み合わせで実現できます。
つまり今回の仕組みは、
単なるOCR自動化ではなく、
企業ナレッジの基盤として発展させることが可能です。
〆最後に〆
以上、間違い・ご意見は
以下アドレスまでお願いします。
全て返信できていませんが 見ています。
適時、改定をします。
nowkouji226@gmail.com
