用途:MarkItDown 内置转换器不处理内嵌图片与扫描页,markitdown-ocr 插件接管 PDF/DOCX/PPTX/XLSX 四类转换器,用支持图像输入的 OpenAI 兼容模型(gpt-4o、Azure OpenAI、Gemini、本地 vLLM/Ollama 等)做 OCR,把文字插回 Markdown 流。
主要能力:四格式支持;扫描 PDF 自动整页 300 DPI 渲染回退;DOCX 保留文档流;PPTX 按上→左顺序处理图片;XLSX 按 anchor 还原坐标但图片统一追加在表后;每个 OCR 块用 [Image OCR]…[End OCR] 包裹,便于后处理。
安装:pip install markitdown-ocr,并安装 openai 或 azure-openai 等兼容客户端。
用法:必须走 Python API,三个参数缺一不可——MarkItDown(enable_plugins=True, llm_client=OpenAI(), llm_model="gpt-4o"),可选 llm_prompt 自定义提示。Azure 用 AzureOpenAI(azure_endpoint=…, api_version=…)。CLI 当前没有 --llm-client/--llm-model,需自行写 Python 包装。
限制:每张图一次 LLM 调用,扫描件成本高;LLM 失败被静默吞掉,OCR 块缺失无警告;PPTX 若返回图像描述则优先于 OCR;XLSX 位置上下文丢失;需 vision 模型,纯文本模型会失败;敏感文档建议走本地私有化模型。
适用场景:扫描 PDF 转 Markdown、Office 文档内嵌图片文字抽取、本地化 OCR 部署。