许昌市网站建设_网站建设公司_Ruby_seo优化
2025/12/18 20:54:47 网站建设 项目流程

1. 概述

word2markdown是一款优秀的 Word 转 Markdown 工具。随着人工智能技术的普及,将 Word 文档转换为 Markdown 格式供 AI 分析已成为常见需求。然而,现有工具(如 pandoc 等)在转换效果上往往不尽如人意。

为此,作者开发了这款基于 Python 的 Word 转 Markdown 工具,它能够智能识别 Word 文档中的各种格式元素(标题、加粗、列表、代码块、表格、图片、超链接等),并准确转换为对应的 Markdown 语法。经过实际测试,本工具在转换准确性和格式保持方面表现优异。

项目网址:word2markdown

如果觉得不错记得给项目标个星哦!

2. 运行环境

  • python 3.11
  • python_docx==0.8.11

3. 参考资料

  • python-docx官方文档
  • Python顺序读取word文档中的文本与表格
  • kmrambo/Python-docx-Reading-paragraphs-tables-and-images-in-document-order-
  • Python使用标准库zipfile+re提取docx文档中超链接文本和链接地址
  • Python如何提取docx中的超链接
  • 第105天:Python操作Word
  • python-docx处理word文档
  • 使用python-docx在MSWord中添加超链接
  • python-docx设置表格填充底色以及切分单元格(仅使用python-docx)

4. 转换原理

  • 根据 Word 标题判断是否为标题
  • 根据 Word 文字是否加粗进行加粗
  • 根据 Word “项目符号/编号” 判断是否为列表
  • 根据 Word 文字是否倾斜判断是否为行代码
  • 根据 Word 1x1 的表格判断是否为块代码
  • Word 中非 1x1 的表格判定为普通表格,可以转换为 Markdown 表格
  • 可以处理 Word 文档中的图片
  • 可以处理 Word 文档中的超链接
  • 只能处理 docx 文档,不能处理 doc 文档

5. Word 文档格式要求

  • 行代码用倾斜字体表示
  • 块代码必须放在 1x1 的表格中
  • 1x1 的表格判定为块代码,其它大小的表格判定为普通表格
  • 图片必须是单独的段落
  • “项目符号/编号” 必须用样式集中的 “List Paragraph” 标识,否则会识别为正文文本

6. 使用工具

test_file/input/linux-manual.docx是一篇用于测试的 Word 文档。

test_file/output/linux-manual.md是转换后预期得到的 Markdown 文档。

test_file/output/linux-manual.imgs是转换后从 Word 中提取的图片的存放路径。

pip 安装依赖:

python3.11 -m pipinstall-r requirements.txt

运行转换命令,测试转换效果:

python3.11 main.py test_file/input/linux-manual.docx

转换生成的 Markdown 文档和图片会存放在test_file/input/目录下。

使用你转换生成的 Markdown 文档和预期得到的 Markdown 文档对比,二者除了图片链接外,内容应该是一样的。

因为转换工具每次从 Word 中提取图片时,会动态生成 UUID 作为图片名字,因此每次运行得到的图片名字是不一样的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询