Files
wehub-resource-sync c56bef871b
Sync docs with Docusaurus / sync (push) Waiting to run
Tests / Check if changed (push) Waiting to run
Tests / format (push) Blocked by required conditions
Tests / check-imports (push) Blocked by required conditions
Tests / Unit / macos-latest (push) Blocked by required conditions
Tests / Unit / ubuntu-latest (push) Blocked by required conditions
Tests / Unit / windows-latest (push) Blocked by required conditions
Tests / mypy (push) Blocked by required conditions
Tests / Integration / ubuntu-latest (push) Blocked by required conditions
Tests / Integration / macos-latest (push) Blocked by required conditions
Tests / Integration / windows-latest (push) Blocked by required conditions
Tests / notify-slack-on-failure (push) Blocked by required conditions
Tests / Mark tests as completed (push) Blocked by required conditions
Docker image release / Build base image (push) Waiting to run
CodeQL / Analyze (python) (push) Has been cancelled
Update Platform Components Table / update (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:22:28 +08:00

62 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Markitdown"
id: integrations-markitdown
description: "Markitdown integration for Haystack"
slug: "/integrations-markitdown"
---
## haystack_integrations.components.converters.markitdown.markitdown_converter
### MarkItDownConverter
Converts files to Haystack Documents using [MarkItDown](https://github.com/microsoft/markitdown).
MarkItDown is a Microsoft library that converts many file formats to Markdown,
including PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx), HTML, images,
audio, and more. All processing is performed locally.
### Usage example
```python
from haystack_integrations.components.converters.markitdown import MarkItDownConverter
converter = MarkItDownConverter()
result = converter.run(sources=["document.pdf", "report.docx"])
documents = result["documents"]
```
#### __init__
```python
__init__(store_full_path: bool = False) -> None
```
Initializes the MarkItDownConverter.
**Parameters:**
- **store_full_path** (<code>bool</code>) If `True`, the full file path is stored in the Document metadata.
If `False`, only the file name is stored. Defaults to `False`.
#### run
```python
run(
sources: list[str | Path | ByteStream],
meta: dict[str, Any] | list[dict[str, Any]] | None = None,
) -> dict[str, list[Document]]
```
Converts files to Documents using MarkItDown.
**Parameters:**
- **sources** (<code>list\[str | Path | ByteStream\]</code>) List of file paths or ByteStream objects to convert.
- **meta** (<code>dict\[str, Any\] | list\[dict\[str, Any\]\] | None</code>) Optional metadata to attach to the Documents. Can be a single dict
applied to all Documents, or a list of dicts aligned with `sources`.
**Returns:**
- <code>dict\[str, list\[Document\]\]</code> A dictionary with key `documents` containing the converted Documents.