---
title: "ドキュメント抽出器"
description: "Extract text content from uploaded documents for AI processing"
icon: "file-export"
---

ドキュメント抽出器ノードは、アップロードされたファイルを大規模言語モデルが処理できるテキストに変換します。言語モデルはPDFやDOCXなどのドキュメント形式を直接読み取ることができないため、このノードはファイルアップロードとAI解析の間の重要な橋渡しとなります。

<Frame caption="ドキュメント抽出器ノードの設定">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/f3853b40904e275da895711107e9c72f.png" alt="ドキュメント抽出器インターフェース" />
</Frame>

## サポートされているファイルタイプ

このノードは、ほとんどのテキストベースのドキュメント形式を処理します：

**テキストドキュメント** - TXT、Markdown、HTMLファイルなど、直接テキストコンテンツを含むファイル

**オフィス文書** - Microsoft WordおよびCompatible applicationsのDOCXファイル

**PDFドキュメント** - pypdfium2を使用して正確なテキスト抽出を行うテキストベースのPDF

**オフィスファイル** - DOCファイルはUnstructured APIが必要、DOCXファイルは直接解析をサポートし、テーブル抽出はMarkdown形式に変換される

**スプレッドシート** - Excel（.xls/.xlsx）およびCSVファイルをMarkdownテーブルに変換

**プレゼンテーション** - PowerPoint（.ppt/.pptx）ファイルをUnstructured API経由で処理

**メール形式** - EMLおよびMSGファイルによるメールコンテンツ抽出

**特殊形式** - EPUB書籍、VTT字幕、JSON/YAMLデータ、プロパティファイル

画像、音声、動画などの主にバイナリコンテンツを含むファイルは、専用の処理ツールまたは外部サービスが必要です。

## 入力と出力

### 入力設定

ノードを次のいずれかを受け入れるように設定します：

**単一ファイル**入力（通常はStartノードからのファイル変数）

**複数ファイル**をバッチドキュメント処理のための配列として

### 出力構造

ノードは抽出されたテキストコンテンツを出力します：

- 単一ファイル入力は、抽出されたテキストを含む`string`を生成
- 複数ファイル入力は、各ファイルのコンテンツを含む`array[string]`を生成

出力変数は`text`という名前で、下流処理の準備が整った生のテキストコンテンツが含まれています。

## 実装例

以下は、ドキュメント抽出器を使用した完全なドキュメントQ&Aワークフローです：

<Frame caption="ChatPDFスタイルのワークフロー実装">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/f6ea094b30b240c999a4248d1fc21a1c.png" alt="ChatPDFワークフロー" />
</Frame>

### ワークフロー設定

**ファイルアップロード設定** - Startノードでファイル入力を有効にして、ユーザーからのドキュメントアップロードを受け入れます。

**テキスト抽出** - ドキュメント抽出器を接続して、アップロードされたファイルを処理し、テキストコンテンツを抽出します。

**AI処理** - 抽出されたテキストを大規模言語モデルのプロンプトで使用して、分析、要約、または質問応答を行います。

<Frame caption="動作中のドキュメント処理ai/dify-enterprise-mintlify/en/guides/workflow/node/83bca46bcde07069660ff649e5c7cf4c.png" alt="ドキュメント処理設定" />
</Frame>

<Frame caption="ドキュメントアップロード機能付きチャットインターフェース">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/d05301438e8aab7393bb5863554f1009.png" alt="PDF付きチャットインターフェース" />
</Frame>

## 一般的な使用例

**ドキュメントQ&Aアプリケーション** - ユーザーがドキュメントをアップロードし、そのコンテンツについて質問するChatPDFスタイルのアプリを構築します。

**コンテンツ分析** - 契約書、報告書、研究論文を処理して重要な情報や洞察を抽出します。

**バッチドキュメント処理** - 複数のドキュメントから同時にテキストを抽出して分析、インデックス化、移行を行います。

**ドキュメント変換** - さまざまなドキュメント形式をプレーンテキストに変換して、さらなる処理や保存を行います。

## 処理に関する考慮事項

ドキュメント抽出器は、異なるファイル形式に最適化された専用解析ライブラリを使用します。可能な限りテキスト構造と書式を保持し、抽出されたコンテンツを大規模言語モデル処理により有用にします。

### ファイル形式処理

**エンコーディング検出** - chardetライブラリを使用してファイルエンコーディングを自動検出し、テキストベースファイルにはUTF-8フォールバックを使用

**テーブル変換** - ExcelおよびCSVデータは、大規模言語モデルの理解を向上させるためのMarkdownテーブルになります

**ドキュメント構造** - DOCXファイルは、適切なテーブルからMarkdownへの変換により段落とテーブルの順序を維持

**複数行コンテンツ** - VTT字幕ファイルは、同じ話者による連続する発言をマージ

### 外部依存関係

一部のファイル形式では、`UNSTRUCTURED_API_URL`と`UNSTRUCTURED_API_KEY`経由で設定される**Unstructured API**サービスが必要です：
- DOCファイル（レガシーWordドキュメント）
- PowerPointプレゼンテーション（API処理を使用する場合）
- EPUB書籍（API処理を使用する場合）

非常に大きなドキュメントの場合は、大規模言語モデルのコンテキスト制限を考慮し、必要に応じてチャンキング戦略を実装してください。抽出されたテキストは、意味とコンテキストを保持するために元のドキュメントの論理構造を維持します。

<Info>
  詳細なファイルアップロード設定と高度なドキュメント処理機能については、[ファイルアップロードガイド](/en/guides/workflow/additional-features)を参照してください。
</Info>