---
title: "文档提取器"
description: "从上传的文档中提取文本内容以进行AI处理"
icon: "file-export"
---

文档提取器节点将上传的文件转换为大型语言模型（LLM）可以处理的文本。由于语言模型无法直接读取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及兼容应用的DOCX文件

**PDF文档** - 使用pypdfium2进行准确文本提取的基于文本的PDF

**办公文件** - DOC文件需要Unstructured API，DOCX文件支持直接解析，并将表格提取为Markdown格式

**电子表格** - Excel (.xls/.xlsx)和CSV文件转换为Markdown表格

**演示文稿** - 通过Unstructured API处理的PowerPoint (.ppt/.pptx)文件

**电子邮件格式** - EML和MSG文件用于电子邮件内容提取

**专用格式** - EPUB电子书、VTT字幕、JSON/YAML数据和Properties文件

主要包含图像、音频或视频的文件需要专门的处理工具或外部服务。

## 输入和输出

### 输入配置

将节点配置为接受：

**单文件** 输入，来自文件变量（通常来自开始节点）

**多文件** 作为数组进行批量文档处理

### 输出结构

节点输出提取的文本内容：

- 单文件输入生成包含提取文本的`string`
- 多文件输入生成`array[string]`，每个文件的内容分别存储

输出变量命名为`text`，其中包含准备好进行下游处理的原始文本内容。

## 实施示例

以下是使用文档提取器的完整文档问答工作流：

<Frame caption="ChatPDF风格的工作流实现">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/f6ea094b30b240c999a4248d1fc21a1c.png" alt="ChatPDF工作流" />
</Frame>

### 工作流设置

**文件上传配置** - 在开始节点中启用文件输入，以接受用户上传的文档。

**文本提取** - 连接文档提取器以处理上传的文件并提取其文本内容。

**AI处理** - 在LLM提示词中使用提取的文本进行分析、总结或问答。

<Frame caption="文档处理操作">
  <img src="https://assets-docs.dify.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>

## 常见用例

**文档问答应用** - 构建ChatPDF风格的应用程序，用户上传文档并询问其内容。

**内容分析** - 处理合同、报告或研究论文，提取关键信息和见解。

**批量文档处理** - 同时从多个文档中提取文本以进行分析、索引或迁移。

**文档转换** - 将各种文档格式转换为纯文本以供进一步处理或存储。

## 处理注意事项

文档提取器使用针对不同文件格式优化的专用解析库。它在可能的情况下保留文本结构和格式，使提取的内容在LLM处理时更有用。

### 文件格式处理

**编码检测** - 使用chardet库自动检测文件编码，文本文件默认为UTF-8

**表格转换** - Excel和CSV数据转换为Markdown表格以增强LLM理解

**文档结构** - DOCX文件保持段落和表格顺序，正确转换表格为Markdown

**多行内容** - VTT字幕文件合并同一说话者的连续话语

### 外部依赖

某些文件格式需要配置**Unstructured API**服务，通过`UNSTRUCTURED_API_URL`和`UNSTRUCTURED_API_KEY`：
- DOC文件（旧版Word文档）
- PowerPoint演示文稿（若使用API处理）
- EPUB电子书（若使用API处理）

对于非常大的文档，请考虑LLM的上下文限制，并在需要时实施分段策略。提取的文本保持原始文档的逻辑结构，以保留意义和上下文。

<Info>
  有关详细的文件上传配置和高级文档处理功能，请参阅[文件上传指南](/en/guides/workflow/additional-features)。
</Info>