如何用 PaddleOCR 文档转 Markdown(doc2md)把 Word、Excel、PowerPoint 转成 Markdown 📅 发布时间:2026/9/9 14:04:16 👁 浏览次数: 如何用 PaddleOCR 文档转 Markdowndoc2md把 Word、Excel、PowerPoint 转成 Markdown【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR如果你有原始的 Office 文件.docx、.xlsx、.pptx需要把它们变成结构化的 Markdown 文本——用于知识库构建、文档检索或内容提取——PaddleOCR 内置的 doc2md文档转 Markdown功能可以直接完成这件事。它不需要 OCR 推理而是直接解析 Office 文档的 XML 结构输出规范的 Markdown零 GPU 依赖。使用前需要已完成 PaddleOCR 基础安装paddleocr本体与doc2md依赖组支持 Python 3.8 及以上。本文只覆盖三种 Office 格式的转换操作没有原始文档、只有图片或扫描件时应使用 PaddleOCR 的 OCR 功能而非 doc2md。1. 准备安装 doc2md 依赖组先确保已按安装教程完成 PaddleOCR 基础安装然后安装 doc2md 可选依赖pip install paddleocr[doc2md]该依赖组包含四个解析库各自对应一种能力包名版本约束用途python-docx0.8.11Word (.docx) 文档解析python-pptx0.6.21PowerPoint (.pptx) 文档解析openpyxl3.0.0Excel (.xlsx) 文档解析pylatexenc2.10,3数学公式 Unicode → LaTeX 符号映射doc2md 采用延迟导入缺少某个格式的解析库时转换对应格式会抛出RuntimeError: python-docx is required之类的错误。此时按提示单独安装对应包即可例如pip install python-docx或一次性装齐pip install paddleocr[doc2md]。2. 执行转换命令行主路径以下命令中的report.docx、data.xlsx、slides.pptx是文档示例中的文件名替换为你自己的文件路径# 转换 Word 文档输出到文件 paddleocr doc2md -i report.docx -o output.md # 转换 Excel 表格输出到文件 paddleocr doc2md -i data.xlsx -o output.md # 转换 PowerPoint 演示文稿输出到文件 paddleocr doc2md -i slides.pptx -o output.md两条使用规则-i/--input是必填参数支持.docx、.xlsx、.pptx三种格式。不指定-o/--output时转换结果直接打印到终端stdout不落盘paddleocr doc2md -i report.docx不确定某个文件是否受支持时可以先用--formats查看当前支持的文件扩展名列表该参数会列出格式后直接退出无需提供-ipaddleocr doc2md --formats3. 验证转换结果指定-o后成功的判定方式很直接输出目录中生成指定的 Markdown 文件如output.md文档中的图片自动保存到输出文件同目录的images/文件夹Markdown 中的图片引用路径会相应更新为相对路径默认会打印耗时、保存路径等提示信息加上-q/--quiet可静默这些信息适合放在脚本里。转换后打开 Markdown 文件可按以下预期核对各格式的输出特征摘自doc2md 文档Word内置 Heading 1–6 样式映射为#–######一、识别为 H2、一识别为 H3表格输出为 HTMLtable并保留rowspan/colspan合并结构OMML 公式转为 LaTeX行内$...$、显示$$...$$等宽字体段落自动识别为 fenced code block。Excel每个 sheet 输出为一个以## sheet名称开头的章节自动裁剪尾部空行空列浮动图片OneCellAnchor/TwoCellAnchor两种锚定会被提取。PowerPoint每张幻灯片内容以---分隔图表14 种类型转为 HTML table 输出演讲者备注附加在每张幻灯片内容末尾。4. 按格式调整输出内容命令行提供了一批格式专属参数默认值均为「提取全部」按需收紧即可。这些参数只作用于对应格式对其他格式无效参数适用格式作用--no-drawings.docx、.xlsx跳过文本框docx和 drawing 层数学公式xlsx的提取--no-headers-footers.docx不提取页眉和页脚内容--sheet-name.xlsx仅转换指定名称的 sheet不设置则转换全部 sheet--max-rows.xlsx限制每个 sheet 的最大转换行数用于控制大表格的输出长度典型用法示例# 只转换 Excel 中名为 Sheet1 的 sheet paddleocr doc2md -i data.xlsx -o output.md --sheet-name Sheet1 # Excel 输出太长每个 sheet 最多转换 100 行 paddleocr doc2md -i data.xlsx -o output.md --max-rows 100 # Word 文档不需要页眉页脚 paddleocr doc2md -i report.docx -o output.md --no-headers-footers5. 可选路径Python API 调用除命令行外也可以在脚本中通过convert函数调用。返回的ConvertResult包含四个字段markdown转换后的 Markdown 文本str、images图片字典key 为相对路径如images/image1.pngvalue 为图片字节、title文档标题可能为None、metadata元信息如格式类型、sheet 数量from paddleocr._doc2md import convert # 转换文档返回结果对象 result convert(report.docx) # 访问 Markdown 文本 print(result.markdown) # 查看提取的图片字典key 为相对路径value 为图片字节 print(list(result.images.keys())) # 查看文档标题 print(result.title) # 查看元信息格式、sheet 数等 print(result.metadata)指定output参数后Markdown 写入文件、图片自动保存到同目录images/下行为与命令行-o一致result convert(report.docx, outputoutput/report.md)格式专属的 kwargs 参数与命令行参数一一对应extract_drawingsdocx/xlsx默认True、extract_headers_footersdocx默认True、sheet_namexlsx默认None表示转换全部 sheet、max_rowsxlsx默认None# Word不提取文本框和页眉页脚 result convert(report.docx, extract_drawingsFalse, extract_headers_footersFalse) # Excel仅转换名为 Sheet1 的 sheet最多 100 行 result convert(data.xlsx, sheet_nameSheet1, max_rows100)6. 常见问题与边界转换时报ValueError格式不支持运行paddleocr doc2md --formats查看当前支持的扩展名。doc2md 仅支持.docx、.xlsx、.pptx不支持.doc旧版 Word、.csv、.pdf等格式。转换时报RuntimeError: xxx is required说明缺少对应格式的解析库按提示安装对应包python-docx/python-pptx/openpyxl/pylatexenc或直接pip install paddleocr[doc2md]装齐全部依赖。Excel 转换后输出太长用--max-rows限制每个 sheet 的行数见第 4 节示例。最后注意适用边界doc2md 面向「有原始 Office 文件」的场景不做任何 OCR 模型推理如果你的输入是图片或扫描件doc2md 无法处理需要使用 PaddleOCR 的 OCR 产线。更多参数细节可参考文档转 Markdown 使用教程。【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考