将 Word(.docx)及其他文档格式转换为 Markdown。主要面向 .docx 文件,支持完整的图片提取、内联格式保留及文档结构还原。同时通过 markitdown 回退机制,支持 PDF、PPTX、XLSX、HTML、CSV、JSON 和 XML 格式。
DOCX 到 Markdown 并带有图像
功能概述
DOCX 到 Markdown 并带有图像是一项面向实际任务的技能,主要用于将 Word (. docx) 文档转换为 Markdown , 并带有正确的图像提取、 内置格式保存和相对路径引用;另外, 也支持其它文档。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
DOCX 转 Markdown(含图片支持)
将 Word(.docx)文档转换为 Markdown,支持图片正确提取、内联格式保留以及相对路径引用。同时通过回退机制支持其他文档格式。
适用场景
- 用户要求将 .docx 文件转换为 .md / markdown 格式
- 用户希望保留文档中的图片
- 用户需要高保真转换,包括标题、表格、列表及各类格式化内容
前提条件
- pandoc(主用方案,必需用于高质量 .docx 转换并提取图片)
- python 及
python-docx包(当 pandoc 不可用时的回退方案) - uvx markitdown(用于其他格式的回退方案:PDF、PPTX、XLSX、HTML、CSV、JSON、XML)
脚本说明
所有脚本均位于相对于本技能文件的 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) |
DOCX 转换工作流
步骤 1:检查 pandoc 是否已安装
pandoc --version
步骤 1b:若缺失则自动安装 pandoc
若未找到 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”
步骤 2:使用 pandoc 提取图片并完成转换
# 创建 img 目录 mkdir -p ./img # 执行转换并提取媒体文件 pandoc input.docx --extract-media="./img" -o output.md -f docx -t gfm
步骤 3:整理提取的图片并修正路径
运行内置脚本 —— 该脚本可同时完成目录扁平化与路径修正:
py scripts/fix_images.py output.md
该脚本执行以下操作:
- 将
./img/media/目录结构扁平化为./img/ - 将 HTML 格式的
标签转换为标准 Markdown 格式 - 将绝对路径替换为相对路径
- 移除图片周围的冗余
标签及 style 属性
步骤 4:验证结果
# 应仅显示 ./img/ 开头的路径 grep -oP '' output.md # 应返回 0(表示无残留的标签) grep -c '
![]()
回退方案:python-docx(当 pandoc 不可用时)
当 pandoc 无法安装时,可使用内置的 python-docx 脚本:
py scripts/docx_to_md.py input.docx output.md该脚本支持:
- 标题层级(Heading 1/2/3 →
#/##/###) - 通过 run 检测实现粗体/斜体等内联格式
- 通过
w:numPrXML 元素支持嵌套列表 - 表格 → Markdown 表格格式
- 自动跳过 TOC 条目(样式为
toc 1、toc 2等)
真实场景转换经验总结:
uvx markitdown在 Windows 上可能因onnxruntimeDLL 加载失败而报错python-docx稳定可靠,但不支持图片提取;如需保留图片,请务必使用 pandoc
其他格式转换(markitdown 回退方案)
对于非 .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
└── ...
注意事项
- 强烈推荐使用 pandoc 进行 .docx 转换 —— 它对标题、表格、列表、代码块及各类格式的支持远优于手工解析的 python-docx 方案
- .emf 格式(Windows 图元文件)在多数 Markdown 查看器中不受支持;如有需要,建议转换为 PNG 格式
- 图片文件名沿用 Word 内部命名规则(如 image1.png、image2.png 等)
- 始终使用
gfm(GitHub Flavored Markdown)作为输出格式,以获得最佳兼容性 - 在 Windows 上,请通过
py script.py运行 Python 脚本,而非直接在 PowerShell 中内联执行(避免转义问题) - python-docx 回退方案支持:标题层级、粗体/斜体格式、嵌套列表、表格,并自动跳过 TOC 条目
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
最新文章
