将 Word(.docx)及其他文档格式转换为 Markdown。主要面向 .docx 文件,支持完整的图片提取、内联格式保留及文档结构还原。同时通过 markitdown 回退机制,支持 PDF、PPTX、XLSX、HTML、CSV、JSON 和 XML 格式。
DOCX 到 Markdown 并带有图像是一项面向实际任务的技能,主要用于将 Word (. docx) 文档转换为 Markdown , 并带有正确的图像提取、 内置格式保存和相对路径引用;另外, 也支持其它文档。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将 Word(.docx)文档转换为 Markdown,支持图片正确提取、内联格式保留以及相对路径引用。同时通过回退机制支持其他文档格式。
python-docx 包(当 pandoc 不可用时的回退方案)所有脚本均位于相对于本技能文件的 scripts/ 目录下。请始终使用这些脚本,切勿编写内联代码。
| 脚本 | 用途 |
|---|---|
scripts/install_pandoc.py |
在 Windows/macOS/Linux 上自动安装 pandoc |
scripts/fix_images.py |
将 img/media/ 目录扁平化至 img/,并修复 Markdown 中的图片路径 |
scripts/docx_to_md.py |
基于 python-docx 的 .docx → .md 回退转换器(无需 pandoc) |
pandoc --version
若未找到 pandoc,请运行安装脚本,并向用户显示显著提示信息:
py scripts/install_pandoc.py
安装完成后,请验证:
pandoc --version
重要提示:成功安装 pandoc 后,必须明确告知用户:
“pandoc 已自动安装。您可能需要重启终端以使 PATH 更改生效。如果执行
pandoc --version仍失败,请重启终端后重试。”
若自动安装失败,请显示以下消息:
“无法自动安装 pandoc,请手动安装:
- Windows:从 https://github.com/jgm/pandoc/releases/latest 下载安装包
- macOS:
brew install pandoc- Linux:
sudo apt install pandoc”
# 创建 img 目录 mkdir -p ./img # 执行转换并提取媒体文件 pandoc input.docx --extract-media="./img" -o output.md -f docx -t gfm
运行内置脚本 —— 该脚本可同时完成目录扁平化与路径修正:
py scripts/fix_images.py output.md
该脚本执行以下操作:
./img/media/ 目录结构扁平化为 ./img/![]()
标签转换为标准 Markdown 格式  标签及 style 属性# 应仅显示 ./img/ 开头的路径 grep -oP '' output.md # 应返回 0(表示无残留的标签) grep -c '
![]()
回退方案:python-docx(当 pandoc 不可用时)
当 pandoc 无法安装时,可使用内置的 python-docx 脚本:
py scripts/docx_to_md.py input.docx output.md该脚本支持:
#/##/###)w:numPr XML 元素支持嵌套列表toc 1、toc 2 等)真实场景转换经验总结:
uvx markitdown 在 Windows 上可能因 onnxruntime DLL 加载失败而报错python-docx 稳定可靠,但不支持图片提取;如需保留图片,请务必使用 pandoc对于非 .docx 格式,在可用时优先使用 uvx markitdown:
# PDF uvx markitdown input.pdf -o output.md # PowerPoint uvx markitdown input.pptx -o output.md # Excel uvx markitdown input.xlsx -o output.md # HTML、CSV、JSON、XML uvx markitdown input.html -o output.md uvx markitdown input.csv -o output.md # 使用文件类型提示(适用于 stdin 输入) cat document | uvx markitdown -x .pdf > output.md # 对复杂 PDF 使用 Azure Document Intelligence uvx markitdown scan.pdf -d -e "https://your-resource.cognitiveservices.azure.com/"
注意:markitdown 在部分 Windows 系统上可能因 onnxruntime DLL 问题而失败。此时请改用格式专用替代方案(例如:PPTX 使用 python-pptx,XLSX 使用 openpyxl)。
project/
├── input.docx # 源文档
├── output.md # 转换后的 Markdown 文件
└── img/ # 提取的图片(仅 pandoc 方案生成)
├── image1.png
├── image2.jpeg
└── ...
gfm(GitHub Flavored Markdown)作为输出格式,以获得最佳兼容性py script.py 运行 Python 脚本,而非直接在 PowerShell 中内联执行(避免转义问题)相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习