讲师中心 微信公众号
AI工具推荐 视频效率加速

docx-to-md-with-images

Polar Sponsor
爱发电 赞助
.NET 9.0

将 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

该脚本执行以下操作:

  1. 将 ./img/media/ 目录结构扁平化为 ./img/
  2. 将 HTML 格式的 标签转换为标准 Markdown 格式 ![](./img/...)
  3. 将绝对路径替换为相对路径
  4. 移除图片周围的冗余

    标签及 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:numPr XML 元素支持嵌套列表
  • 表格 → Markdown 表格格式
  • 自动跳过 TOC 条目(样式为 toc 1、toc 2 等)

真实场景转换经验总结:

  • uvx markitdown 在 Windows 上可能因 onnxruntime DLL 加载失败而报错
  • 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工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

0

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn