> For the complete documentation index, see [llms.txt](https://docs.cherryai.com.cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cherryai.com.cn/docs/en-us/pre-basic/settings/doc-process.md).

# Document Processing

Simply put:**This is Cherry Studio's central configuration for reading "PDF / complex-layout documents" as clean, structured text.**

PDFs with tables, multi-column layouts, and scanned pages (academic papers, contracts, research reports, etc.) often become a mess if handed directly to the model. Document processing first uses a dedicated parsing engine to convert them into clearly structured text, and then passes it to chat or [Knowledge base](/docs/en-us/knowledge-base/knowledge-base.md) use.

{% hint style="info" %}
**Document Processing vs OCR**: the two are separate pages of settings.

* **Document processing**(this page): handles **PDF / complex-layout documents** structured parsing of.
* [**OCR**](/docs/en-us/pre-basic/settings/ocr.md): handles **images / scans** text recognition in.

For ordinary plain-text PDFs,`.md`/`.txt`/`.docx` text paragraphs don't need either of the two; they can be read directly.
{% endhint %}

### Configuration entry

Open \[Settings] → \[Document Processing], and select a parsing engine from the dropdown in the upper right,**the selected engine will be used as the default**.

<figure><img src="https://1658303467-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0Ut5BptC3t8CtSU1UWpM%2Fuploads%2Fgit-blob-ccfff6a9d37c58e6342c96d246156fddce6c0ab1%2Fdoc-process-overview.png?alt=media" alt=""><figcaption><p>Document Processing Settings: ① Use the dropdown at the top right to select a parsing engine (default MinerU); fill in the API key and API address for the selected engine below</p></figcaption></figure>

### Built-in parsing engines

Document Processing includes 5 built-in engines, default **MinerU**:

| engine              | Explanation                                                                                                  | Connection method                                                                                                                                    |
| ------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **MinerU**(default) | A high-quality PDF extraction tool open-sourced by OpenDataLab                                               | API key ([mineru.net/apiManage](https://mineru.net/apiManage))                                                                                       |
| **PaddleOCR**       | Baidu Paddle OCR recognition system                                                                          | Fill in API key ([PaddlePaddle Star River Community](https://aistudio.baidu.com/paddleocr/); if self-deployed, point the API address to your service |
| **Doc2x**           | Advanced file restoration engine                                                                             | API key ([open.noedgeai.com](https://open.noedgeai.com/apiKeys))                                                                                     |
| **Mistral**         | File parsing and understanding service                                                                       | API key ([mistral.ai](https://mistral.ai/api-keys))                                                                                                  |
| **Open MinerU**     | A self-deployable MinerU service, suitable for teams that want to control the processing pipeline themselves | After self-deployment, fill in the API address (fill in the API key if needed)                                                                       |

### Configure MinerU (default option)

{% stepper %}
{% step %}

### Enter the API key

In the \[API Key] field, enter the key obtained from MinerU (click "Get key" on the right to jump to the application page; multiple keys can be separated by commas).
{% endstep %}

{% step %}

### Confirm API address

Leave the \[API Address] as default.
{% endstep %}

{% step %}

### Use directly in the knowledge base / chat

When importing complex PDFs, this parsing setting will be used automatically; no additional configuration is needed when switching to the knowledge base or chat.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Switch to another engine**: select it from the dropdown, enter that engine's \[API Key] / \[API Address], and it becomes the default once selected. Among them **PaddleOCR** and **Open MinerU** supports self-deployment — after deployment, set the \[API Address] to your own service address.
{% endhint %}

### Relationship with the knowledge base

* Document processing only handles the step "complex documents → clean text";
* the converted text continues to [Embedding model](/docs/en-us/knowledge-base/emb-models-info.md) vectorization, and ingestion;
* See the detailed "Enable in the knowledge base" process in [Knowledge Base Document Preprocessing](/docs/en-us/knowledge-base/document-preprocessing.md).

### Tips and tricks

* MinerU performs significantly better on PDFs with tables / multi-column layouts, and is the first choice for academic papers and similar documents;
* What needs to be recognized is **the text in images**(screenshots, scans) rather than the PDF structure, please use [OCR](/docs/en-us/pre-basic/settings/ocr.md).

***

### Get help and submit feedback

If you encounter any questions, bugs, or have suggestions for feature improvements during configuration or use, please refer to [Feedback and Suggestions](/docs/en-us/question-contact/suggestions.md) for the official channels provided.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.cherryai.com.cn/docs/en-us/pre-basic/settings/doc-process.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
