1. 概述

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

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

项目网址:word2markdown

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

2. 运行环境

  • python 3.11
  • python_docx==0.8.11

3. 参考资料

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 pip install -r requirements.txt

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

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

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

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

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐