[ PROMPT_NODE_26782 ]
Markitdown API 参考
[ SKILL_DOCUMENTATION ]
# MarkItDown API 参考
## 核心类
### MarkItDown
用于将文件转换为 Markdown 的主类。
python
from markitdown import MarkItDown
md = MarkItDown(
llm_client=None,
llm_model=None,
llm_prompt=None,
docintel_endpoint=None,
enable_plugins=False
)
#### 参数
| 参数 | 类型 | 默认值 | 描述 |
|-----------|------|---------|-------------|
| `llm_client` | OpenAI client | `None` | 用于 AI 图像描述的 OpenAI 兼容客户端 |
| `llm_model` | str | `None` | 用于图像描述的模型名称 (例如 "anthropic/claude-sonnet-4.5") |
| `llm_prompt` | str | `None` | 用于图像描述的自定义提示词 |
| `docintel_endpoint` | str | `None` | Azure 文档智能端点 |
| `enable_plugins` | bool | `False` | 启用第三方插件 |
#### 方法
##### convert()
将文件转换为 Markdown。
python
result = md.convert(
source,
file_extension=None
)
**参数**:
- `source` (str): 要转换的文件路径
- `file_extension` (str, 可选): 覆盖文件扩展名检测
**返回**: `DocumentConverterResult` 对象
**示例**:
python
result = md.convert("document.pdf")
print(result.text_content)
##### convert_stream()
从文件类二进制流进行转换。
python
result = md.convert_stream(
stream,
file_extension
)
**参数**:
- `stream` (BinaryIO): 二进制文件类对象 (例如以 `"rb"` 模式打开的文件)
- `file_extension` (str): 用于确定转换方法的扩展名 (例如 ".pdf")
**返回**: `DocumentConverterResult` 对象
**示例**:
python
with open("document.pdf", "rb") as f:
result = md.convert_stream(f, file_extension=".pdf")
print(result.text_content)
**重要**: 流必须以二进制模式 (`"rb"`) 打开,而不是文本模式。
## 结果对象
### DocumentConverterResult
转换操作的结果。
#### 属性
| 属性 | 类型 | 描述 |
|-----------|------|-------------|
| `text_content` | str | 转换后的 Markdown 文本 |
| `title` | str | 文档标题 (如果可用) |
#### 示例
python
result = md.convert("paper.pdf")
# 访问内容
content = result.text_content
# 访问标题 (如果可用)
title = result.title
## 自定义转换器
您可以通过实现 `DocumentConverter` 接口来创建自定义文档转换器。
### DocumentConverter 接口
python
from markitdown import DocumentConverter
class CustomConverter(Docum