> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-docs-new-agent-experience.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 文档提取器

> 本文档由 AI 自动翻译。如有任何不准确之处，请参考 [英文原版](/en/cloud/use-dify/nodes/doc-extractor)。

文档提取器节点将上传的文件转换为大型语言模型可以处理的文本。由于语言模型无法直接读取 PDF 或 DOCX 等文档格式，此节点作为文件上传和 AI 分析之间的重要桥梁。

<Frame caption="文档提取器节点配置">
  ![文档提取器节点配置](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/f3853b40904e275da895711107e9c72f.png)
</Frame>

## 支持的文件类型

该节点处理大多数基于文本的文档格式：

**文本文档** - TXT、Markdown、HTML 文件，包含直接文本内容

**办公文档** - Microsoft Word 和兼容应用程序的 DOCX 文件

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

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

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

**演示文稿** - PowerPoint（.ppt/.pptx）文件通过 Unstructured API 处理

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

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

主要包含二进制内容（如图像、音频或视频）的文件需要专门的处理工具或外部服务。

## 输入和输出

### 输入配置

配置节点以接受：

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

用于批量文档处理的 **多个文件** 数组

### 输出结构

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

* 单个文件输入产生包含提取文本的`string`
* 多个文件输入产生包含每个文件内容的`array[string]`

输出变量命名为`text`，包含准备用于下游处理的原始文本内容。

## 实现示例

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

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

### 工作流设置

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

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

**AI 处理** - 在大型语言模型提示词中使用提取的文本进行分析、摘要或问答。

<Frame caption="文档处理实际操作">
  ![文档处理实际操作](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/83bca46bcde07069660ff649e5c7cf4c.png)
</Frame>

<Frame caption="带文档上传的聊天界面">
  ![带文档上传的聊天界面](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/d05301438e8aab7393bb5863554f1009.png)
</Frame>

## 常见用例

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

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

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

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

## 处理注意事项

文档提取器使用针对不同文件格式优化的专用解析库。它尽可能保留文本结构和格式，使提取的内容对大型语言模型处理更加有用。

### 文件格式处理

**编码检测** - 使用 chardet 库自动检测文件编码，基于文本的文件使用 UTF-8 作为后备

**表格转换** - Excel 和 CSV 数据转换为 Markdown 表格，以便大型语言模型更好地理解

**文档结构** - DOCX 文件保持段落和表换

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

### 外部依赖

某些文件格式通过 **Unstructured API** 服务处理：

* DOC 文件（旧版 Word 文档）
* PowerPoint 演示文稿（如果使用 API 处理）
* EPUB 电子书（如果使用 API 处理）

对于非常大的文档，请考虑大型语言模型的上下文限制，如果需要，可以实施分段策略。提取的文本保持原始文档的逻辑结构，以保留含义和上下文。
