← 返回
未分类

markdown转word

Markdown 与 Word 双向转换,支持合并单元格(rowspan/colspan)、Mermaid 图表渲染、代码高亮、中文排版优化
Markdown 与 Word 双向转换,支持合并单元格(rowspan/colspan)、Mermaid 图表渲染、代码高亮、中文排版优化
acmwork
未分类 community v2.0.0 5 版本 99747.5 Key: 无需
★ 0
Stars
📥 395
下载
💾 38
安装
5
版本
#latest

概述

md2docx — Markdown ↔ Word 双向转换

支持 .md.docx 之间的双向转换,自动识别文件类型。

用法

# Markdown → Word
python md2docx.py input.md output.docx

# Word → Markdown
python md2docx.py input.docx output.md

脚本根据文件扩展名自动判断转换方向。

功能

MD → DOCX

  • 中文排版:全文微软雅黑,正文 10.5pt,表格 9pt
  • 动态标题字号:自动检测标题层级,末级 12.5pt,每升一级 +2pt
  • Mermaid 图表:自动渲染为 PNG 嵌入文档,动态检测系统 Chrome/Edge
  • 代码块:灰色背景 + 四边框 + Consolas 等宽字体
  • 行内格式粗体斜体、` 代码 链接`
  • 表格:表头灰底,支持 HTML 转义
  • HTML 表格:支持合并单元格(rowspan/colspan),虚拟网格算法还原
  • 引用块 / 分割线 / 图片 / HTML 块

DOCX → MD

  • 完整结构提取:标题、段落、列表、表格全部保留
  • 合并单元格:HTML 直接嵌入 MD(绕过 MD 不支持合并的限制)
  • 图片提取:内联图片转为 MD 图片引用
  • Mermaid 图表:代码块原样保留
  • 合并单元格方案

    Markdown 表格语法不支持 rowspan / colspan,本工具采用 HTML 嵌入方案

    DOCX → MD:mammoth 转 HTML → HTML <table> 嵌入 .md
    MD → DOCX:解析 HTML <table> → 虚拟网格算法 → cell.merge() 还原
    

    MD 文件中嵌入的 HTML 表格能被主流 Markdown 渲染器正确显示,反向还原时也能精确恢复合并结构。

    依赖

    Python 3.8+

    pip install python-docx pygments pillow mammoth beautifulsoup4
    
    必须用途
    ---------
    python-docx生成/解析 Word 文档
    mammothDOCX → HTML 转换(保留合并单元格)
    beautifulsoup4HTML 表格解析
    pygments代码块语法高亮(缺失时回退纯文本)
    pillowMermaid 图片自动缩放(缺失时用默认宽度)

    Node.js(Mermaid 渲染,可选)

    如需 MD→DOCX 时渲染 Mermaid 图表:

    cd <skill目录>
    npm install
    

    安装后 node_modules/.bin/mmdc.cmd 会被自动调用。

    浏览器配置:脚本会自动检测系统已安装的 Chrome / Edge / Chromium,无需手动下载。若系统无浏览器,Mermaid 以文字占位符代替。

    若不需要 Mermaid 支持,可跳过 npm install

    个性化配置

    md2docx.py 顶部修改常量:

    FONT_NAME         = '微软雅黑'  # 全文字体
    BODY_FONT_SIZE    = 10.5        # 正文字号
    TABLE_FONT_SIZE   = 9           # 表格字号
    MIN_HEADING_SIZE  = 12.5        # 最末级标题字号
    HEADING_SIZE_STEP = 2           # 每升一级递增字号
    

    文件结构

    md2docx/
    ├── md2docx.py        # 主转换脚本(双向)
    ├── code_block.py     # 代码块样式渲染
    ├── SKILL.md          # Skill 描述(本文件)
    ├── README.md         # 详细文档
    └── package.json      # Node.js 依赖(Mermaid CLI)
    

版本历史

共 5 个版本

  • v2.0.0 **md2docx v2.0 更新说明** **重大更新:新增双向转换 + 合并单元格支持** 1. **双向互转**:现在支持 MD↔DOCX 双向转换,脚本自动根据文件扩展名识别方向 - `python md2docx.py input.md output.docx` — Markdown 转 Word - `python md2docx.py input.docx output.md` — Word 转 Markdown 2. **合并单元格(rowspan/colspan)**:采用 HTML 嵌入方案解决 Markdown 不支持合并单元格的限制 - DOCX→MD:mammoth 提取 HTML 表格(保留 rowspan/colspan),直接嵌入 .md 文件 - MD→DOCX:解析 HTML 表格 → 虚拟网格算法 → cell.merge() 精确还原合并结构 - 已通过 25×10 复杂表格验证,37 个 rowspan + 2 个 colspan 全部正确还原 3. **新增依赖**:`mammoth`、`beautifulsoup4`(用于 DOCX→MD 转换) 4. **DOCX→MD 功能**: - 完整结构提取(标题、段落、列表、表格) - 图片提取(内联图片转为 MD 引用) - Mermaid 图表代码块原样保留 当前
    2026-06-04 17:50 安全 安全
  • v1.0.3 本次更新核心增强了图片资源管理能力: ✅ ImageManager 图片管理器 - 支持网络 URL、绝对路径、相对路径三种引用方式 ✅ 智能路径解析 - 自动识别并下载网络图片,本地图片三级查找 ✅ 性能优化 - 两阶段处理机制,避免重复下载 ✅ 错误处理 - 图片缺失时显示友好提示,不影响文档生成 ✅ 临时文件管理 - 自动清理,无残留 适用于需要处理大量外部图片引用的场景,特别是从网络文章、技术博客转换为 Word 文档的工作流。(省流:解决了markdown中有图片引用时无法转word里的问题)
    2026-05-25 14:04 安全 安全
  • v1.0.2 CHANGELOG.md · Markdown md2docx 更新说明 版本变更:本地渲染版 → 在线渲染版 为什么改 旧版本依赖 @mermaid-js/mermaid-cli + Puppeteer + Chrome,导致 node_modules 体积超过 200MB,无法直接打包发布。本次优化彻底去掉 Node.js 依赖,改为调用在线服务渲染 Mermaid 图表。 改了什么 项目 旧版本 新版本 Mermaid 渲染 本地 mmdc + Puppeteer Kroki.io 在线 POST API 依赖 Python + Node.js + Chrome 仅 Python 体积 > 200MB(含 node_modules) ~38 KB(纯脚本) 安装 pip install + npm install pip install 即可 离线可用 是 否(需联网渲染图表) 技术细节 旧方案的问题 mermaid-cli 依赖 Puppeteer,Puppeteer 又依赖 Chromium,一层层下来体积爆炸 Windows 下还要处理 .cmd 脚本路径、Chrome 可执行文件检测等兼容逻辑 首次使用需要下载 Chrome,耗时且不稳定 新方案 调用 https://kroki.io/ 的公开 POST API 请求体直接传 Mermaid 源码,响应即为 PNG 图片 无 URL 长度限制,复杂图表也能正常渲染 失败时自动降级为文字占位符,不中断整个转换流程 依赖清单 pip install python-docx pillow pygments 包 必须 用途 python-docx 是 生成 Word 文档 pillow 否 Mermaid 图片自动缩放(缺失时用默认宽度) pygments 否 代码块语法高亮(缺失时回退纯文本) 文件结构 md2docx/ ├── md2docx.py # 主转换脚本(33.9 KB) ├── code_block.py # 代码块样式渲染(3.1 KB) ├── SKILL.md # Skill 描述 └── CHANGELOG.md # 本文件 已知问题 需联网才能渲染 Mermaid 图表,离线环境下图表会以文字占位符形式呈现 本地图片引用(如 ![alt](./image.png))需确保路径正确,否则显示"图片不存在" 若 Kroki.io 服务不可用,Mermaid 图表同样会降级为文字占位符 双版本策略 本项目维护两个版本: 在线版(本目录):D:\工作\工成商通\AIprojects\skills\md2docx\ — 轻量,适合发布 本地版:C:\Users\acmwo\.qoderwork\skills\md2docx\ — 保留完整本地渲染能力,适合离线使用 更新日期:2026-05-21
    2026-05-21 17:08 安全 安全
  • v1.0.1 将本地依赖库改为云端调用。
    2026-05-21 16:16 安全 安全
  • v1.0.0 Initial release
    2026-04-02 10:14 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

office-efficiency

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 453 📥 150,772
office-efficiency

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 924 📥 186,389
office-efficiency

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 376 📥 143,393