ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MarkItDown 实操指南:把 Office 文档转成 Markdown 只要一分钟

MarkItDown 实操指南:把 Office 文档转成 Markdown 只要一分钟 MarkItDown 实操指南把 Office 文档转成 Markdown 只要一分钟【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdownMarkItDown 是一个免费开源的 Python 工具一行命令把 PDF、Word、PPT、Excel、图片、音频转成 Markdown。它解决的是把杂乱文档喂给 LLM的问题标题、列表、表格这些结构都会保留下来而不是压成一坨纯文本。转换效果速览先看仓库里自带的测试 PDF一篇论文的首页转出来的结果转出的 Markdown 大致长这样正文段落完整脚注也保留了1 Introduction Large language models (LLMs) are becoming a crucial building block in developing powerful agents that utilize LLMs for reasoning, tool usage, and adapting to new observations ...环境与获取要求 Python 3.10 及以上建议先在虚拟环境里装避免依赖打架。普通用户装现成的就行pip install markitdown[all]开发者想改源码先克隆仓库再装开发版git clone https://gitcode.com/GitHub_Trending/ma/markitdown cd markitdown pip install -e packages/markitdown[all][all]表示装齐所有格式依赖如果只用 PDF 和 Word装markitdown[pdf, docx]更省空间。第一次运行装完你会多出一个markitdown命令。把路径扔给它结果直接打印到终端$ markitdown packages/markitdown/tests/test_files/test.pdf 1 Introduction Large language models (LLMs) are becoming a crucial building block ...想存成文件加-o$ markitdown test.pdf -o test.md也支持管道方便接进现有脚本cat test.pdf | markitdown。看到结构化的 Markdown 输出就说明环境通了。核心能力拆解输入先认文件再派活拿到字节流后MarkItDown 先用魔数文件头签名识别真实格式而不是只看扩展名然后在一串注册好的转换器里按优先级匹配。每个格式对应一个转换器通过accepts()判断自己能不能处理self.register_converter(PdfConverter()) self.register_converter(DocxConverter()) self.register_converter(PlainTextConverter(), priorityPRIORITY_GENERIC_FILE_FORMAT)具体格式优先纯文本兜底。匹配不到就明确报不支持不会硬转。处理抽取结构而非纯文本这是它和一键转文本工具的区别Word 的标题样式变成#表格变成 Markdown 表格超链接保留 hrefExcel 按工作表输出表格PPT 每页一张幻灯片逐页转。转出来的东西既给 LLM 读人看也不算费劲。输出图片、音频也能变文字对图片它提取 EXIF 元数据尺寸、标题、作者如果你配了多模态 LLM还会生成图片描述音频则走语音转写。下图就是 LLM 描述功能用的测试图配上llm_client后它会输出对红圆蓝方块的描述md MarkItDown(llm_clientclient, llm_modelgpt-4o) print(md.convert(example.jpg).text_content)进阶用法Docker 跑无环境依赖不想装 Python 依赖时仓库根目录的 Dockerfile 可以直接构建镜像把文件从 stdin 喂进去docker build -t markitdown:latest . docker run --rm -i markitdown:latest report.pdf output.md插件机制第三方转换器默认不加载markitdown --list-plugins看装了哪些加-p启用。比较常用的是markitdown-ocr插件靠 LLM Vision 从 PDF、PPT 里内嵌的图片中提取文字不用额外装 OCR 库。常用参数CLI 和 Python 基本对应参数默认值说明-o终端输出指定输出文件-x自动识别stdin 读取时给扩展名提示如-x pdf-p关闭启用已安装的第三方插件--use-docintel关闭改用 Azure Document Intelligence 云端提取llm_client/llm_model无为图片描述、OCR 提供 LLM两个踩过的坑从 stdin 读数据时没有任何线索可猜格式务必带上-xmarkitdown-ocr插件没传llm_client时会静默跳过 OCR 走内置转换器不报任何错别以为插件没装。答疑现象PDF 转出来是空白或一堆乱码。原因这是扫描件页面里没有文字层离线提取不到。解决用-d -e endpoint接 Azure Document Intelligence或上markitdown-ocr插件。现象cat file | markitdown报错说不支持该格式。原因管道输入丢掉了文件扩展名无法确定格式。解决加-x pdf手动给提示或直接把文件路径作为参数。现象装完markitdown[all]之外单独装的 markitdown 转 pptx 失败。原因各格式依赖是可选的基础包不含它们。解决按需补装如pip install markitdown[pptx]。现象接了 Azure 端点后部分格式仍走本地转换。原因云端转换按文件格式路由只有命中端点支持类型的文件才走云端。解决确认文件格式在端点支持范围内或调整docintel_file_types路由范围。收尾去终端跑一条markitdown 你的文件.pdf | head -20验证安装然后挑一份真实文档转一遍。某个具体格式转换效果不对直接去仓库 Issues 贴复现文件反馈。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表